1. su 命令
su 命令用于切换用户身份,需要新身份的密码进行验证。
1.1 su 命令表达式
su [-] <username>
- 默认情况: 不加任何参数,默认执行 su root 命令,切换到 root 用户,需要输入 root 用户的密码验证。
- su root : 参数为用户名,表示切换到指定用户,需要输入验证用户密码信息。
- su - root : 带 - 的命令同样也是切换到指定用户,以 login-shell 的方式切换,切换完成后更新环境变量为新用户的设置信息。
1.2 su root 和 su - root 的区别
两者的区别在于 - 参数的使用。 su - root 切换完成后会以login-shell的方式切换到指定用户,并更新环境变量为新用户的设置信息;而 su root 不会更新环境变量,仅仅是切换用户身份。
2. sudo 命令
sudo 命令用于使用超级用户的方式执行一些命令。
2.1 sudo 命令表达式
sudo [选项] [命令]
在使用 sudo 命令时,需要注意的是,有些用户可能会因为没有权限而报错 ”用户不在 sudoers 文件中,此事将被报告“ 。
- sudo [-i/-] root : 切换当前用户到 root 用户,需要验证的是切换前用户的密码信息。
- sudo su : 使用最高权限执行相关命令,需要输入当前用户的密码进行认证。
3. su 和 sudo 的使用区别
- su 命令用于切换用户身份,需要提供将要切换用户的密码,sudo 命令则用于对命令进行权限提升,也可以用来切换用户。
- sudo 命令执行时要求用户具有一定的权限,而 su 命令在使用时不限制当前用户的权限。