本文写于 2015年。
sftp依赖ssh,是最常用的文件传输方法。

新建用户

useradd sftpuser

修改密码

passwd sftpuser

关闭SSH登录

vim /etc/passwd
修改sftpuser账户的shell为/bin/false

修改SSH配置文件

vim etc/ssh/sshd_config
修改配置
Subsystem sftp internal-sftp
UsePAM yes
Match user sftpuser
ForceCommand internal-sftp
ChrootDirectory /home/sftpuser

重启SSH服务

service sshd restart

说明

1.sftpuser通过SFTP登录后,访问目录将会被限制在/home/sftpuser.

2.sftpuser通过SFTP登录后,写入文件时,会提示访问文件夹无权限的解决方法。

  • 在服务器上利用root账户,将/home/sftpuser权限变更为777。
  • sftpuser账户SFTP创建文件夹temp。
  • 将原目录权限修改回755(如果不修改会导致sftpuser登录失败)。
  • 后续sftpuser远程在temp文件夹内,可实现所有操作。