一、su命令
su是最简单的用户切换命令,通过该命令可以实现任何用户之间的互相切换,当然能够正确切换的前提就是输入正确的密码。普通用户切换至root用户或者普通用户之间互相切换都要知道对方账户的密码,root用户切换至普通用户直接就可以切换,无需知晓对方密码。
su命令的基本格式:
[root@localhost ~]# su [选项] 用户名
选项:
二、su和su - 的区别
使用su切换用户加-和不加是完全不同的,-选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的(环境变量是用来定义操作系统环境的,因此如果系统环境没有随用户身份切换,很多命令无法正确执行)。
举个例子,普通用户 lamp 通过 su 命令切换成 root 用户,但没有使用 - 选项,这样情况下,虽然看似是 root 用户,但系统中的 $PATH 环境变量依然是 lamp 的(而不是 root 的),因此当前工作环境中,并不包含 /sbin、/usr/sbin等超级用户命令的保存路径,这就导致很多管理员命令根本无法使用。不仅如此,当 root 用户接受邮件时,会发现收到的是 lamp 用户的邮件,因为环境变量 $MAIL 也没有切换。
原文地址:Linux su命令:用户间切换(包含su和su -的区别)