Иногда возникают такие ситуации, что необходимо предоставить пользователям общие папки, при этом закрыв некоторые расшаренные папки паролем.
По умолчанию в последних версиях SAMBA
security mode bit стоит в значении
user. Это соответсвует строки конфига smb.conf
security = user. Это значит, что сервер не будет обрабатывать входящие запросы до тех пор, пока пользователь не авторизуется. А нам требуется как раз таки вход в папку без ввода логина и пароля.
Данная проблема имеет решение. Для этого нам надо будет настроить параметр
Map to guest в значение
Bad User (строка конфига
"Map to guest = Bad User"). Это значит, что запросы с неправильным паролем будут отклонены, если такое имя пользователя существует. Если не существует, то такие запросы будут считаться как попытки зайти гостем (guest account).
Поскольку в Windows и Linux имена гостей различаются, надо настроить оображение между ними. Для этого необходимо в файл "smbusers" записать строку
"nobody = guest" и в конфиге SAMBA в в секции
"global" дописать строку
"username map = /etc/samba/smbusers", которая, собственно, и указывает на файл с отображениями.
После этого в нужной нам секции достаточно будет указать
"guest ok = yes".
Следует также учитывать, что этот метод не работает с опцией
"valid users".
Итого у нас были произведены изменения в 2х файлах:
smbusers
nobody = guest
smb.conf
[global]
...
security = user
Map to guest = Bad User
username map = /etc/samba/smbusers
...
[testshare]
...
guest ok = yes
...
По материалам:
Samba and guest shares with "security = user"
Описание параметра Map to guest
Описание параметра security