su (substituteまたはswitch userの略)ユーティリティを使用すると、別のユーザーの権限(デフォルトではrootユーザー)でコマンドを実行できます。
suを使用する 現在のログインセッションで管理者アカウントに切り替える最も簡単な方法です。これは、rootユーザーがGUIディスプレイマネージャーを使用してsshorを介してシステムにログインすることを許可されていない場合に特に便利です。
このチュートリアルでは、 suの使用方法を説明します コマンド。
suの使用方法 コマンド#
suの一般的な構文 コマンドは次のとおりです:
su [OPTIONS] [USER [ARGUMENT...]]
オプションなしで呼び出された場合、 suのデフォルトの動作 ルートとしてインタラクティブシェルを実行することです:
su rootパスワードの入力を求められ、認証されると、コマンドを実行しているユーザーが一時的にrootになります。
セッションシェル( SHELL )とホーム( HOME )環境変数は、代替ユーザーの / etc / passwdから設定されます エントリであり、現在のディレクトリは変更されません。
ユーザーが変更されたことを確認するには、 whoamiを使用します コマンド:
whoami このコマンドは、現在のシェルセッションを実行しているユーザーの名前を出力します:
root
suを呼び出すときに最も一般的に使用されるオプション -です ( -l </ code> 、-login )。これにより、シェルは実際のログインと非常によく似た環境のログインシェルになり、現在のディレクトリが変更されます。
su -
passwd で定義されているシェルの代わりに、別のシェルを実行する場合 ファイルの場合、 -sを使用します 、-shell オプション。たとえば、rootに切り替えて、 zshを実行します。 シェル、次のように入力します:
su -s /usr/bin/zsh
環境全体を保存するには( HOME 、 SHELL 、 USER 、および LOGNAME )呼び出し元ユーザーの -pを使用してコマンドを呼び出します 、-preserve-environment オプション。
su -p
-の場合 オプションが使用されます、 -p 無視されます。
対話型シェルを起動せずに代替ユーザーとしてコマンドを実行する場合は、 -cを使用します。 、-コマンドコード> オプション。たとえば、 psを呼び出すには rootとしてコマンドを実行するには、次のように入力します。
su -c ps
別のユーザーアカウントに切り替えるには、ユーザー名を引数として suに渡します。 。たとえば、ユーザー tyrionに切り替えるには 次のように入力します:
su tyrion Sudo vs. Su#
Ubuntuなどの一部のLinuxディストリビューションでは、セキュリティ上の理由から、rootユーザーアカウントはデフォルトで無効になっています。これは、rootにパスワードが設定されておらず、 suを使用できないことを意味します ルートに切り替えます。
ルートに変更する1つのオプションは、 suを先頭に追加することです。 sudoを使用したコマンド 現在ログインしているユーザーパスワードを入力します:
sudo su -
sudo コマンドを使用すると、プログラムを別のユーザー(デフォルトではrootユーザー)として実行できます。
ユーザーにsudoが付与されている場合 評価、 su コマンドはrootとして呼び出されます。 sudosu-を実行しています 次に、ユーザーパスワードを入力すると、su-を実行するのと同じ効果があります。 ルートパスワードを入力します。
-iと一緒に使用する場合 オプション、 sudo rootユーザーの環境でインタラクティブログインシェルを実行します:
sudo -i
sudo -i 基本的にsu-を実行するのと同じです 。
sudoを使用する利点 su以上 ルートパスワードを複数の管理ユーザーアカウント間で共有する必要がないということです。
sudoを使用 また、ユーザーがroot権限を持つ特定のプログラムのみを実行できるようにすることもできます。
結論#
su は、一時的に別のユーザーになり、代替ユーザーでコマンドを実行できるコマンドラインユーティリティです。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。