sudoとは、引数に指定したコマンドをスーパーユーザまたは他のユーザとして実行するLinuxコマンドです。現在のユーザが実行権限を持っていないコマンドを実行するために利用します。sudoの使い方をご紹介します。
sudo [sudo-options] command [command-options]
$ sudo apt install make
スーパーユーザとしてコマンドを実行する場合、以下に示す管理および特権コマンドを指定することが多い。
sudo コマンドには、以下に示すオプションを指定することができる。
$ sudo -h
ユーザの指定を省略した場合、スーパーユーザ(rootユーザ)としてコマンドを実行する。
$ sudo -u tsuka vi .profile
$ sudo --user=tsuka vi .profile
$ sudo -V
Sudo version 1.8.31
Sudoers policy plugin version 1.8.31
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.31
sudoは「substitute user do」の略です。
sudoコマンドの読み方は「スードゥー(soo-doo)」です。
The official pronunciation is soo-doo (for su ‘do’). However, an alternate pronunciation, a homophone of ‘pseudo’, is also common.
sudoコマンドを実行すると、現在のユーザのパスワードを入力することが要求される。suコマンドを実行すると、切替先のユーザのパスワードを入力することが要求される。
sudoで実行できるコマンドは、sudoersファイルで細かく設定することができる。suで実行できるコマンドは、切替先のユーザが実行できるコマンドである。
sudoおよびsuコマンドを実行しても、カレント・ワーキング・ディレクトリは変わらない。ただし、su に - オプションを指定した場合に限り、カレント・ワーキング・ディレクトリが切替先ユーザのホームディレクトリに変わる。
sudo | su | |
---|---|---|
要求されるパスワード | 現在のユーザのパスワード | 切替先のユーザのパスワード |
実行可能なコマンド | sudoersファイルで設定したコマンド | 切替先のユーザが実行できるコマンド |
カレントディレクトリ | 変わらない | - オプションを指定した場合は切替先ユーザのホームディレクトリに変わる |
Ubuntuのデフォルト設定では、スーパーユーザ(rootユーザ)のアカウントはロックされているので、rootユーザでログインすることはできない。このため、rootユーザ権限が必要な操作はsudoコマンドを用いて実施することになる。
デフォルトでは、スーパーユーザ(rootユーザ)のみがsudoコマンドを使用できる。どのユーザがsudoコマンドを使用できるかは、sudoersファイルで管理する。sudoersファイルは、テキストファイルで直接編集するのではなく、visudoコマンドで編集する。
Sudo Project (2022) Sudo