我想设置具有特殊权限的 SFTP 服务器,但我不知道哪个程序是最好的,最重要的是,如何设置这个想法
我的想法:你通过安全 FTP 协议访问,并且你只能上传文件,不能下载、读取、覆盖、删除
这个想法可以实现吗?
谢谢你的时间。
答案1
首先,创建一个可供访问的目录user
。这里user
只是一个本地用户。将其替换为您想要的任何用户
sudo mkdir -p /var/sftp/files
将目录的所有权更改files
为 sftp 用户,以便user
可以对该目录进行读写。
sudo chown user:user/var/sftp/files
/var/sftp
将 的所有者和组所有者设置为root
。这将确保文件只能在一个目录中上传,files
而不能在父目录中上传。
sudo chown root:root /var/sftp
sudo chmod 755 /var/sftp
现在,编辑 SSH 配置文件
sudo nano /etc/ssh/sshd_config
将这些行附加到文件末尾
Match User user
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
替换user
上面的用户名。最后,保存配置并重启 SSH 服务
sudo systemctl restart ssh