Я настроил samba следующим образом (это полная smb.conf
):
[global]
log file = /var/log/samba/log
log level = 2
security = user
[homes]
browsable = false
read only = no
valid users = %S
Я хотел бы разрешить каждому пользователю на сервере доступ к своим домашним каталогам, но по неизвестной причине только моя учетная запись администратора может сделать это. (Я делал это раньше с помощью ftp, но теперь нужен и smb).
Когда я пытаюсь smbclient -L localhost -U [user]
, я получаю NT_STATUS_LOGON_FAILURE
, кроме как с администратором (который является пользователем, созданным во время установки Ubuntu, не root).
В файле журнала самбы написано NT_STATUS_NO_SUCH_USER
:
[2012/04/04 20:26:02.081454, 2] smbd/reply.c:554(reply_special)
netbios connect: name1=LOCALHOST 0x20 name2=DIALER-X 0x0
[2012/04/04 20:26:02.081733, 2] smbd/reply.c:565(reply_special)
netbios connect: local=localhost remote=dialer-x, name type = 0
[2012/04/04 20:26:02.087200, 2] auth/auth.c:314(check_ntlm_password)
check_ntlm_password: Authentication for user [public] -> [public] FAILED with error NT_STATUS_NO_SUCH_USER
Я подозреваю, что мне нужно вручную создавать пользователей samba, но страницы руководства утверждают, что If the client has passed a username/password pair and that username/password pair is validated by the UNIX system's password programs, the connection is made as that username.
Для меня это звучит так же долго, как и при условии, что имя пользователя / пароль является действительным логином на сервере, он должен работать.
<час>
11,10
Вам нужно будет вручную добавить своих пользователей и пароли в базу данных пользователей samba с помощью команды smbpasswd
.
Невозможно использовать локальные учетные записи пользователей, поскольку Samba и стандартный механизм паролей в Ubuntu хранят только хэш паролей, а не сами пароли. Используемые ими хэши несовместимы, поэтому невозможно импортировать хэши паролей из одной базы данных в другую.
Есть несколько вещей, которые вы можете сделать для автоматического обновления паролей в обеих базах данных одновременно, когда пользователь меняет свой пароль, например, с помощью pam_smbpass
.