您的位置:

Linux su命令:切换用户并执行命令

Linux系统中经常需要切换用户来执行某些操作。su命令是Linux系统中切换用户最常用的命令之一。本文将从以下方面介绍su命令:

一、su命令概述

su(Switch User)命令可以让当前用户切换到指定用户账号下,并且在该用户账号下执行命令。su命令可以提高用户权限,执行需要高权限的操作。当不指定新的用户名和shell时,su命令默认切换到root账户下,也就是超级管理员账户。

二、使用su命令

su命令的基本语法如下:
su [选项] [参数]
选项: - -c:后面跟随需要执行的命令; - -l:后面跟随要切换到的目标用户账户; - -s:后面跟随要指定的shell程序。 例如,要切换到用户账号linda,执行ls命令,可以使用如下命令:
su -l linda -c "ls -l /home/linda"
在执行该命令时,系统会要求输入目标用户密码,输入正确的密码后即可切换到目标用户账户并执行命令。

三、su命令使用示例

例一:切换到root账号
$ su
Password: 
# 
执行su命令后,系统会提示输入密码,输入正确的root账号密码即可切换到root账户下。 例二:在其他用户账户下执行命令
$ su -l linda -c "ls -l /home/linda"
Password: 
total 4
-rw-r--r-- 1 linda linda 473 Dec 25 22:16 test.txt
该命令可以让当前用户(假设为john)切换到linda账户下,并执行ls命令。系统会提示输入linda账户的密码,输入正确的密码后,即可执行命令。 例三:切换到其他shell
$ su -s /bin/bash
Password: 
[root@localhost john]#
该命令将当前用户(假设为john)切换到root账户,并切换到bash shell环境中。

四、su命令注意事项

1、需要使用具有相应权限的用户才能使用su命令; 2、使用su命令后需要重新登录; 3、su命令切换到其他用户账户后,原来用户打开的文件描述符和环境变量不会保留; 4、切换到root账户需要输入root账号的密码。