
Ubuntu Linux 22.04.2
Samba версии 4.15.13-Ubuntu
Я использую стандартную установку Samba в Ubuntu.
Я добавил это в/etc/samba/smb.conf
[www]
просмотр = да
печать = нет
комментариев = корневой веб-каталог
режим создания = 0644
режим каталога = 0775
путь = /var/www/html
запись = да
допустимые пользователи = @www-data
Также в настройках активна эта строка:
синхронизация паролей unix = Да
После этого я перезапустил Samba, как и было рекомендовано.
systemctl status smbd
ошибок не показывает. Samba естьактивный (работает)
Ранее я уже добавлялся в группу www-data.
Теперь я попытался подключиться к сетевому ресурсу (\\<HOST>\www) из Windows с моими учетными данными Linux. Но не могу. Подключение отклонено.
/var/www/html принадлежит www-data
ls -la /var/www/html
drwxrwxr-x 3 www-data www-data 4096 Apr 24 20:44 .
drwxr-xr-x 3 root root 4096 Apr 21 10:37 ..
Что я делаю не так? Может, я упускаю какие-то настройки в Samba, которые не являются настройками по умолчанию?
Я могу получить доступ к хосту из Windows, и брандмауэр не активирован.
решение1
Хорошо. Я понял, что мне нужно использовать smbpasswd, чтобы каким-то образом добавить пользователя в собственную базу данных Samba.
sudo smbpasswd -a <user>
Но почему он не синхронизируется с учетными данными Linux, как указаносинхронизация паролей unix = Да
Я не понимаю.
решение2
Это потому, что Samba должна синхронизировать *Nix, а не наоборот, поэтому вы должны использовать smbpasswd для изменения пользователя с поддержкой Samba. Внутри Samba знает, что нужно также изменить пароль *Nix и сделать это.
Есть пара опций, которые можно настроить для использования пользовательской программы для синхронизации между ними, Samba и *Nix.
passwd program = /bin/another_program %u
passwd chat = *old*password* %o\n *new*password* %n\n *new*password* %n\n *changed*