Вопрос или проблема
Как мне настроить файл smb.conf моего сервера Linux Samba так, чтобы разрешить доступ для гостей Windows без запроса учетных данных от сервера?
Я пробовал следующий smb.conf. Он позволяет клиентам Windows получать доступ к общей папке и читать и записывать, как если бы они были root, за исключением того, что проводник Windows запрашивает у пользователя учетные данные. Это означает, что мне нужно ввести учетные данные и выбрать опцию их сохранения для пользователя root на машине Windows. Я бы предпочел, чтобы доступ разрешался без запроса учетных данных, как я смог настроить это в TrueNAS.
Это частная, закрытая сеть. Я был бы признателен, если кто-то сможет взглянуть на эту настройку smb.conf и сказать мне, что я делаю не так в том, что я пытаюсь сделать. Я хотел бы, чтобы любой в подсети сети мог получить доступ к общей папке smb без учетных данных, но при этом все сохраненные файлы были бы назначены владельцу:группе root/root.
root@samba:~# cat /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
guest account = nobody
allow insecure wide links = yes
security = user
[ztank]
follow symlinks = yes
path = /mnt/ztank
read only = no
guest ok = yes
wide links = yes
browseable = yes
writeable = yes
create mask = 777
directory mask = 777
force user = root
force group = root
Включите глобальную опцию map to guest
, обычно установив ее на bad password
. Это позволит аутентификации SMB происходить в специальном режиме “гостя” без учетных данных.
Вот сокращенная версия smb.conf
, которая может обеспечить доступ без пароля:
[global]
workgroup = MyWorkGroup
server string = Hello, use me
security = user
map to guest = Bad User
guest account = <account-owning-folder>
passdb backend = tdbsam
[the_public_share]
path = /mysmbshare
writable = yes
printable = no
public = yes
Ответ или решение
Конфигурация сервера Samba для обеспечения доступа гостей Windows без запроса учетных данных требует корректных настроек в файле smb.conf
. В данном ответе я подробно объясню, как добиться этого, и укажу на ключевые параметры, которые необходимо настроить.
Конфигурация файла smb.conf для доступа гостей
Для того чтобы настроить Samba для разрешения доступа к общим папкам без ввода учетных данных, выполните следующие шаги:
-
Откройте файл конфигурации Samba:
sudo nano /etc/samba/smb.conf
-
Настройте параметры глобального уровня:
В секции
[global]
вам нужно добавить или изменить несколько параметров:[global] workgroup = WORKGROUP ; Убедитесь, что рабочая группа соответствует настройкам Windows server string = Samba Server ; Описание сервера security = user ; Режим безопасности map to guest = Bad User ; Преобразование неудачных пользователей в учетные записи гостей guest account = nobody ; Учетная запись для гостей
Параметр
map to guest = Bad User
позволяет Samba автоматически преобразовывать пользователей с неверными учетными данными в гостей, что предотвращает появление запроса на ввод пароля. -
Настройте общие ресурсы (доступные для гостей):
Добавьте секцию для вашего ресурса, например
[ztank]
, чтобы настроить доступ:[ztank] path = /mnt/ztank ; Путь к вашей общей папке browsable = yes ; Папка отображается в сети writable = yes ; Разрешение на запись guest ok = yes ; Разрешение на доступ для гостей create mask = 0777 ; Маска для создания файлов directory mask = 0777 ; Маска для создания директорий force user = root ; Принуждение к пользователю root force group = root ; Принуждение к группе root
-
Проблема с безопасностью:
Убедитесь, что папка
/mnt/ztank
настроена с соответствующими правами доступа:sudo chown root:root /mnt/ztank sudo chmod 0777 /mnt/ztank
Это позволит владельцу и группе root управлять содержимым каталога, сохранив при этом доступ для гостей.
-
Перезапуск службы Samba:
После изменений в конфигурации необходимо перезапустить Samba для применения новых настроек:
sudo systemctl restart smbd sudo systemctl restart nmbd
Проверка работы
- Попробуйте подключиться к общей папке с вашего Windows-устройства, используя адрес
\\<IP_адрес_Сервера>\ztank
. - Важно, чтобы ваша сеть была настроена правильно, и все устройства могли обнаруживать друг друга.
Если вы выполните все вышеперечисленные шаги, ваш сервер Samba должен позволить доступ к ресурсам для всех гостей без запроса учетных данных. Это упростит доступ пользователей к нужным папкам в закрытой сети.
Заключение
Конфигурация Samba для доступа гостей без пароля может показаться сложной, но при соблюдении ключевых настроек это можно успешно реализовать. Убедитесь, что безопасность вашей сети сохраняется, так как открытый доступ может привести к нежелательным последствиям.