centos8服务器创建新用户并指定该用户只能打开某个目录文件

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
但是这个我没有试过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值