我一直在尝试从我的 Windows PC 访问 Samba,但都失败了。所以我先从一个基本问题开始:
Samba 是否需要使用与 Windows PC 用户帐户相同的身份验证凭据?它们是否需要与 Linux 用户帐户相同?相同的用户名?相同的密码?
我们的 Windows PC 使用 Windows Server 2003 Active Directory LDAP 系统进行身份验证。当我\\MyLinuxServer
从 Windows 导航到 时,我可以看到共享,当我尝试导航到共享时,系统会提示我输入密码。我输入通过 设置的用户名和密码,sudo smbpasswd
但失败了。失败后,它会返回 Windows 域和密码前的反斜杠。
问题:
- 我是否需要在我的服务器上放置与 Windows 用户名匹配的 Unix 用户帐户?
- 我是否需要让服务器加入域,并以此方式进行身份验证?
老实说,我甚至都不在乎这个东西是否不使用密码。整个公司都可以看到它,但那又怎么样。我也没有让它工作。如果我设置security = share
,那么系统会提示我输入密码——没有用户名——然后失败。
如果我smbclient -L mylinuxserver
在服务器上运行,它会提示我输入密码,然后无论Connection to mylinuxserver failed (Error NT_STATUS_CONNECTION_REFUSED)
我输入什么密码都会失败。
netstat -a | grep netbios-ssn
显示为 LISTEN。
nmblookup -B mylinuxserver __SAMBA__
与此输出一起使用,包括正确的 IP 地址而不是 xxxx:
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
答案1
我必须在 Windows 密码提示中将 Linux 主机名指定为“域”。即mylinuxserver\mylinuxusername
天哪 :( :( :(