网上方法很多,但并不是所有的方法都是安全的。
查看当前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文件等方式都不可取。