从 WinXP PC 访问 Samba

从 WinXP PC 访问 Samba

我一直在尝试从我的 Windows PC 访问 Samba,但都失败了。所以我先从一个基本问题开始:

Samba 是否需要使用与 Windows PC 用户帐户相同的身份验证凭据?它们是否需要与 Linux 用户帐户相同?相同的用户名?相同的密码?

我们的 Windows PC 使用 Windows Server 2003 Active Directory LDAP 系统进行身份验证。当我\\MyLinuxServer从 Windows 导航到 时,我可以看到共享,当我尝试导航到共享时,系统会提示我输入密码。我输入通过 设置的用户名和密码,sudo smbpasswd但失败了。失败后,它会返回 Windows 域和密码前的反斜杠。

问题:

  1. 我是否需要在我的服务器上放置与 Windows 用户名匹配的 Unix 用户帐户?
  2. 我是否需要让服务器加入域,并以此方式进行身份验证?

老实说,我甚至都不在乎这个东西是否不使用密码。整个公司都可以看到它,但那又怎么样。我也没有让它工作。如果我设置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

天哪 :( :( :(

相关内容