您现在的位置是:首页 >技术杂谈 >su,su -,su - root,sudo,sudo -i,sudo su - 有何不同,在ubuntu和centos上用法有什么异同?网站首页技术杂谈

su,su -,su - root,sudo,sudo -i,sudo su - 有何不同,在ubuntu和centos上用法有什么异同?

ALex_zry 2023-07-12 14:41:35
简介su,su -,su - root,sudo,sudo -i,sudo su - 有何不同,在ubuntu和centos上用法有什么异同?

这里是对每个命令的更详细说明和示例演示:

  1. su命令:在Ubuntu和CentOS中,su命令可以用于切换到其他用户的身份,默认情况下会切换到root用户身份。在使用su命令时需要输入目标用户的密码进行身份验证。
  • 在Ubuntu中,使用su时需要先设置root用户的密码才能切换到其身份。示例:
sudo passwd root    # 设置root用户密码
su                  # 输入root用户密码切换到root用户身份
  • 在CentOS中,su命令默认将用户切换到与当前用户名同名的普通用户身份,如果不存在同名用户,则切换到root用户。如果需要切换到root用户身份,需要输入root用户的密码进行身份验证。示例:
su                  # 输入root用户密码切换到root用户身份
su username         # 切换到username用户身份
  1. su -命令:在Ubuntu和CentOS中,su -命令也可以用于切换到其他用户的身份,但该命令会同时启动一个新的shell会话,并将环境变量设置为目标用户的环境变量。在使用su -命令时同样需要输入目标用户的密码进行身份验证。示例:
su -                # 切换到root用户身份并启动新的shell会话
su - username       # 切换到username用户身份并启动新的shell会话
  1. su - root命令:在Ubuntu和CentOS中,su - root命令可以直接切换到root用户的身份,并启动一个新的shell会话。在使用该命令时需要输入root用户的密码进行身份验证。示例:
su - root           # 输入root用户密码切换到root用户身份并启动新的shell会话
  1. sudo命令:在Ubuntu和CentOS中,sudo命令可以让普通用户以超级用户的权限执行特定命令。在使用sudo命令时需要输入当前用户的密码进行身份验证。示例:
sudo command        # 用sudo权限执行command命令,需要输入当前用户密码验证身份
  1. sudo -i命令:在Ubuntu和CentOS中,sudo -i命令可以启动一个新的shell会话,并将环境变量设置为root用户的环境变量。在使用该命令时同样需要输入当前用户的密码进行身份验证。示例:
sudo -i             # 输入当前用户密码切换到root用户身份并启动新的shell会话
  1. sudo su -命令:在Ubuntu和CentOS中,sudo su -命令可以用于直接切换到root用户的身份,并启动一个新的shell会话。在使用该命令时同样需要输入当前用户的密码进行身份验证。示例:
sudo su -           # 输入当前用户密码切换到root用户身份并启动新的shell会话

总的来说,这些命令在Ubuntu和CentOS中的用法基本相同,但具体行为会略有不同。建议在使用这些命令时先了解其具体行为和安全性问题,以避免潜在的风险和影响。


服务器高级架构体系:https://ke.qq.com/course/417774?flowToken=1010783

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。