显示linux 添加用户名,我的博客 — linux添加用户名并限制指定路径

1.背景,作用、

系统:centos

新建一个sftp账户,只允许访问和操作对应的目录文件。其他文件夹则不显示。

2.创建用户

adduser test

3.给新建的用户设置密码

passwd test

4.禁止该用户登录 SSH

usermod -s /bin/false test

5.设置该用户的主目录

usermod -d /www/wwwroot/test/ test

这样用户登入的时候就会直接跳到该目录,但是用户还是可以访问其他目录,需要做一下限制。(注意这里的目录根据自己的需求选择,但是目录所属必须是root,下面会讲到。)

6.修改sshd_config

vim /etc/ssh/sshd_config

找到 Subsystem sftp 这一行,修改成Subsystem sftp internal-sftp

Match User test

ForceCommand internal-sftp

X11Forwarding no  #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

AllowTcpForwarding no  #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

ChrootDirectory /www/wwwroot/test

如果有多个用户需要做此操作的话,重复复制这段,将用户名和目录换成对应的就行,例如:

Subsystem sftp internal-sftp

Match User test

X11Forwarding no  #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

AllowTcpForwarding no  #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

ChrootDirectory /www/wwwroot/test

Match User test1

X11Forwarding no  #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

AllowTcpForwarding no  #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

ChrootDirectory /www/wwwroot/test1

ForceCommand internal-sftp

7.最后保存退出,重启sshd服务

service sshd restart

好了,到此该用户登入后只会限制在自己的主目录下,也看不到别的目录。

注意:用户登录后可能会发现以下问题:

1.显示一片空白,可能登入不上去,或者登上去但是没有目录显示。

因为ChrootDirectory设置的目录开始往上到系统根目录只能属于root用户。

ChrootDirectory设置的目录开始往上到系统根目录为止都不可以具有群组写入权限(最大权限 755)

所以/www/wwwroot/test/该目录往上所属都只能是root用户,这点需要注意一下。

2.用户不能做编辑上传等操作

这是因为当前用户并没有权限操作。

所以只需要在www/wwwroot/test/下新建一个新的目录供这个用户进行操作。mkdir /www/wwwroot/test

chown -R test:root /www/wwwroot/test

这样用户就可以在upload目录下进行操作了。

若遇到“跳过开始消息时出错。你的Shell可能与本程序不兼容(推荐使用Bash)。”改用sftp模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值