CIFS 根权限问题

CIFS 根权限问题

我无法访问另一台 Linux 机器的根目录。在我的 fstab 中,我有两个与该机器相关的条目

//ltotto/root   /mnt/ltroot     cifs    auto,users,credentials=/home/otto/.smbcredentials,uid=otto,gid=otto,file_mode=0770,dir_mode=0770,iocharset=utf8 0 0
//ltotto/otto   /mnt/ltotto     cifs    auto,users,credentials=/home/otto/.smbcredentials,uid=otto,gid=otto,file_mode=0770,dir_mode=0770,iocharset=utf8 0 0

即两者都位于具有相同凭据的同一台机器上。另一台机器上有两个 Samba 共享“root”和“otto”,分别用于“/”和“/home/otto”,两者都对用户 otto 具有写入权限。

两个都挂载成功,没有错误,并且 'otto' 挂载工作正常。但是 'root' 挂载有问题

ls -la /mnt/ltroot/
ls: /mnt/ltroot/var: Permission denied
ls: /mnt/ltroot/lib64: Permission denied
ls: /mnt/ltroot/cdrom: Permission denied
[etc] 

我不明白为什么主挂载没问题,而根挂载却不行。有人能解释并提出解决方案吗?

注意:我确信这个配置直到最近都运行良好。

编辑:远程机器的 Samba 配置:

[root]
    comment = file system root
    path = /
    writeable = yes
;   browseable = yes
    valid users = otto

[otto]
    path = /home/otto
    writeable = yes
;   browseable = yes
    valid users = otto
    comment = otto's Home

答案1

关注此帖:

我想在 Samba 中共享我的“/”。如何使其在 Windows 网络中可编辑?

默认情况下,您的 Samba 用户不会拥有对文件系统根目录的写访问权限。最简单的方法是强制用户。(Samba 用户将使用本地用户的权限访问共享。)确保您指定的用户拥有所有权和/或适当的文件系统权限。为了便于使用,我的示例中使用了 root。

[root$]
path = /
create mask = 0755
force user = root
browsable = yes

另外,请注意某些默认的 samba 配置包含此行:

invalid users = root

如果你真的想访问远程系统根文件夹,你应该删除它,出于安全原因,我个人不建议这样做。我更建议使用 SSH 或甚至使用舞男(SSHFS)。

编辑

我可以使用此共享配置访问(只读)另一台计算机的根文件夹:

[Root]
   comment = Root
   path = /
   guest ok = no
   browseable = yes
   public = yes

因此,如果您对拥有写权限不感兴趣,请使用它。

相关内容