如何使用Restricted Shell来限制用户对Linux系统的访问

您让用户登录到您的Linux系统。这些用户可能没有sudo权限,但是他们很可能可以自由地查看系统目录树的大部分内容。你不会想要的。为什么?尽管这些用户可能无法编辑您的大部分配置文件,但您肯定不希望这些用户查看它们。对于您的客户端数据也是如此——您希望锁定它。

但是,如何防止用户访问您的目录层次结构,而不必调整系统上每个文件和文件夹的权限(这可能会使事情严重复杂化)?

参见:Windows 10安全:商界领袖指南(TechRepublic Premium)

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

使用cd命令

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

执行包含/的程序

重定向输出使用祝辞,| & lt;在,,,,,祝辞,和在祝辞

在脚本中摆脱受限制的模式

关闭限制模式

正在运行的Linux实例

具有sudo特权的用户

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

然后你需要用以下命令给新用户一个密码:

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

现在,我们将为新用户创建一个目录,其中将包含用户可以运行的惟一命令。例如,我们希望允许用户发出命令mkdir、ls和ssh。首先,让我们用命令创建目录:

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

现在我们需要确保新用户不能修改他们的.profile文件。在我们实际更改.profile的权限和所有权之前,您需要作为该用户登录,这样文件就创建好了。登录后,以具有sudo特权的用户身份重新登录。

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

使用vega账号登录服务器,发出命令:

应该通知您,您不能使用cd命令(图A)。

图一个

cd命令没有骰子。

您可以尝试任何命令,但只有mkdir、ls和ssh适合于vega用户。

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

通过及时了解最新的网络安全新闻、解决方案和最佳实践,加强组织的IT安全防御。星期二和星期四送货

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。