一、前言
二、受限策略
三、配置过程

一、前言

自带功能只能创建简单的受限用户,如果想要创建更灵活更复杂的受限用户,可以参考我的另一篇文件,Linux下用lshell创建受限用户

二、受限策略

1、让用户只能执行我们允许执行的命令
2、用户不能切换目录

三、配置过程

在Linux系统中,如果bash以rbash为程序名启动或者命令行带上-r选项,则启动的这个shell会在某些功能上受限制。
因为这个特性,我们就可以创建用户时,让用户使用这个shell来登录,从而限制用户只能执行我们允许它执行的命令。

3.1 创建一个bash链接
# ln -s /bin/bash /bin/rbash

3.2 创建一个以rbash登录的用户bing
# useradd -s /bin/rbash bing

设置密码
# passwd bing

3.3 创建命令目录
在用户bing家目录下创建一个.bin目录,用于存放允许执行的命令文件
# mkdir /home/bing/.bin

提高bing家目录下环境文件的权限,防止用户修改
# chown root:root /home/bing/.bash_profile /home/bing/.bashrc
# chmod 644 /home/bing/.bash_profile /home/bing/.bashrc

3.4 修改环境变量
修改环境变量,去掉原有的$PATH环境,只要保留.bin环境变量即可
# vim /home/user1/.bash_profile
export PATH=$HOME/.bin

注意这里,一定要去掉前面$PATH,这样就不能使用其它命令了。
通过这样设置后,只能使用家目录下的.bin中的命令了.

3.5 添加可用命令
把希望bing用户能执行的命令,做个软链接到bing家目录中的.bin中。
# ln -s /bin/cat /home/bing/.bin/cat

设置完成后,用户一登录,只能在/home/bing目录中,不能切换到其它目录,而且只能执行.bin中我们设定的命令。

总结:
这个Linux自带受限功能,基本上可以满足一些特定的场景。
但还是功能有限,只能尽可能的通过控制能执行的命令来限制用户的操作。

如果想要创建更灵活更复杂的受限用户,可以参考我的另一篇文件,Linux下用lshell创建受限用户