【コマンドライン】スーパーユーザーで実行 [ sudo ]
コマンドラインでスーパーユーザーの権限でコマンドを実行するsudoコマンドについて解説します。
検証環境
スーパーユーザー
スーパーユーザーは“全ての権限を持つユーザー”です。
あらゆるコンピュータの操作を行うことができますが、操作ミスや悪意あるユーザーに利用されるとデータの破損や漏洩等の恐れがあるため、厳重に管理する必要があります。
sudoコマンド
sudoコマンドは“スーパーユーザー権限でコマンドを実行するコマンド”です。
基本書式
$ sudo [コマンド]
基本的には通常のコマンド入力の先頭にsudoを付ける書式になります。
引数
コマンド
コマンド
はスーパーユーザー権限で実行するコマンドです。
設定
sudoコマンドはデフォルトでは実行不可の場合があります。
利用環境によっても異なりますが、設定ファイル等を編集する必要があります。
例えば、CentOSの設定方法は次のドキュメントをご覧ください。
サンプル
sudoコマンドの有無による違いをcatコマンドで比較するサンプルを示します。
catコマンドで内容を表示するファイルは次の権限です。
[hacker]$ ls -l
---------- 1 hacker guest 35 12月 16 14:40 sample
このファイルは全ての権限がないため、catコマンドで内容の表示を試みても失敗します。
[hacker]$ cat sample
cat: sample: 許可がありません
しかし、sudoコマンドでスーパーユーザーとして実行すると表示することができます。
___ih_hl_start
[hacker]$ sudo cat sample
___ih_hl_end
[sudo] hacker のパスワード:
#!/usr/bin/bash
echo "Hello World"
sudoコマンドはログインユーザーのパスワードを求められます。
利用環境によりますが、パスワードは一定期間記憶され、毎回入力する必要がない場合があります。
マニュアル
コマンドの仕様(主な処理やオプション・引数など)は環境により異なる場合がございます。
利用環境での仕様は『コマンドのマニュアルを表示する』manコマンド等で確認しましょう。