无法访问公共 Samba 共享:权限被拒绝

无法访问公共 Samba 共享:权限被拒绝

我无法让公共 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”所有。

相关内容