用户身份切换
su
概述
su
是最简单的身份切换指令,它可以进行任何身份的切换- 使用
su
需要知道新切换的用户的密码(通常是需要root的密码) - 使用 root 切换为任何用户时,并不需要输入新使用者的密码
- 在终端输入
exit
可以退回原来的用户
常见用法
# 完整的切换到新用户的环境
su - username
# 仅执行一次root的指令
su - -c 指令串
sudo
概述
-
以
sudo
指令可以执行root的指令串 -
sudo
的执行仅需要当前用户的密码即可 -
仅有规范到 /etc/sudoers 内的用户才能够执行
sudo
这个指令,/etc/sudoers 文件内容如下:
修改方法
1、单一用户可以使用root指令
用户账户 用户的登录主机名称 = (可切换的用户:用户组) 可下达的指令
root ALL=(ALL:ALL) ALL
user ALL=(ALL:ALL) ALL # 新增一行即可
-
“用户账户”:即系统的哪个账号可以使用
sudo
这个指令的意思 -
“用户登录的主机名称”:意思是这个账号可能是由哪一部网络主机连线过来的,这个值可以指定用户端计算机。默认值root可以来自任何一部网络主机
-
“(可切换的用户:用户组)”:这个账户可切换到什么身份来下达后续的指令,默认root可以提权到(任意用户:任意用户组)
-
“可下达的指令”:即可用该身份下达什么指令,必须使用绝对路劲撰写。默认root可以切换任何身份并且进行任何指令
2、根据用户组及免密码配置
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) NOPASSWD: ALL # 免密码
- 上面的设置值会造成 “任何加入sudo这个用户组的用户,就能够使用sudo切换任何身份来操作任何指令” 的意思