suコマンドではユーザーの切り替えを行い、rootユーザーへのログインも簡単に行うことができました。 ただ、rootユーザーは何でもできてしまうので、誤ってコマンドを実行してしまう危険性もあります。そんなときに、ユーザーを切り替えず特定のコマンドの実行権限をもらうsudoについて学んでいきます。 sudoはsuperuser doの略です。 このコマンドを一般ユーザーで実行するためにはsudo追加を行わなければいけません。

sudoコマンド(root権限実行)

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2019年10月11日

suコマンドではユーザーの切り替えを行い、rootユーザーへのログインも簡単に行うことができました。

ただ、rootユーザーは何でもできてしまうので、誤ってコマンドを実行してしまう危険性もあります。そんなときに、ユーザーを切り替えず特定のコマンドの実行権限をもらうsudoについて学んでいきます。

sudosuperuser doの略です。

このコマンドを一般ユーザーで実行するためにはsudo追加を行わなければいけません。

sudoコマンドの基本

sudoコマンドは他のコマンドと併用して使います。sudoの基本は、特定のコマンドの実行権限の許可をもらうコマンドです。

どういうことかと言うと、例えばchownコマンドでは基本的にrootユーザーでのみ実行できますが、sudoコマンドの設定(sudo追加で行う設定)で、あるユーザーにchownの実行権限を与える設定をします。
するとそのユーザーはrootユーザーにならなくてもchownコマンドを実行できるようになります。

このsudoコマンドの設定を適切に行うことで、特定のグループに所属しているユーザーはすべてのコマンドを実行可能(rootユーザーと同列)にできたり、rootユーザーでしか実行できないコマンドを特定のユーザーのみ実行できるようになります。

色々説明しましたが、sudoコマンドの設定時には特定のユーザーまたは特定のグループにすべてのコマンドの実行権限を与えることがほとんどです。

事前準備

sudoコマンドを一般ユーザーから実行するためにはsudo追加が必要です。
sudo追加を行っていない場合には記事を読んでsudo追加を行っておきましょう。

ただし、仮想マシンのVagrantを利用している場合など、すでにsudo追加が済んでいる場合もあるので、sudo追加がすでに行われている場合には事前準備は必要ありません。

sudoコマンドの使い方

sudo追加の設定ができたところで、下記にsudoコマンドの使い方を示します。

$sudo 実行したいコマンド

これだけです。実行したいコマンドの前にsudoをつけることで、そのユーザーに実行したいコマンドの権限が設定されていれば実行できます。

このとき、そのユーザーのパスワードの入力を求められる場合があります(sudoの設定次第)。rootユーザーのパスワードを入力するわけではないので注意しましょう。

sudoコマンドを試してみる

sudo追加ができていればコマンドを実行することができるので、試してみましょう。

所有者を変更するchownコマンドなどはrootユーザーでしかできない作業ですが、sudoを前につけることで、一般ユーザーでも所有者を変更できます。

$sudo chown vagrant:vagrant test.txt

rootユーザーでなくても、所有者がrootユーザーだったファイルに変更を加えることができるのが確認できるかと思います。(パスワード入力を求められた場合にはログイン中ユーザーのパスワードを入力)