Linux切换用户(su)教程
普通用户之间切换以及普通用户切换至 root 用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换;从 root 用户切换至其他用户,无需知晓对方密码,直接可切换成功。
Linux su命令详解
功能
用于切换用户。
语法
su [options] username
参数
参数
描述
options
id 命令使用的参数。
username
用户名。
su命令常用参数
选项
含义
-
当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 - 选项可省略用户名,默认会切换为 root 用户。
-l
同 - 的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号。
-p
表示切换为指定用户的身份,但不改变当前的工作环境(不使用切换用户的配置文件)。
-m
和 -p 一样。
-c 命令
仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令。
Linux su命令常用实例
实例
实例
描述
su username
仅仅切换到 username 用户。
su - username
切换到 username 用户,并完整切换工作环境。
su -c cmd username
仅使用 username 执行一下 cmd 命令。
说明
从普通用户切换到 root 用户需要输入密码。
切换username用户
语法
su username
案例
我们使用
useradd haicoder
运行后,终端输出如下:
现在,我们使用 su 命令,切换到用户 haicoder,具体命令如下:
su haicoder
运行后,终端输出如下:
现在,我们使用
id
运行后,终端输出如下:
我们看到,现在已经切换到了 haicoder 用户。
切换username工作环境
语法
su - username
案例
我们登录到 root 用户,接着,使用 su 命令,切换到 haicoder 用户以及 haicoder 用户的工作环境,具体命令如下:
su - haicoder
运行后,终端输出如下:
我们看到,现在已经切换到了 haicoder 用户,现在,我们使用 exit 命令,退出当前用户,返回到 root 用户,具体命令如下:
exit
运行后,终端输出如下:
现在,测试完毕,我们使用
userdel -r haicoder
运行后,终端输出如下:
即,我们成功删除了 haicoder 用户。
username用户临时执行命令
语法
su -c cmd username
案例
我们使用 su 命令实现,临时使用 root 用户执行一下
su -c ls root
运行后,终端输出如下:
我们看到,我们临时使用了 root 用户执行了 ls 命令。
Linux切换用户(su)总结
Linux 中的 su 命令用于切换用户,通过该命令可以实现任何身份的切换,包括从普通用户切换为 root 用户、从 root 用户切换为普通用户以及普通用户之间的切换。
普通用户之间切换以及普通用户切换至 root 用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换;从 root 用户切换至其他用户,无需知晓对方密码,直接可切换成功。