ファイルやディレクトリなどの書き込みや権限の移行など、システムの管理に関係する作業は「管理者権限(スーパーユーザ)」が必要です。
このスーパーユーザは一般ユーザーから変更する場合は「su」コマンドを使用します。
「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エンジニアが自宅で学習ができるオンラインスクール比較 | |