您的位置:首页 > 运维架构 > Linux

Linux下搭建SFTP服务器

2015-12-29 16:07 591 查看
SFTP的好处不用多说,安全,简单,便于管理(尤其在防火墙端口设置方面)。
Linux下配置SFTP非常简单。

此例中要求:用户ftpuser可以上传数据至/media/data/shared/ftproot,不允许读取和修改上级目录的数据。不允许SSH登陆至服务器。

创建用户和组。指定用户的home目录为/media/data/shared,shell为/sbin/nologin, 隶属于sftp_users组,并为其创建密码。




创建目录,并修改权限:/media/data/shared/ftproot

注意:ftpuser的home目录的属主和属组改为root,并且权限为755。此时ftpuser用户不具有写入权限,也就不能上传数据,可以在该目录下创建一个可上传的目录,并修改它的属主和属组,使其具有写入权限。





ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755

修改配置文件。

vim /etc/ssh/sshd_config
UsePAM yes(确定该行没有被注释)
#Subsystem      sftp    /usr/libexec/openssh/sftp-server  #(注释掉这行)
Subsystem       sftp    internal-sftp  #(这行指定使用sftp服务使用系统自带的internal-sftp。)
Match Group     sftp_users  #(匹配sftp用户所属的组,也可用“Match User USERNAME”来匹配用户)
ChrootDirectory %h  #(非常重要!使用ChrootDirectory将用户锁定在自己的home目录中,使其不可浏览上级目录。并且该行一定要在“Match”语句下方!)


重启sshd.service。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sftp