我想设置一个服务器,让用户能够使用 SFTP 下载我们放置在其用户文件夹中的文件并删除它们。但不能离开他们的文件夹。我能够让它工作,但它有一个意想不到的问题,导致服务器上的常规用户不再能够将文件上传到服务器。
我要求用户使用密码和 SSH key 登录。
我采用的设置是:
addgroup --system sftponly
vim /etc/ssh/sshd_config
AuthenticationMethods publickey,password
PubkeyAuthentication yes
PasswordAuthentication yes
Subsystem sftp internal-sftp -P write
Match Group sftponly
ChrootDirectory /home/%u
ForceCommand internal-sftp -P write
X11Forwarding no
AllowTcpForwarding no
When Adding a User:
usermod -G sftponly $username
chown root:root /home/$username
chmod 755 /home/$username
mkdir /home/$username/ftp
chown $username:$username /home/$username/ftp
然后我会将他们的用户文件放入 FTP 文件夹中。他们能够读取和删除自己的文件。
如何使普通用户(不属于 sftponly 组)能够上传文件?
最佳答案
保持匹配组不变。编辑“子系统”行。
由此: 子系统 sftp 内部 sftp -P 写入
对此: 子系统 sftp 内部 sftp
关于ssh - SFTP 仅读取/删除访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57698899/