6

У меня гость CentOS 5 VirtualBox на хосте Win7x64. Я пытаюсь настроить общий ресурс для чтения / записи, принадлежащий root с моим хостом Windows, используя Samba, но мне не повезло после бега по кругу. Для упрощения я отключил свой брандмауэр (/etc/init.d/iptables stop). Поскольку безопасность и разрешения не имеют значения для этой цели, я бы предпочел не устанавливать другого пользователя / группу / пароль Unix.

Вот выход из testparm

Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[Guest Share]"
Loaded services file OK.
Server role: ROLE_STANDALONE

и источник /etc/samba/smb.conf:

[global]
        workgroup = WRKGRP
        netbios name = SMBSERVER
        security = SHARE
        load printers = No

[Guest Share]
        comment = Guest access share
        path = /root/src
        read only = No
        guest ok = Yes

Запуск /etc/init.d/smb restart показывает состояние OK. Однако на моем хосте Windows я могу видеть только общую папку на гостевой \\IPv4 , но не могу перейти в "Гостевой общий ресурс":Windows Explore

Сообщение об ошибке "Имя сети не найдено" является распространенной ошибкой с вероятной причиной:

Пользователь, с которым вы пытаетесь получить доступ к общему ресурсу, не имеет достаточных разрешений для доступа к пути к общему ресурсу. И чтение (r), и доступ (x) должны быть возможны.

Пытаюсь ли я использовать root в качестве гостя Samba без пароля? Я хотел бы, это возможно? Как настроить Samba для совместного использования (чтения / записи) любой папки с правами root?

5 ответов5

4

Я могу сделать это. Для сравнения, вот запись одной из моих акций:

[Music] ; user="jlacroix"
force user = jlacroix
path = /home/jlacroix/Music
writable = no
public = yes

Обязательно замените "jlacroix" на имя пользователя, которое вы используете. Это должно заставить его использовать этого пользователя, несмотря на то, что пользователь фактически использует файл. Так что вам может потребоваться изменить "jlacroix" на root. Однако я не советую делиться этим способом, потому что вы должны быть осторожны с тем, что может получить доступ к корневым разрешающим файлам.

0

1. сделать гостевой аккаунт как никто

guest account = nobody

2. никого не создавайте как администратор samba

admin users = nobody

3. возможно, smbd нужно запустить от имени пользователя root

смотрите также

man 5 smb.conf https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html#ADMINUSERS

0

Вы можете достичь этого в два этапа (в зависимости от текущей конфигурации):

  1. Отредактируйте свой файл конфигурации Samba:

    vi /etc/samba/smb.conf

  2. Измените следующее:

    [Guest Share]
       comment = Guest access share
       path = /root/src
       browsable = yes
       writable = yes
       read only = no
       public = yes
       create mask = 0644
       directory mask = 0755
    

Замечания:

Вы не упомянули версию Samba, которую вы используете, но для объяснения:

writeable = yes - псевдоним только для read only = no используется в Samba 3.

Этот псевдоним был удален в Samba 4.


Связанное чтение для этой темы:

Основной файл конфигурации Samba с примерами

Страницы руководства для Samba от www.samba.org

0

Звучит достаточно просто.

Просто измените разрешения для вашей папки, чтобы отразить требования чтения / записи. В вашем случае, поскольку папка будет принадлежать пользователю root, вам нужно дать "другим" разрешение rw.

Chmod 776 Гость Поделиться

Это дает root полный rwx, а всем остальным rwx.

Лучшим подходом было бы создать группу для пользователей сети и изменить группу в вашей общей папке с корневой на ту, которую вы только что создали.

И последнее замечание: я думаю, вам могут понадобиться разрешения на выполнение для любой папки, которую вы хотите просмотреть. Возможно, у вас есть права доступа rw внутри самой папки, но для фактического получения разрешения на выполнение может потребоваться настройка. Экспериментируйте с этим также.

0

Вы проверяли SELinux?

Если вывод getenforce не является разрешающим или отключенным, вы должны применить контексты к своей папке. Существует также логическое значение, которое вы можете установить, чтобы обойти это, я нашел этот вопрос, пытаясь Google, что это было.

Вы можете отладить, чтобы убедиться, что это SELinux, с помощью команды: setenforce 0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .