【su】Linuxコマンド_スーパーユーザに切り替える

ファイルやディレクトリなどの書き込みや権限の移行など、システムの管理に関係する作業は「管理者権限(スーパーユーザ)」が必要です。

このスーパーユーザは一般ユーザーから変更する場合は「su」コマンドを使用します。




↓↓↓ITエンジニアのおすすめ学習・開発環境の詳細へ↓↓↓

「su」コマンドの使い方(Linux)

以下では、ユーザー(user01)でLinuxOSへログインし、スーパーユーザーになった例となります。

現在のユーザー情報を確認

$ whoami
user01

「su」コマンドでスーパーユーザーに変更し、ユーザー情報を確認すると「root」と表示されます。

$ su
パスワード:
$ 
$ whoami
root

スーパーユーザーから元のユーザー(user01)に「exit」コマンドで戻ります。

$ exit
exit
$ 
$ whoami
user01

「su」コマンドでユーザーの切り替え

「su」コマンドで引数に、別ユーザーを指定することで、そのユーザーに気に変えることができます。
以下では「user01」から「user02」に切り替える例となります。

$ whoami
user01
$ 
$ su user02
パスワード:
$ 
$ whoami
user02

「su」コマンド実行後、ユーザーが切り替わったことが確認できます。

「-」オプションで前ユーザーの環境変数を引き継がない

上記のユーザーの切り替えでは、通常にログインした場合と違い、切り替え前のユーザーの環境変数がほとんど引き継がれます。

切り替え前のユーザーの環境変数を引継ぎたくない場合は、「-」コマンドを指定します。

$ whoami
user01
$ 
$ su - user02
パスワード:
[user02@118-27-15-211 ~]$ 
[user02@118-27-15-211 ~]$ whoami
user02
[user02@118-27-15-211 ~]$ 

「-」オプションを使用した場合、カレントディレクトリも切り替わったユーザーのホームディレクトリに移動し、新規にユーザーでログインした場合と同じ状態になります。

スーパーユーザーにk梨花えて作業を実施する場合は、切り替え前のユーザーの環境変数を引き継いでいるとトラブルの原因となることがあるので、スーパーユーザーに切り替えるときは「-」オプションを指定するようにしましょう。

「su」コマンドオプション

「su」コマンドのオプションは以下の通りとなります。

$ su --help

使い方:
 su [オプション] [-] [<ユーザ> [<引数>...]]

実効ユーザ ID とグループ ID を、指定した<ユーザ>のものに切り替えます。
なお、 - は -l の意味を含みます。<ユーザ>を指定しない場合は root であるものと
みなされます。

オプション:
 -m, -p, --preserve-environment  環境変数をリセットしません
 -g, --group <グループ>          プライマリグループを指定します
 -G, --supp-group <group>        specify a supplemental group

  -h, --help                     このちょっとした使い方を表示する
 -c, --command <コマンド>        -c を利用して単一のコマンドを
                                    シェルに渡します
 --session-command <コマンド>    -c を利用して単一のコマンドをシェルに渡し、
                                    新しいセッションの作成は行いません
 -f, --fast                      シェルに -f を渡します
                                   (csh や tcsh 向けの機能)
 -s, --shell <シェル>            /etc/shells で許可していれば、
                                   <シェル>を起動します
 -P, --pty                       create a new pseudo-terminal

 -h, --help                      このヘルプを表示します
 -V, --version                   バージョンを表示します

詳しくは su(1) をお読みください。

「su」コマンドの使い方は以上となります。

エンジニアのオンライン学習

エンジニアにおすすめのオンライン教材比較
ITエンジニアが自宅で学習ができるオンラインスクール比較

エンジニアのおすすめ学習「Progate」と「Udemy」比較

VPS_比較
最新情報をチェックしよう!