迁移自简书,格式可能未经校对。
缘由:网上google出来的东西要么排版太丑要么啥都没有
安装
apt install vsftpd
限制目录
ftp
在 /etc/vsftpd.conf 里有个 local_root=/home/sftp_root。测试发现, 只对不加密的ftp有效。
sftp
要限制sftp的权限,都要通过限制ssh访问的方式。大概方法是:
- 
建立一个用来限制目录的组 sftp-users
 - 
建立一个专门用来登陆sftp的用户 sftpu1,并加入到上面的组里
 - 
在sshd里限制这个组的访问空间
 - 
建用户组
groupadd sftp-users - 
建用户并加到组里
useradd -g sftp-users -s /bin/false sftp - 
限制该组的活动空间
 
在 /etc/ssh/sshd_config 里追加以下内容
Match Group sftpuser
  ChrootDirectory /home/sftp_root
  ForceCommand internal-sftp 
  AllowTcpForwarding no 
  X11Forwarding no 
改完之后记得让ssh重读配置
sudo service sshd reload
但是,这样基本上要求你的ssh用户和sftp用户没法是同一个人了