怎么使用Restricted Shell来限制用户对Linux系统的访问

2023年3月21日02:26:38怎么使用Restricted Shell来限制用户对Linux系统的访问已关闭评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

怎么使用Restricted Shell来限制用户对Linux系统的访问

您有用户登录到Linux系统的服务器。这些用户可能没有sudo权限,但是他们很可能可以自由的查看系统目录中的大部分内容。虽然这些用户可能无法编辑绝大多数配置文件,但您依然不希望那些用户查看它们。对于您的客户端数据也是如此,您更希望锁定它。

如何防止用户访问您的目录层次结构,而不必调整系统上每个文件和文件夹的权限,因为这可能会导致一些意外的问题。

这里有一种方法是使用一种名为Restricted Bash (rbash)的工具。使用rbash可以防止用户:

1、使用cd命令

2、修改$ PATH,$ SHELL,$ BASH_ENV或$ ENV的值

3、执行包含/的程序

4、使用>,> |,<>,>&,&>和>>重定向输出

5、退出脚本内受限制的模式

6、关闭限制模式

一、演示准备工作:

正在运行的Linux实例

具有sudo特权的用户

二、如何创建测试用户

我们将在系统上创建一个测试用户vega。我们希望创建的用户的shell是rbash。这是通过命令完成的:

sudo useradd -m vega -s /bin/rbash

然后,您需要使用以下命令为新客户提供密码:

sudo passwd vega

出现提示时,键入并验证新客户的密码。

三、如何建立目录

现在,我们将为新客户创建一个目录,该目录将容纳允许该用户运行的唯一命令。例如,假设我们要允许用户发出命令mkdir,ls和ssh。首先,使用命令创建目录:

sudo mkdir /home/vega/bin

接下来,我们将为用户可以运行的命令(同样是mkdir,ls和ssh)创建指向新创建目录的链接。为此,发出命令:

sudo ln -s /bin/mkdir /home/vega/bin

sudo ln -s /bin/ls /home/vega/bin

sudo ln -s /bin/ssh /home/vega/bin

四、如何防止个人资料修改

现在,我们需要确保新客户无法修改.profile文件。在我们实际更改.profile的权限和所有权之前,您需要以该用户身份登录,以便创建文件。登录后,以具有sudo特权的用户身份注销并重新登录。

使用以下命令更改文件的所有权和权限:

sudo chown root. /home/vega/.profile

sudo chmod 755 /home/vega/.profile

五、测试一下

使用vega帐户登录到服务器并发出命令:

cd /

您应被告知您被限制使用cd命令(图A)。

您可以尝试使用任何您喜欢的命令,但只有mkdir,ls和ssh适用于vega用户。

这就是使用rbash在Linux系统上严格限制用户的方法。这是一种非常方便的方法,可以控制用户可以执行什么命令,以及如何在目录结构中移动。

注意:现在服务器报价出炉,价格很低

1、腾讯云:限时 2860 元无门槛优惠券点击一键领取

2、腾讯云最新优惠活动,3年/5年服务器限时抢购点击前往

3、阿里云:限时 2000 元无门槛优惠券点击一键领取