我目前有一个 SMB/CIFS 网络共享,已将其安装在 /var/inbound 下以通过 SFTP 接收文件。这是我的 /etc/fstab 中的内容:
//somename.file.core.windows.net/inbound /var/inbound cifs vers=3.0,username=somename,password=AccessKeyThatEndsWith==,dir_mode=0777,file_mode=0777
现在我想让我的用户被监禁在 /var/inbound// 中,他们会将文件上传到 /var/inbound//uploads 。
如果 /var/inbound/ 只是我的 Linux 文件系统中的另一个目录(我测试过),那么一切都会按预期工作。当 /var/inbound/ 实际上是我的 SMB/CIFS 网络共享的挂载时,问题就开始了。用户根本无法使用 SFTP 客户端(如 FileZilla)进行连接。
这一切都与 chown 和 chmod 权限设置有关,基本上我需要能够执行以下操作:
sudo chown testuser:sftponly /var/inbound/testuser/uploads
sudo chmod ug+rwX /var/inbound/testuser/uploads
上面的内容与 Linux 文件系统完美配合,但(根据设计)它不适用于 SMB/CIFS 文件共享 - 这就是我遇到错误的原因。我知道我可以做一些映射以获得所需的结果,但我不知道如何做到这一点。
答案1
如果您在 fstab 条目末尾添加更多选项,它应该更接近您想要的:
,uid=testuser,gid=sftponly