Loose-Info.com

Last Update 2019/03/24


TOP - Unix系OS - Linux - su(1)

ユーザーを切り替えます

su オプション1 オプション2 オプション1(任意) -s ファイルパス1 ファイルパス1で指定されるシェルを実行します オプション2(任意) 切り替えるユーザー名、および、必要であればシェルに引き渡す引数 指定しない場合はrootに切替

※ オプションなどは個人的に重要と考えられるものを記述しており、記載の無いものは、manページや関連書籍などを参照願います。
※ 実行例の記述は、不要と考えられる部分の削除などの修正を行ったものを掲載しています。
※ 実行例の実行環境はDebian 7.1です。

(例) オプションなし
testuser@*************:/$ su ← 赤字は入力部分

実行前
testuser@*************:/$ id uid=1001(testuser) gid=1001(testuser) groups=1001(testuser)

実行後
root@*************:/# id uid=0(root) gid=0(root) groups=0(root)

(例)オプション -s
testuser@*************:/$ su -s /bin/sh ← 赤字は入力部分

実行前
testuser@*************:/$ id uid=1001(testuser) gid=1001(testuser) groups=1001(testuser) testuser@*************:/$ echo $SHELL /bin/bash

実行後
# id uid=0(root) gid=0(root) groups=0(root) # echo $SHELL /bin/sh

(例)切替ユーザー指定
testuser@*************:/$ su -s /bin/dash testuser2 ← 赤字は入力部分

実行前
testuser@*************:/$ id uid=1001(testuser) gid=1001(testuser) groups=1001(testuser) testuser@*************:/$ echo $SHELL /bin/bash

実行後
$ id uid=1002(testuser2) gid=1002(testuser2) groups=1002(testuser2) $ echo $SHELL /bin/dash