Linux命令中su、sudo、sudo su、sudo -i的用法和区别
平时开发中会时不时的需要切换Linux用户,这几个命令记混了,所以总结一下,防止忘记。
su 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制
常用如下:
- su 默认切换为root用户,输入密码也为root用户密码
- su - zhangsan 切换用户为zhangsan,进入zhangsan的家目录
- su zhangsan 切换为zhangsan用户,输入密码也是zhangsan用户的密码 目录不变,如原来目录为/home/was目录切换后也是这个目录
- su -c ls root 切换用户为 root 并执行 ls 指令后退出变回原使用者
sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
- sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟
- sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。 要求执行该命令的用户必须在sudoers中才可以
- sudo su 运行sudo命令给su命令提权,运行su命令。 要求执行该命令的用户必须在sudoers中才可以,执行后进入该用户的家目录