![无法访问公共 Samba 共享:权限被拒绝](https://linux22.com/image/950899/%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%E5%85%AC%E5%85%B1%20Samba%20%E5%85%B1%E4%BA%AB%EF%BC%9A%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D.png)
我无法让公共 Samba 共享正常工作。这真的让我很头疼。我试图拥有一个私有共享,它使用特定用户的密码进行身份验证(这部分工作正常)和一个公共共享,我的网络中的每个人都可以访问和写入。但我无法挂载它。我没有收到密码提示,但也无法访问它。我在这里做错了什么?
testparm
给出以下输出:
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
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
server role = standalone server
server string = %h server (Samba, Ubuntu)
unix extensions = No
unix password sync = Yes
usershare allow guests = Yes
idmap config * : backend = tdb
[Nas]
create mask = 0600
directory mask = 0700
path = /mnt/nas/nas
read only = No
valid users = myuser
wide links = Yes
[Home]
create mask = 0777
guest ok = Yes
path = /mnt/nas/share
read only = No
在 Linux 中我尝试以下命令来访问共享:
sudo mount -v -t cifs -o guest //my.nas.server/home /mnt/share/
但它失败了,因为
安装错误(13):权限被拒绝
使用 Windows 也没有运气。
更新:
输出:
ls -al /mnt/nas
drwxrwx--- 5 myuser myuser 4096 Sep 13 2021 ./
drwxr-xr-x 3 root root 4096 Jun 9 2022 ../
drwxrwx--- 16 myuser myuser 4096 Jan 23 15:58 nas/
drwxrwxrwx 3 nobody nogroup 4096 Jan 23 16:52 share/
答案1
Linux 文件系统是分层的。如果你在通往某个对象的路径上设置路障,它将阻止任何人访问该对象。
在您的服务器上,/mnt 文件夹允许所有人通过,但您的 /mnt/nas 文件夹仅允许“myuser”通过,因此只有该用户可以访问 /mnt/nas/share 文件夹。
2 个可能的选择:
更改/mnt/nas的权限:
sudo chmod o+x /mnt/nas
或者更改 [Home] 的共享定义以使您的来宾用户显示为“myuser”:
[Home]
create mask = 0777
guest ok = Yes
path = /mnt/nas/share
read only = No
force user = myuser
然后重新启动smbd:
sudo service smbd restart
您可能无论如何都想这样做,因为如果来宾用户 (nobody) 将文件添加到共享,则该文件将归“nobody”所有,而“myuser”将无法对其进行任何操作。使用“force user = myuser”,添加的所有文件将归“myuser”所有。