+
95
-

linux centos如何限制用户执行某些特定命令?

linux centos如何限制用户执行某些特定命令?比如不想让用户执行rm命令

网友回复

+
15
-

可以使用Restricted Shell。

Restricted Shell用于限制用户对Linux系统的访问。一旦将用户置于受限 shell 模式,他们就只能执行有限的命令集。 我在 CentOS 7 最小服务器上测试了本指南。但是,它适用于大多数类 Unix 发行版。 什么是Restricted Shell?

首先,让我澄清一下 Restricted Shell 到底是什么。它不像 Bash、Korn Shell 等那样是一个单独的 shell。如果您使用“rbash”、“--restricted”、“-r”选项启动任何现有的 shell,那么它将成为受限 shell。例如,Bourne shell 可以作为受限 shell 使用命令bsh -r启动,Korn shell 使用命令ksh -r启动。 Restricted Shell 将限制用户执行大多数命令和更改当前工作目录。Restricted Shell 将对用户施加以下限制: 它不会让你执行cd命令。所以你哪儿也去不了。您可以简单地留在当前工作目录中。

它不允许您修改 $PATH、$SHELL、$BASH_ENV或$ENV环境变量的值。

它不允许您执行包含 /(斜杠)字符的程序。例如,您不能运行/usr/bin/uname或./uname命令。但是,您可以执行 uname 命令。换句话说,您只能在当前路径中运行命令。

您不能使用 ' 重定向输出>', '>|', '<>', '>&', '&>', 和 '>>' 重定向运算符。

它不允许您在脚本中退出受限的 shell 模式。

它不允许您使用'set...

点击查看剩余70%

+
15
-

还可以先把系统的常用命令所在目录设置成只有root组用户才可以执行。然后把特定用户所需要使用的命令拷贝到该用户的家目录的bin目录中,再把这些命令的所有者改成该用户。
+
15
-

如果是限制rm命令的使用,可以使用chattr 来防止文件被删除或修改,命令如下:

chattr +i /etc/resolv.conf

Linux chattr命令用于改变文件属性。

这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: a:让文件或目录仅供附加用途。

b:不更新文件或目录的最后存取时间。

c...

点击查看剩余70%

我知道答案,我要回答