Skip to content

第十四章: 用户身份切换(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 了

Comments