Linuxのsuコマンドを使うと、一時的にスーパーユーザーや他のユーザーに切り替えることができます。
suコマンドの使い方
suコマンドの書式は以下の通りです。
1 |
$ su [オプション] [ユーザー名] |
主なオプション
- | 環境変数を引き継がずにユーザーを切り替える |
-m | 環境変数「USER」と「LOGNAME」を切り替え後のユーザーに引き継ぐ |
-c | ユーザーを切り替えた後で、「-c」の後に記入されたコマンドを実行する |
スーパーユーザーに切り替える
suコマンドを実行すると、ログイン中のユーザーをスーパーユーザー(root)に切り替えることができます。
1 |
$ su |
コマンドを実行するとrootのパスワードを聞かれるので入力します。その後はスーパーユーザーとして作業を行うことができます。
元のユーザーに戻す場合は「exit」コマンドを実行します。
指定したユーザーに切り替える
以下のようにユーザー名を付けてsuコマンドを実行すると、ログイン中のユーザーを指定したユーザーに切り替えることができます。
1 |
$ su hoge |
上の場合、ユーザー「hoge」のパスワードの入力が求められます。その後はユーザー「hoge」として作業を行うことができます。
環境変数を引き継がずに他のユーザーに切り替える
ハイフン「-」を付けると、環境変数を引き継がずに他のユーザーに切り替えることができます。「-」を付けない場合は、「USER」と「LOGNAME」以外のすべての環境変数が、切り替え後のユーザーにも引き継がれます。
1 |
$ su - |
上の場合、スーパーユーザーでログインし直したのと同じ状態になるため、環境変数は引き継がれません。
環境変数を引き継がずに指定ユーザーに切り替える
ハイフン「-」の後にユーザー名を入力することで、環境変数を引き継がずに指定ユーザーに切り替えられます。
1 |
$ su - hoge |
上の場合、「hoge」というユーザーでログインし直したのと同じ状態になるため、環境変数は引き継がれません。