centos7下新建一个用户并限制访问目录

落爺英雄遲暮 提交于 2020-12-21 17:31:27

使用root账号在centos下新建一个普通用户,并限制它的访问目录,只能访问特定目录.

例如使用nginx发布静态的网站时需要上传静态文件,可以创建一个普通用户用来传文件:

1、 新建用户组

groupadd webgroup
mkdir /usr/local/nginx/html   //让特定用户访问/usr/local/nginx/html 有就不用创建了

2、新建用户并将用户添加到分组当中

//-d宿主目录  -g 用户(webdeployer)分到哪个组(webgroup) 
useradd -d /usr/local/nginx/html -g webgroup webdeployer

3、给刚新建的用户(webdeployer)设置密码

passwd webdeployer

接下来输入需要设置的密码

4、看下用户是否设置成功了

groups webdeployer

5、使用root账号 修改 sshd_config, 限制 ssh 用户访问指定目录

vim /etc/ssh/sshd_config

在打开的文件最后加入以下内容:

Match group visitors
ChrootDirectory /usr/local/nginx/html
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

这就是给 webgroup 分组用户设置访问权限,只给他们通过 sftp 访问 /usr/local/nginx/html 的权限,不能直接通过 ssh 登录服务器

5、记得把

Subsystem sftp /usr/libexec/openssh/sftp-server

改成 

Subsystem sftp internal-sftp

最后把 AddressFamil/inet 注释掉,没有就不管了

6、 重启 sshd 服务

systemctl restart sshd

7. 给目录配置权限
chmod -R 777 /usr/local/nginx/html
不然用户webdeployer 无权限访问!
8. 测试登录
用刚创建的用户webdeployer 通过 sftp 登录,登录后用户目录就是:/usr/local/nginx/html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!