Ubuntu 22.04下Samba共享持续提示Permission denied问题求助
解决Ubuntu 22.04中Samba共享Permission denied问题的排查思路
问题背景
在Ubuntu 22.04系统中创建了名为fivem-prod的Samba共享,访问时始终提示Permission denied,无法正常使用。
关键信息
Samba日志
[2023/07/20 11:31:53.762349, 0] ../../source3/smbd/service.c:168(chdir_current_service) chdir_current_service: vfs_ChDir(/home/nlrp/fivem) failed: Permission denied. Current token: uid=1002, gid=1002, 2 groups: 1002 1003
Samba共享配置
[fivem-prod] comment = Samba FiveM-prod path = /home/nlrp/fivem read only = no writable = yes browseable = yes guest ok = no valid users = @smb_hozzaferes create mask = 0775 directory mask = 0775
smb_hozzaferes组信息
root@gameserver:/home/nlrp# getent group smb_hozzaferes smb_hozzaferes:x:1003:spici_smb,smoker_smb
目录权限
drwxrwsr-x+ 5 nlrp smb_hozzaferes 4096 Jul 12 18:52 /home/nlrp/fivem
root@gameserver:/home/nlrp# namei -om /home/nlrp/fivem f: /home/nlrp/fivem drwxr-xr-x root root / drwxr-xr-x root root home drwxr-x--- nlrp nlrp nlrp drwxrwsr-x nlrp smb_hozzaferes fivem
注:
spici_smb用户已设置smbpasswd
排查思路
- 核心权限问题定位:从
namei输出可见,/home/nlrp目录权限为drwxr-x---,仅所有者nlrp和所属组nlrp有访问权限。而访问Samba的用户spici_smb(uid=1002)不属于nlrp组,无法进入父目录/home/nlrp,自然无法访问子目录fivem。 - 调整父目录权限:
- 快速方案:给
/home/nlrp添加组执行权限,允许其他组用户进入目录:chmod g+x /home/nlrp - 精准方案:仅允许
smb_hozzaferes组访问该目录:setfacl -m g:smb_hozzaferes:x /home/nlrp
- 快速方案:给
- 验证用户组归属:确认
spici_smb确实在smb_hozzaferes组中:
确保输出包含id spici_smb1003(smb_hozzaferes)。 - 检查AppArmor限制:Ubuntu默认启用AppArmor,可能限制Samba访问用户目录。可临时关闭测试:
若恢复正常,需修改AppArmor规则允许Samba访问systemctl stop apparmor/home/nlrp/fivem。 - 重启Samba服务:修改权限或配置后,重启服务使设置生效:
systemctl restart smbd nmbd
内容的提问来源于stack exchange,提问作者Spici
相关产品推荐
相关产品推荐

