如何分配用户root权限?

use*_*818 0 linux root profile bashrc

我的桌面上有 Suse Linux。所以我是 root 和“普通”用户。经常例如启动 tomcat 或安装/删除我应该使用的程序sudo或切换到超级用户。但是我在.bashrc, path in.profile等中定义了许多别名。

是否可以将超级用户的某些权限分配给普通用户?例如安装程序?

0xA*_*xAF 5

是的,但这是你能做的最糟糕的事情。您的操作系统中有不同的用户具有不同的权限。这是故意的。永久授予您的用户 root 权限将危及系统的安全。(还记得 Windows 9x 和所有病毒吗?)

sudo除非您执行/bin/sh(shell),否则执行命令不需要任何您的自定义内容我猜。

要实现您想要的,您可以执行以下操作:

您可以将您的东西从系统~/.bashrc~/.profile移到系统/etc/bash/bashrc/etc/profile,甚至更好地将它们放在单独的脚本中/etc/profile.d/mystuff.sh(不要忘记chmod +x /etc/profile.d/mystuff.sh)。这些文件将为每个登录会话执行。

然后使用 启动根会话su -,传递给的-(减号)符号su将执行登录会话,因此将执行上述文件。根据您的 Linux 发行版,您可能需要改为调用sudo su -

完成 root 会话后,最好logout保留并保留 root 权限。

如果您只需要特定二进制文件的 root 权限,还有另一种方法,称为有效 UID。例如,您可以将其用于mtr二进制:

chmod a+s `which mtr`
Run Code Online (Sandbox Code Playgroud)

这样,当您执行mtr二进制文件时,它将获得拥有二进制文件的用户的有效权限 - 在这种情况下是 root ( chown root /path/to/mtr)。它将为您节省 sudo 输入,但您应该仔细选择将授予 root 权限的二进制文件。如果您不知道风险,那就很危险。最好使用第一个选项。