Я использую SLES 11.4, и у меня возникают проблемы, когда пользователи пытаются использовать smbpasswd
. Если я делаю это как root smbpasswd
для учетной записи пользователя, то это работает. После smbpasswd
настройки сервер Samba работает нормально, и пользователи могут получить или не получить доступ ко всему, к чему должны. При включении ведения журнала на уровне 10, записывая конкретно в /var/log/samba.log
, я обнаружил следующее:
gid_to_sid: winbind failed to find a sid for gid 100
LEGACY: gid 100 -> sid S-1-22-2-100
Forcing Primary Group to 'Domain Users' for ron
Этот файл журнала создается для выполнения следующих действий в командной строке, когда я вошел в систему как обычный пользователь Linux. Он заканчивается тем, что выглядит как успех, но smbpasswd не изменяется.
ron/Desktop> smbpasswd
Old SMB password:
New SMB password:
Retype new SMB password:
cli_negprot: SMB signing is mandatory and the server doesn't support it.
machine 127.0.0.1 rejected the negotiate protocol. Error was : NT_STATUS_ACCESS_DENIED.
Password changed for user ron
ron/Desktop>
кто-нибудь знает, в чем проблема и как ее исправить? Я пытаюсь запустить сервер samba как можно проще, с одной общей папкой и всеми паролями samba, сделанными локально.
решение1
так что, похоже, если вы тестируете, как не-root пользователь при использовании smbpasswd вы должны использовать пароль длиной 5 символов или больше. Когда я использовал 4, это не удалось, но 5 или больше сработало. Как root вы можете smbpasswd <username>
успешно использовать любую длину символов. так что помните об этом.
Мой файл /etc/samba/smb.conf выглядит следующим образом, и он исправил проблему, в частности, похоже, что server signing = auto
это obey pam restrictions
не оказывает никакого влияния, я проверил, изменив все требования к паролям (см. рисунок ниже) много раз и перезапустив smb и nmb, и, похоже, все это работает благодаряserver signing = auto
[global]
workgroup = abc.com
passdb backend = tdbsam
map to guest = Bad User
usershare allow guests = No
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain master = No
security = user
wins support = No
log file = /var/log/samba.log
log level = 10
# client signing = auto
server signing = auto {need this to allow users to use smbpasswd successfully}
# obey pam restrictions = Yes
# pam password change = Yes