0. 概述

在使用 Linux 的时候,我们总会遇到很多跟用户权限有关的问题,一个常见的操作方式就是以指定用户运行程序,在本文中,我将介绍两种不同的方式来操作。

1. su

su 命令可以让一个普通的用户切换到其他的用户,并拥有和切换后用户相同的权限做一些操作,当然,这里的其他用户也包括超级用户。这里有一个注意点:

su 的命令形式

  1. [root@liqiang.io]# man su
  2. NAME
  3. su - run a command with substitute user and group ID
  4. SYNOPSIS
  5. su [options...] [-] [user [args...]]

其中一些比较常见的选项为:

示例

  1. [root@liqiang.io]# su - root -s /bin/sh -c “/usr/local/nginx/sbin/nginx`

优缺点

2. runuser

runuser 可以使用一个用户或者组 ID 来运行一个 shell,但是局限在于这个命令只有 root 能用。

示例

  1. [root@liqiang.io]# runuser -l userNameHere -c '/path/to/command arg1 arg2'

优缺点

3. 错误处理

This account is currently not available

4. Ref