Samba服务器单个用户无法访问共享目录,其他用户正常的问题求助
嗨,我来帮你看看这个Samba用户访问的问题~你说主账号nacho能正常访问共享,但brother账号不行,而且已经用smbpasswd设置过密码了,testparm也显示配置加载没问题,那咱们一步步排查可能的原因:
- 先确认系统账号状态:首先得确保
brother这个系统用户是正常存在且未被锁定的。可以执行id brother查看用户的ID和所属组信息,再用passwd -S brother检查账号是否被锁定。如果账号状态异常,得先修复系统账号的问题。 - 验证Samba用户是否正确添加:虽然你用
smbpasswd设置了密码,但如果之前没通过smbpasswd -a brother添加过用户,可能Samba用户列表里没有这个账号。可以用pdbedit -L命令列出所有Samba用户,看看输出里有没有brother的条目。如果没有,重新执行smbpasswd -a brother添加并设置密码。 - 检查共享目录的系统权限:Samba权限再对,系统层面的文件权限也可能阻止访问。找到你共享的目录路径,用
ls -ld /path/to/your/share查看目录的权限设置,确保brother用户或者他所属的组有对应的读/写权限(比如至少有r-x权限才能访问目录)。 - 查看Samba日志找具体错误:Samba的日志文件在
/var/log/samba/log.%m(%m是访问的客户端主机名),你可以找到对应brother客户端的日志文件,看看里面有没有认证失败、权限拒绝这类具体的错误提示,这能帮你快速定位问题。 - 检查smb.conf的共享配置:你提供的
smb.conf内容不完整(到usershare allow guest就断了),要确认你设置的共享段里有没有限制用户的配置,比如valid users是不是只包含nacho,或者invalid users里有没有brother;另外也看看共享段的read only、browseable这类参数是否合理。
你提供的testparm输出和配置片段如下:
nacho@desk:~$ sudo testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Global parameters[global]
log file = /var/log/samba/log.%m
logging = file
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = Enter\snew\s\spassword:* %n\n Retype\snew\s\spassword:* %n\n password\supdated\ssuccessfully .
passwd program = /usr/bin/passwd %u
registry shares = Yes
server role = standalone server
unix password sync = Yes
usershare allow guest...
备注:内容来源于stack exchange,提问作者IMTheNachoMan




