Linux为用户添加Root权限

网上方法很多,但并不是所有的方法都是安全的。

查看当前sudo设置

sudo -l

添加指定用户到配置文件

非root用户的root权限来自sudo命令,它的配置文件为/etc/sudoers,所以很多人的方法就是直接修改这个文件,但是这并不是安全的方法。linux系统有visudo命令,还是建议通过visudo命令,而不是直接修改/etc/sudoers文件。如果你的系统有/etc/sudoers.d/这个目录,那么你可以直接编辑这个目录里面的配置文件了,这样更加干净清楚。

不管用如上哪种方式,要添加了那一行代码是一样的:

username ALL=(ALL:ALL) NOPASSWD:ALL

第一个字符串是要赋予root权限的用户名;

第二个字符串ALL=(ALL:ALL)中,等号前面的ALL是从所有的IP访问都有效,括号中第一个ALL是指可以通过su切换到任何用户,第二个ALL是指可以切换到任何用户组;

第三个字符串前面的NOPASSWD是指切换到root不需要输入当前用户密码,如果想设置为需要输入密码就把“NOPASSWD:”去掉即可;

后面的ALL是指所有的命令都可以切换到root权限,你可以把ALL特指为某些命令(注意,命令需要写上文件的绝对路径,可以用which查看命令的路径),多个命令用逗号隔开。

如果需要为多个用户指定权限,则按照这个样子再写一行即可,一个用户一行。

直接添加用户到sudo用户组

这种方法就是把sudo用户组(RedHat系统用户组叫wheel,不是sudo)的权限直接给用户,不能个性化定制功能。

使用这种方法需要注意看一下在配置文件中是不是对sudo/wheel用户组开启了权限。RedHat中一般是没有开启,依然需要先用visudo开启。

如果是新建用户

sudo adduser <username> sudo

对于已经存在的用户

sudo usermod -aG sudo <username>

也可以使用

sudo gpasswd -a <username> sudo

其它

最好不要尝试其它方案,修改passwd文件等方式都不可取。

参考资料    参考资料

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注

20 − 11 =