创建权力团体

创建权力团体

我想创建一个可以运行部分特权命令(但不是全部)的组。例如,高级用户可以访问主文件(从一个用户到另一个用户),但不应允许其运行 apt-get 命令。

我怎样才能做到这一点?

答案1

使用此sudoers机制,您可以为特定用户或组授予特定权限。
要编辑/etc/sudoers文件,您需要使用visudo

例如向用户提供或否定某些特定命令伊戈尔您可以添加行

 igor    ALL=(ALL) /bin/kill, /usr/bin/, !/usr/bin/apt-get

在此示例中,用户伊戈尔/usr/bin可以使用 sudo 执行命令中的所有命令/bin/kill,但不能执行/usr/bin/apt-get
命令的路径以逗号分隔,,并以!

给予或否定获得组的 root 访问权限,对于一组命令,您可以添加以下行

 %geeks ALL = (root) /usr/bin/,!/usr/bin/apt-get,!/usr/bin/aptitude,!/usr/bin/dpkg

在这种情况下,你将给予极客apt-get aptitude将 /usr/bin 中除和之外的所有命令的 root 访问权限分组dpkg

添加到群组极客用户伊戈尔 例如你可以写

# sudo usermod -a -G geeks igor

Linux 继承了 UNIX 的文件所有权和权限概念。这意味着即使没有 root 访问权限,属于同一组的用户也可以在他们之间共享文件,而不能与其他人共享。ls -l您会在左侧看到类似这样的字符串

-rw-r--r--   1  igor  geeks  1892  Jul 10  18:30 The_not_so_short.pdf

从左到右,该字符串表示-rwxrw-r--:(第一个位置)不是特殊文件或目录(有一个破折号-表示该属性关闭),rwx允许用户自己读写执行(3 个块中的第一个),允许rw-其所在组的用户读写不执行(3 个块中的第二个),允许r--其他用户读取、不写入、不执行(3 个块中的第三个)。可以切换每个文件或目录的每个属性。

为这个群体提供可能性仅改变目录无论权限如何,这都很难。它不存在可执行命令,cd因为每个命令都在子进程中执行,并且只能影响其当前工作目录,而不会影响父进程的工作目录。这里有更好的解释。因此,要更改目录,您需要提供以 root 身份执行的可能性shell,这意味着您实际上授予了完全权限……

参考文献及进一步阅读:

相关内容