Я изо всех сил пытался сделать Samba доступным с моего ПК с Windows, но безуспешно. Итак, я начну с основного вопроса:
Нужно ли Samba использовать те же учетные данные для аутентификации, что и учетные записи пользователей ПК с Windows? Должны ли они быть такими же, как учетные записи пользователей Linux? Одинаковые имена пользователей? Одинаковые пароли?
Наши ПК с Windows проходят проверку подлинности с помощью системы LDAP Windows Server 2003 Active Directory. Когда я перейду к \\MyLinuxServer
в Windows я вижу общий ресурс, и когда я пытаюсь перейти к нему, мне предлагается ввести пароль. Я ввожу свое имя пользователя и пароль, которые я установил через sudo smbpasswd
, и это не удается. В случае сбоя он возвращается с доменом Windows и обратной косой чертой перед моим паролем.
Вопросы:
Честно говоря, меня даже не волнует, что эта штука даже не использует пароли на данный момент. Вся компания могла это видеть, но какого черта. У меня это тоже не работает. Если я установлю security = share
, то мне предлагается ввести пароль - без имени пользователя - и это не удается.
Если я сбегу smbclient -L mylinuxserver
на сервере он запрашивает мой пароль, а затем не выполняет Connection to mylinuxserver failed (Error NT_STATUS_CONNECTION_REFUSED)
независимо от того, что я ввожу для пароля.
netstat -a | grep netbios-ssn
показывает это как СЛУШАТЬ.
nmblookup -B mylinuxserver __SAMBA__
работает с этим выводом, включая правильный IP-адрес вместо x.x.x.x:
querying __SAMBA__ on 127.0.1.1
x.x.x.x __SAMBA__<00>
Вот результат testparm:
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[homes]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
server string = My Excellent Server
interfaces = eth0, lo
bind interfaces only = Yes
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
[homes]
comment = Home Directories
read only = No
create mask = 0664
directory mask = 0775
я думал testparm
вывод такой же, как smb.conf
. Видимо нет, вот smb.conf
$ cat /etc/samba/smb.conf | grep "^[^#;]"
[global]
workgroup = WORKGROUP
server string = Landscape Capital Server
dns proxy = no
interfaces = eth0 lo
bind interfaces only = yes
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0664
directory mask = 0775
Мне пришлось указать имя хоста Linux как «домен» в запросе пароля Windows. т.е. mylinuxserver\mylinuxusername
Печаль во благо :( :( :(