スライドショー

【Linuxコマンド】sudoで指定したユーザーでコマンドを実行する

Linuxではユーザーを切り替えなくても、他のユーザーの権限でコマンドやシェルを実行できる「sudo」コマンドがあります。

ここでは「sudo」コマンドの使い方について、以下の内容で解説していきます。

sudo_image

この記事で「sudo」コマンドで別のユーザーでコマンドなどを実行する方法についてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

sudoコマンドとは

「sudo」はユーザーを切り替えずに他のユーザーやスーパーユーザーの権限で、以下のような操作が可能になります。

・コマンドを実行できる
・シェルを実行できる
・ファイルの編集、実行ができる

わざわざユーザーを切り替えずに、他のユーザーの権限で操作が可能ですので非常に便利です。

「sudo」コマンドの書式は以下になります。

$ sudo [オプション]

また、類似コマンドとしてはユーザーを切り替えて操作できる「su」コマンドがあります。

「su」コマンドについては以下の記事で詳しく解説しています!

sudoコマンドのオプション

「sudo」コマンドで使用できる主なオプションは以下となります。

オプション説明
-bバックグラウンドで実行する
-l禁止されているコマンドを表示する
-gコマンド実行時グループ名を指定する
-sルートユーザーを保持する
-S標準入力でパスワードを読み込む
-uコマンド実行時にユーザー名またはユーザーIDを指定する

sudoコマンドの詳しい使い方

ここではsudoコマンドの詳しい使い方について解説します。

禁止されているコマンドを表示する

「sudo」で禁止されているコマンドをを確認するには「-l」オプションを使用します。

$ sudo -l

sudo_image01

ルート権限でファイルの編集

通常重要なファイルは、スーパーユーザーでルート権限に切り替えないと編集することができませんが「sudo」コマンドを使用することで編集が可能です。

以下では「sudo」で「/etc/hosts」ファイルを編集しています。

$ sudo vi /etc/hosts

sudo_image02

通常のユーザーでは書き込みの権限がありませんが、「sudo」コマンドにより編集することができました!

ルート権限でコマンドの実行

スーパーユーザーでのみ実行できる「shutdown」「reboot」なども「sudo」コマンドで実行することができます。

$ sudo reboot

指定したユーザーでコマンドを実行する

指定したユーザーでコマンドを実行するには「-u」オプションを使用します。

他のユーザーで実行する場合の書式は以下となります。

$ sudo -u ユーザー名 コマンド

以下ではユーザー「samurai」を指定してコマンドを実行しています。

$ sudo -u samurai cat /etc/passwd

ルートユーザーを保持する

連続してルートユーザーで操作したい場合は「-s」オプションを使用します。

「-s」オプションを使用すると、「exit」コマンドを実行するまでルートユーザーの権限が保持された状態になります。

$ sudo -s

sudo_image03

ルート権限になるとプロンプトの「$」が「#」に置き換わります。

Linuxについてもっと知りたい方へ

そもそもLinuxについて、

「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」

といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!



まとめ

ここでは、ユーザーを切り替えてコマンドを実行できる「sudo」コマンドついて、

  • sudoコマンドとは
  • sudoコマンドのオプション
  • sudoコマンドの詳しい使い方

などについて解説しました。

「sudo」コマンドを使用すれば「su」コマンドでユーザーを切り替えることなく他のユーザーやスーパーユーザーの権限で操作が可能ですので非常に便利です。

もし、「sudo」コマンドについて忘れてしまったら、この記事を参考にしてくださいね!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

侍テック編集部

侍テック編集部

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説