Ubuntu 增加新用户并赋予root权限及免密的方法

时间:2021-05-28 19:50:51

添加用户

添加一个名为hylink的用户

adduser hylink

修改密码

passwd hylink

Changing password for user hylink.

New UNIX password: //在这里输入新密码

Retype new UNIX password: //再次输入新密码

passwd: all authentication tokens updated successfully.

sudo命令的工作过程

a. 当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限;

b. 确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认;

c. 若密码输入成功,则开始执行sudo后续的命令;

d. root执行sudo时不需要输入密码(文件中有配置root ALL=(ALL) ALL这样一条规则);

e. 若欲切换的身份与执行者的身份相同,也不需要输入密码。

Ubuntu 增加新用户并赋予root权限及免密的方法

赋予root权限

修改 /etc/sudoers 文件

sudo gedit /etc/sudoers

注意执行时需要root权限,即使用sudo gedit

# User privilege specification
root ALL=(ALL:ALL) ALL

具有sudo权限的用户

root表示能使用sudo命令的用户;

第一个ALL表示允许使用sudo的主机;

第二个ALL及第三个ALL表示用户组及用户;

第四个ALL表示sudo可执行的命令,即所有命令;

在有的系统中也简写做:

root ALL=(ALL) ALL

因此在root下面添加一行,如下所示:

hylink ALL=(ALL:ALL) ALL

Ubuntu 增加新用户并赋予root权限及免密的方法

修改完毕,用hylink帐号登录,用命令sudo,此时hylink帐号获得sudo操作权限。

此时要是把root ALL=(ALL:ALL) ALL注释掉,如下图

Ubuntu 增加新用户并赋予root权限及免密的方法

此时root用户就不在具有sudo操作权限,效果如下图:

Ubuntu 增加新用户并赋予root权限及免密的方法

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

含义:在admin组中成员可以可以获得sudo的跟权限

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

允许sudo组成员执行任何命令

免密使用sudo

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

下面添加

hylink ALL=(ALL) NOPASSWD:ALL

Ubuntu 增加新用户并赋予root权限及免密的方法

修改完毕,用hylink帐号登录,用命令sudo,此时hylink帐号无需再输入密码。

Ubuntu 增加新用户并赋予root权限及免密的方法

问题汇总

1.问题:

执行sudo chmod -R 777出现以下问题:

sudo:sudo /etc/sudoers is world writable
sudo:no valid sudoers sources found ,quitting
sudo:unable to initialize policy plugin

解决方案:

sudoers的权限被改了,改回来就好了。

pkexec chmod 0440 /etc/sudoers