【コマンドライン】スーパーユーザーで実行 [ sudo ]

【コマンドライン】スーパーユーザーで実行 [ 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コマンド等で確認しましょう。