增加一个sftp用户组
[root@sftp ~]# groupadd sftpusers
创建一个用户分配给sftpusers组
[root@sftp ~]# useradd -g sftpusers sftp
修改用户家目录及指定不能登录shell
[root@sftp ~]# mkdir /data/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 ~]# chgrp -R sftpusers /data/sftp
#因为用户家目录属主是root,并且权限最大0755,所以没法写,我的解决方法是在在家目录建立一个空文件夹,作为上传目录,并把属主给sftp即可。
[root@sftp ~]# mkdir /data/sftp/upload
[root@sftp ~]# groupadd sftpusers
创建一个用户分配给sftpusers组
[root@sftp ~]# useradd -g sftpusers sftp
修改用户家目录及指定不能登录shell
[root@sftp ~]# mkdir /data/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/