详解Linux su命令:切换到另一个用户账户

  • Post category:Linux

当需要以其他用户身份执行命令时,可以使用Linux系统的su命令来切换用户。su命令的使用方法较为简单,下面我们来详细讲解一下。

一、su命令的作用

su命令是Linux操作系统中用于切换用户的命令。su命令可以在当前会话中进入一个新的shell,并在这个shell中享有新用户的权限。通常情况下,我们为了方便管理,会将服务器上的所有账号都设置为普通用户,这样就能很好地保护系统的安全。但是,当我们需要进行某些具有管理员权限的操作时,就需要以管理员身份进行操作,这时就需要使用su命令来切换用户。

二、su命令的基本语法

su命令的基本语法格式如下:

su [选项] [用户名]

其中,[选项]指的是可选项,[用户名]指的是要切换到的用户账号名称。如果不指定用户名,则默认切换到root账号。

常见的选项有:

  • -:切换到目标用户的环境变量中,各种系统变量、环境变量等都会生效;
  • -c:在切换完成后执行一条命令;
  • -s:切换完后切换到指定的shell。

三、su命令的使用示例

示例一:切换到普通用户账号

假设我们现在登录的是root账号,但是这个账号拥有太多的系统权限了,我们并不希望在这个账号下执行所有操作。我们可以使用su命令来切换到一个普通的账号下。

sudo su - testuser

执行上述命令后,系统会提示输入目标用户的密码。如果输入正确,则会切换到指定用户的账号下,其中-选项的作用是切换到新用户的环境变量中,这样我们就可以在新用户账号下执行一些额外的操作。

示例二:执行一条命令

假设我们需要以root权限来安装一个新的软件,但是我们并不希望一直在root账号下操作,这时候我们可以使用-c选项来执行一条命令,并在执行完成后退出root账号。

sudo su -c "apt-get update && apt-get install -y nginx"

执行上述命令后,系统会先提示输入root账号密码,输入正确密码后,系统会执行指定的命令,这里是更新软件源并安装nginx软件,并在执行完成后退出root账号。

四、总结

su命令可以帮助我们切换用户,以当前用户环境运行其他命令,执行root权限操作等。掌握su命令的使用方法可以让我们更加灵活地管理和运维服务器。