ssh -V
来查看openssh的版本
需求:sftp组,用户mysftp,该用户不能使用ssh,且sftp登录后只能在自己的主目录下操作,不能访问其他目录
1、创建sftp组
groupadd sftp
2、创建一个sftp用户,名为mysftp
useradd -g sftp -s /bin/false mysftp
passwd mysftp
3、新建一个mysftp目录,然后指定mysftp的home为/www/mysftp
mkdir -p /www/mysftp
usermod -d /www/mysftp mysftp
4、配置sshd_config
vim /etc/ssh/sshd_config
找到如下这行,并注释掉
Subsystem sftp /usr/libexec/openssh/sftp-server
#添加如下几行
#这行指定使用sftp服务使用系统自带的internal-sftp
Subsystem sftp internal-sftp
#这行用来匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割
#Match Group sftp
#当然,也可以匹配用户
Match User mysftp
#用chroot将用户的根目录指定到/www/mysftp,这样用户就只能在/data/sftp/%u下活动
ChrootDirectory /www/mysftp
#指定sftp命令
ForceCommand internal-sftp#这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no
X11Forwarding no
5、设定Chroot目录权限(/www/mysftp目录权限一定是root)
chown root:root /www/mysftp
chmod 755 /www/mysftp
6、创建用户可以操作的目录upload
mkdir /www/mysftp/upload
chown mysftp:sftp /www/mysftp/upload
chmod 755 /www/mysftp/upload
7、重启sshd服务
service sshd restart
service sshd status
查看有哪些用户
cat /etc/passwd
查看用户在哪个组
groups mysftp
转载:https://www.cnblogs.com/wooya/p/9392142.html
以上操作已经试验过,可以实现。
还有觉得这个也是可以的:https://www.cnblogs.com/lhlucky/p/lucklyftp.html
但是这个我没有试过。