su
是 Linux 系统中的一个常用命令,用于切换用户身份。全称是 "switch user",即切换用户。这个命令允许用户以其他用户的身份运行命令,通常用于提升权限或执行特定任务。
su
命令允许用户临时或永久地切换到另一个用户的身份。这通常用于管理员(root 用户)需要执行某些需要更高权限的任务,或者普通用户需要以管理员身份执行某些操作。
su
可以方便地切换到相应的用户。su -
或 su -l
命令,会切换到目标用户的环境,包括环境变量、Shell 等。su
命令而不带任何参数,只会切换用户身份,不会改变环境变量和 Shell。# 切换到 root 用户
su -
# 切换到特定用户(例如:user1)
su user1
# 切换到 root 用户并保持当前环境变量不变
su
su
命令时提示 "Authentication failure"?原因:这通常是因为输入的密码不正确,或者当前用户没有权限切换到目标用户。
解决方法:
# 允许普通用户 user1 切换到 root 用户
sudo visudo
在 visudo
编辑器中添加以下行:
user1 ALL=(ALL) NOPASSWD: /bin/su
这样,user1 用户就可以在不输入密码的情况下切换到 root 用户。
su
命令后,环境变量没有改变?原因:使用 su
命令而不带 -
或 -l
参数时,不会改变环境变量和 Shell。
解决方法:
# 使用 - 或 -l 参数切换用户
su - user1
这样可以确保环境变量和 Shell 都切换到目标用户的状态。
希望这些信息对你有所帮助!如果有更多问题,请随时提问。