支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


sudo コマンド

sudoコマンドは、ユーザー切り替えを行うことなく、スーパーユーザー(rootユーザー)や他のユーザーの権限でコマンドやシェルの実行、ファイルの編集・実行に使用します。読みは公式で”soo-doo”とされています。sudoコマンドを実行するためには「sudoers」ファイルの設定が必要です。「sudoers」ファイルの編集には「visudo」コマンドを使用して編集を行います。一度ユーザが認証されるとタイムスタンプが更新されるため、一定時間内(約5分ほど)であれば、2回目以降はパスワード入力は省略しsudoコマンドを使用できます。認証情報を破棄したい場合は「sudo -K」実行します。「-k」オプションを指定すると、必ずパスワードを入力してから実行するように変更する事もできます。また、sudoは成功・失敗した命令やエラーをデフォルトで「syslog」にログを記録します。


sudo [オプション] [ユーザー名]

sudo コマンド オプション

-a (authentication type) sudoコマンドはユーザの認証に「/etc/login.conf」で許可されている認証タイプを使用します。
-n パスワードを要求するプロンプトを表示しません。パスワード入力が必要なコマンドの場合はエラーとなって実行できません。
-p パスワード入力時のプロンプトを指定します。(デフォルト「:」)
-S (stdin) パスワードを端末ではなく標準入力から読み込みます。(パスワードの末尾には改行が必要となります。)
-k (kill) 保存された認証情報(タイムスタンプ)を無効にします。次回のsudoコマンド実行時には必ずパスワード入力が必要となります。コマンドと一緒に使用可能です。
-K (sure kill) 保存された認証情報(タイムスタンプ)を完全に消去します。
-v(validate) 保存された認証情報(タイムスタンプ)を更新します。
-u [ユーザー] コマンドを実行するときのユーザーを「ユーザー名」または「ユーザーID(#記号と数字)」で指定できます。
-g [グループ] コマンドを実行するときのグループを「グループ名」または「グループID(#記号と数字)」で指定します。
-P (preserve group vector) sudoコマンドを実行するユーザーが所属するグループのまま変更せずにコマンドを実行します。
-b (background) 指定されたコマンドをバックグラウンドで実行します。
-e 指定したファイルを編集します。
-E 現在の環境変数を保持したままコマンドを実行します。
-H (home) 環境変数「HOME」をrootユーザーのホームディレクトリに変更してコマンドを実行します。
-h (help) 使用法のヘルプメッセージを表示します。
-s (shell) 環境変数「SHELL」で設定されたシェルもしくはrootユーザーのシェルが実行されます。コマンドを指定しなかった場合は対話シェルとなります。
-i [コマンド] rootユーザーのデフォルトのシェルが実行されます。コマンドを指定しなかった場合は対話シェルとなります。
-l (list) sudoを実行するユーザーに許可・禁止されているコマンドを一覧表示します。「sudo -l コマンド」のようにコマンドを指定した場合、コマンドが許可されていればコマンドの絶対パスが表示されます。
-ll 「-l」オプションと同様ですがより長い形式で表示されます。
-U [ユーザー] 「-l」オプションと組み合わせて使用します。指定したユーザーの権限で実行できるコマンドを一覧表示します。
-- sudoコマンドがコマンドライン引数の処理を終了します。

類似コマンド su コマンド

suコマンドは、ユーザーを切り替える際に使用します。sudoコマンドとは異なり、ユーザー切り替えとともに切り替え先のユーザーの権限でコマンドやシェルを実行したい場合に使用します。引数を指定せずに実行することで、スーパーユーザー(rootユーザー)に切り替えることもできます。sudoコマンドにおける「sudo -s」と類似動作となります。ログインし直さずに他のユーザーに切り替えることができます。sudoコマンドの場合は、rootユーザーのパスワードは不要ですが、suコマンドを実行するとパスワードの入力が求められるので、「変更先のユーザーのパスワード」を入力します。suコマンド実行以降は、全てのコマンドが変更後のユーザーとして実行されます。


su [オプション] [ユーザー名]

類似コマンド sudoedit コマンド

sudoeditコマンドでは、rootユーザーの権限でファイルを編集することができます。sudoコマンドにおける「sudo -e [ファイル名]」と同じ動作になります。ファイルは複数指定も可能で、指定ファイルが存在しなかった場合には所有者rootの新規ファイルが作成されます。


sudoedit [ファイル名]