第十四章: 用户身份切换(su & sudo)
涉及到的文件: /etc/sudoers
user_demo ALL=(root) !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
- user_demo: 用户账号: 哪个账号可以使用sudo命令
- ALL: 来源主机名 : 哪台主机上可以
- root: 可切换身份 :
- xxx: 可执行命令 : 绝对路径!!前面的感叹号表示不可执行
PS: 这个可以防止 user_demo 执行 sudo 时将 root 密码改掉 (sudo passwd / sudo passwd root)
visudo: 没什么高端的,使用它就相当于 vim /etc/sudoers,只是最后它可以检测对错,错了无法退出文件
SU && SUDO
1. su (usr): 身份切换,没有 usr 就是默认 root
- su - : login-shell 登录
- su : non-login-shell 登录
- 仅执行一次命令 : su - -c "命令"
- root 使用 su 时,不用任何密码
2. sudo
- 执行过程: 先查看文件 /etc/sudoers,输入用户自己密码
FAQ
sudo su 为什么这样可以实现root变换:
- 开始执行 sudo => 要求: 执行的用户在 sudoers 文件中可以变成 root && 允许
/bin/su -
这样操作(一般都是ALL) - 相当于 root 执行一次 su,而 root 执行 su 不用任何密码
- 所以相当于永久变为 root 了