我无法访问另一台 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
因此,如果您对拥有写权限不感兴趣,请使用它。