Linux 通过 su 命令切换用户

sudo 命令

$ sudo

作用:sudo 命令只需输入当前管理员用户密码就可以得到 root 用户的权限
缺陷:超过一定时间就会失效,并且本质上没有切换用户

sudo -i

$ sudo -i

通过这种方法输入当前管理员用户的密码就可以进到 root 用户
不能等价于纯粹的使用 root 账户登录到系统里

su

变更用户并在执行某个命令后退出该账号并变回原用户

$ su -c command user
#
$ su --command=commond user

举例,变更用户为 root 并在执行 ls 命令后退出变回原用户

$ su -c ls root

变更帐号并改变工作目录

$ su - user
// 或
$ su -l user
// 或
$ su --login user

举例,变更帐号为 johnhan 并改变工作目录至 johnhan 的 home 目录

$ su - johnhan

exit

回退到上一个用户

$ exit

提示

  • su 的作用是变更为其它使用者的身份
  • 在普通用户下,输入 su user 后要键入目标用户密码
  • 在 root 用户下, 输入 su user 直接切换至普通用户,不需要键入密码
  • su user 切换到其他用户但不切换环境变量,su - user 完整切换到新的用户环境
  • 由于 root 权限的无限制性,所以 su 并不能担任多个管理员管理系统的工作
  • su 直接将身份变成 root,而 sudo 是以用户登录后以 root 的身份运行命令,不需要知道 root 密码
除特殊说明外本人博客均属原创,转载请注明出处:http://blog.johnhan.cn/blog_1029.html
鄂ICP备17018604号-1  鄂公网安备42060702000030号