Linux下搭建 SFTP

来源:互联网 发布:心动网络校招 编辑:程序博客网 时间:2024/06/05 21:57
增加一个sftp用户组
[root@sftp ~]# groupadd sftpusers

创建一个用户分配给sftp用户
[root@sftp ~]# useradd -g sftpusers sftp

修改用户家目录及指定不能登录shell
[root@sftp  ~]# mkdir /sftp/
[root@sftp ~]# usermod -s /sbin/nologin -d /data/sftp -m sftp

给用户创建密码
[root@sftp ~]# passwd sftp


修改ssh的配置文件

[root@sftp  ~]# vim /etc/ssh/sshd_config
 
#Subsystem      sftp    /usr/libexec/openssh/sftp-server    #注释
Subsystem       sftp    internal-sftp        #修改为internal-sftp
 
#add this lines at the end of file
Match Group sftpusers        #指定一下参数仅适用的用户组sftpusers,(也可以指定单个用户User)
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory %h       #设置chroot将用户锁在家目录,%h=家目录               
    ForceCommand internal-sftp    #该参数强制执行内部sftp

重启ssh服务
[root@sftp ~]# /etc/init.d/sshd restart 
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]


设置用户家目录权限

[root@sftp ~]# chmod 0755 /data/sftp   #权限不能大于0755,否则用户无法登陆等问题

[root@sftp ~]# chown root /data/sftp    
[root@sftp ~]# chgrp -R sftpusers /data/sftp

#因为用户家目录属主是root,并且权限最大0755,所以没法写,我的解决方法是在在家目录建立一个空文件夹,作为上传目录,并把属主给sftp即可。
[root@sftp ~]# mkdir /data/sftp/upload

[root@sftp~]# chown sftp:sftpusers /data/sftp/upload/



原创粉丝点击