无法以同一台机器上的另一个用户身份访问 Samba 共享

无法以同一台机器上的另一个用户身份访问 Samba 共享

我正在运行一个装有 Ubuntu 22.04 的家庭服务器。设备 A、B 上有两个用户

我想要分享的目录是

/home/A/Pool/ShareA
/home/A/Pool/ShareB

现在,当我以用户 A 的身份从另一台机器(运行 Manjaro)访问共享时,一切正常。当我尝试以用户 B 的身份访问共享时,出现错误

sudo mount -t cifs //192.168.1.11/A-store /mnt/temp -o username=A,password=********
WORKS!
sudo mount -t cifs //192.168.1.11/B-store /mnt/temp -o username=B,password=********

mount error(13): Permission denied

我已将第二个用户添加到服务器(可以以 B 身份 ssh)并使用 smbpasswd。

我在网上搜索了好几个小时,但无济于事。这是我的 smb.conf

[global]
    server role = standalone server
    map to guest = Bad User
    usershare allow guests = yes
    hosts allow = 192.168.1.0/24
    hosts deny = 0.0.0.0/0

[A-store]
        comment = Backup
        path = /home/A/Pool/ShareA
        readonly = no
        guest ok = no
        browsable = yes
        writeable = yes
        valid users = A
        public = no

[B-store]
        comment = Backup for B
        path = /home/A/Pool/ShareB
        readonly = no
        guest ok = yes
        browsable = yes
        writeable = yes

/home/A/Pool 是 HDD 的挂载点。为什么我无法以用户 B 身份访问?

答案1

B 不适valid users用于B-storeguest ok但是,它适用于;您可以无需身份验证即可挂载它。但无论如何,对于目录它驻留在,/home/A/Pool/ShareB应该具有适当的文件系统权限没有人(或任何guest account设置为,但在您的配置中它似乎是默认的)。

适当的权限意味着用户可以横穿进入该目录,在 Linux 中,这是通过x为用户设置路径中每个父目录的至少一个模式来实现的,在本例中为/home,,,,并且至少为最终目录设置,以便用户能够读取目录的内容(列表)。/home/A/home/A/Poolr-x/home/A/Pool/ShareB

在用户 A 的主目录中为用户 B 设置目录可能不是一个好主意。最好将路径扁平化,并移动共享资源外部家庭。创建一个组来控制每组共享资源也很有用,将该组设为valid users(组以 @ 前缀添加),并将上面提到的共享目录权限分配给该组。然后,您可以将所有需要的用户添加到该组中,他们将拥有权限。有用的 samba 共享级别选项是force groupforce create mode/ force directory modeman smb.conf有关提到的所有参数的详细信息,请参阅。

相关内容