当前位置: 首页 > 工具软件 > SUDO > 使用案例 >

sudo、su命令

虞唯
2023-12-01

1.su 用户名 。switch user简写,切换到指定用户,不写用户默认root。su = su root。输入切换后用户密码。

su 切换用户为root用户,但不改变当前所在目录和HOME,SHELL,USER,LOGNAME环境变量;

su - 切换root用户,改变当前工作目录和HOME,SHELL,USER,LOGNAME环境变量。

2.sudo 命令 :切换到指定用户执行命令。不写用户默认root。输入当前用户密码。

语法:sudo [-b] [-u 新使用者账号] 要执行的命令

常用的选项与参数:

  • -b  :将后续的命令放到背景中让系统自行运行,不对当前的 shell 环境产生影响。
  • -u  :后面可以接欲切换的用户名,若无此项则代表切换身份为 root 。
  • -l:此选项的用法为 sudo -l,用于显示当前用户可以用 sudo 执行那些命令。

sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。 要求执行该命令的用户必须在sudoers中才可以。

/etc/sudoers文件指定了哪些用户可以执行sudo命令,并指定了用户可以执行的命令。

3.linux中sudo su 与 sudo su - 区别

  • sudo su 切换root身份,不携带当前用户环境变量。
  • sudo su - 切换root身份,携带当前用户环境变量

sudo -i root与sudo - root、sudo -i ,sudo - ,sudo root效果相同,都是切换到root用户。输入的是当前用户的密码。但是su -i,也是切换到root用户,输入的是root的用户名密码。

故,常用sudo -命令。可以通过输入当前用户密码,具备root用户权限。

参考资料 

Linux sudo命令用法详解:系统权限管理

 类似资料: