我创建了一个带有 Jailed 文件夹的 SFTP 服务器。我想将这些文件夹移动到已安装的 NAS 存储上。我的问题是来自挂载的正确文件夹权限。Linux Box 与 Active Directory 连接,因此用户和组可以从那里获得。
文件夹结构应该如何:
Appdata <- root:root 755
Appdata/SFTPdata <- root:root 700
Appdata/SFTPData/%h <- root:root 755
Appdata/SFTPData/%h/upload <- user:usr-sftp 700
当我现在安装 NAS 存储时
mount -t cifs -o user=admin,gid=13371337,rw,forcegid,domain=DOMAIN.lan,iocharset=utf8,file_mode=0770,dir_mode=0770 //storage.DOMAIN.lan/SFTPTestUnix /Appdata/
作为 root,已安装驱动器中的所有文件夹现在都设置为 root:usr-sftp(gid 是 AD 组 usr-sftp)和 chmod 770(来自文件和 dir_mode)。
问题:我该如何解决这个问题。有一个更好的方法吗?我目前正在使用 cifs,nfs 更适合这个吗?
找到了这个问题的解决方案。CIFS(如使用 SMB 标准)无法转发本地 root 权限。NFS 是,只要你设置 no_root_squash。就我而言,我使用的是 NetApp,我可以激活 SuperUser 转发解决了我的问题。