SFTP 受限目录中 Samba 共享绑定挂载的权限

SFTP 受限目录中 Samba 共享绑定挂载的权限

我在同一台机器上运行 SFTP 和 Samba 服务器。为了在本地网络中更方便地访问 SFTP,它也应该可以从那里访问。为此,我将其绑定到现有的 Samba 共享中(sudo mount --bind /home/sftp_user/share/ /path/to/samba/share/sftp-share/ )。

我像这样监禁了 SFTP 目录:

sudo chown root:root /home/sftp_user
sudo chmod 0755 /home/sftp_user

sudo mkdir /home/sftp_user/share
sudo chown root:sftponly /home/sftp_user/share
sudo chmod 0755 /home/sftp_user/share

一些限制:

  • 我无法将 Samba 用户添加到该sftponly组,因为这样ssh就不再起作用了(该用户同时具有sshSamba 访问权限)

  • SFTP 身份验证与密钥文件配合使用;ssh使用 2fa(密码 + OTP)进行身份验证 -> 此身份验证方法应保持如下状态

  • 将所有者更改share为 Samba 用户部分有效:我可以通过 SFTP 和 Samba 添加文件,但 SFTP 用户(显然)不能从 Samba 用户中删除文件

      sudo chown samba_user:sftponly /home/sftp_user/share
    

唯一似乎有效的选择是将权限设置得相当广泛:

sudo chown root:sftponly /home/sftp_user/share        # Stays the same
sudo chmod 0777 /home/sftp_user/share

这引发了一些安全担忧。

一般情况下,每个用户都可以访问(读取和写入)/home/sftp_user/share(通过 Samba 或 SFTP)。这个工作示例是可行的方法吗,还是有更好的(安全但不太复杂的)解决方案(ACL 可能是一种选择,但我认为在这种情况下这会有点过头了)。

答案1

仅供参考,我刚刚遇到了这样一种情况,当使用绑定挂载而不是普通挂载时,Samba 突然停止对我的用户进行身份验证。因为这是一个遗留的噩梦,我也在用 18.04.x - 这可能是绑定挂载的问题。

相关内容