archlinux开启SFTP服务器

配置文件增加:
nano -w /etc/ssh/sshd_config
# SFTP users
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand internal-sftp

创建用户:
groupadd sftp
chown root.sftp /sftp
useradd melook -d /sftp/melook -s /sbin/nologin -g sftp
mkdir /sftp/melook/http
chown melook.sftp /sftp/melook/http
chmod -R 755 /sftp/melook/http

目录的权限设定有两个要点:
1、由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
2、由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限

所以遵循以上两个原则
1)我们将/sftp/melook的所有者设置为了root,所有组设置为sftp
2)我们将/sftp/melook的权限设置为755,所有者root有写入权限,而所有组sftp无写入权限

6、建立SFTP用户登入后可写入的目录
照上面设置后,在重启sshd服务后,用户mysftp已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为melook,所有组为sftp,所有者有写入权限,而所有组无写入权限

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在Linux分类目录。将固定链接加入收藏夹。