我希望建立一个可由特定用户组通过 SFTP 写入的公共目录。这组用户应该只能访问此目录,并且只能通过 SFTP 访问。
我已经使用以下 sshd 配置成功设置了此设置:
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /mnt/filebucket
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
PasswordAuthentication yes # temporary for testing
我的用户是该组的一部分sftponly
,他们可以登录并成功 chroot 到该目录中。
但问题是我想在此 /mnt/filebucket 目录中挂载 S3 存储桶(使用 s3fs)。一旦我挂载它,目录的权限就会从drwxr-xr-x 2 root root
(sshd 批准 chroot)更改为drwxrwxrwx 1 root root
(sshd 确实)不是批准)。
我安装此目录的方式是否导致此问题?
答案1
如果我将 ChrootDirectory 设置为 /mnt,一切都会按预期工作,但用户需要在登录后(cd|单击)进入额外的 filebucket 目录。这可以自动化吗?
是的,您可以使用-d
切换到internal-sftp
,这将为用户指定起始目录。