添加用户
添加一个名为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. 若欲切换的身份与执行者的身份相同,也不需要输入密码。
赋予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
修改完毕,用hylink帐号登录,用命令sudo
,此时hylink帐号获得sudo操作权限。
此时要是把root ALL=(ALL:ALL) ALL
注释掉,如下图
此时root用户就不在具有sudo操作权限,效果如下图:
# 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
修改完毕,用hylink帐号登录,用命令sudo
,此时hylink帐号无需再输入密码。
问题汇总
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