https://www.cnblogs.com/yangliguo/p/8463143.html
su
Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
使用权限:所有使用者。
语法
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
选项
选项 | 说明 |
---|---|
-c<指令>或--command=<指令> | 执行完指定的指令后,即恢复原来的身份; |
-f或——fast | 适用于csh与tsch,使shell不用去读取启动文件; |
-l或——login | 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量; |
-m,-p或--preserve-environment | 变更身份时,不要变更环境变量; |
-s<shell>或--shell=<shell> | 指定要执行的shell; |
--help | 显示帮助; |
--version | 显示版本信息。 |
实例
变更帐号为 root 并在执行 ls 指令后退出变回原使用者
su -c ls root
变更帐号为 root 并传入 -f 参数给新执行的 shell
su root -f
变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)
su - clsung
切换用户
hnlinux@ylg:~$ whoami //显示当前用户 hnlinux hnlinux@wylg:~$ pwd //显示当前目录 /home/hnlinux hnlinux@ylg:~$ su root //切换到root用户 密码: root@ylg:/home/hnlinux# whoami root root@ylg:/home/hnlinux# pwd /home/hnlinux
切换用户,改变环境变量
hnlinux@ylg:~$ whoami //显示当前用户 hnlinux hnlinux@ylg:~$ pwd //显示当前目录 /home/hnlinux hnlinux@ylg:~$ su - root //切换到root用户 密码: root@ylg:/home/hnlinux# whoami root root@ylg:/home/hnlinux# pwd //显示当前目录 /root
sudo
Linux sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers
中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
语法
sudo(选项)(参数)
选项
选项 | 说明 |
---|---|
-b | 在后台执行指令; |
-h | 显示帮助; |
-H | 将HOME环境变量设为新身份的HOME环境变量; |
-k | 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。 |
-l | 列出目前用户可执行与无法执行的指令; |
-p | 改变询问密码的提示符号; |
-s<shell> | 执行指定的shell; |
-u<用户> | 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份; |
-v | 延长密码有效期限5分钟; |
-V | 显示版本信息。 |