本文共 960 字,大约阅读时间需要 3 分钟。
我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。
创建新用户www,禁止ssh登录,不创建家目录
[root@local ~]# useradd -s /sbin/nologin -M www[root@local ~]# passwd www更改用户 www 的密码 。新的 密码:passwd:所有的身份验证令牌已经成功更新。
创建用户的根目录,用户就只能在此目录下活动
mkdir /var/www
设置目录权限,目录的权限设定有两个要点:
目录开始一直往上到系统根目录为止的目录拥有者都只能是root 目录开始一直往上到系统根目录为止都不可以具有群组写入权限[root@local ~]# chown root:root /var/www[root@local ~]# chmod 755 /var/www
如果是777,www用户就可以新建文件夹。如果是755,www用户就不可以新建文件夹。
配置sshd_config
vim /etc/ssh/sshd_config
修改一下内容
# Subsystem sftp /usr/libexec/openssh/sftp-serverSubsystem sftp internal-sftpMatch User wwwChrootDirectory /var/wwwForceCommand internal-sftpX11Forwarding noAllowTcpForwarding no
重启sshd服务
systemctl restart sshd.service
创建目录测试
[root@local ~]# mkdir /var/www/tpadmin[root@local ~]# chown www:www /var/www/tpadmin[root@local ~]# chmod 777 /var/www/tpadmin
本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/8243161.html,如需转载请自行联系原作者