これでLinux管理者のいらいらは解消? 笑いをもたらす「sudo活用法」Linux管理の一風変わった楽しみ方【中編】

さまざまな責任を持つLinuxの管理者は、ストレスをため込みがちだ。いらいらを募らせないために、日常の作業を楽しくしてくれるコマンドの使い方を知っておこう。

2024年06月13日 08時15分 公開
[Damon GarnTechTarget]

関連キーワード

OS | Linux | 運用管理


 OS「Linux」には、日常的な操作を楽ませてくれるコマンドの使い方がある。中でも筆者が気に入っているのが、Linuxのシステム管理者には欠かせないコマンド「sudo」の使い方だ。

 これにちょっとしたユーモアを取り入れれば、毎日の作業をより楽しめるようになる。例えばパスワードを間違えた場合だ。パスワードを間違える行為はストレスや疲労の原因になる。それを楽しめるようにするために、sudoを使った次の方法を試してみよう。

sudoを使った「いらいら解消法」を試してみる

 スーパーユーザーの権限で実行することを意味する「superuser do」の略であるsudoは、管理者アカウント「root」の権限を一時的に付与するコマンドだ。権限昇格をする必要がある際は、コマンドの前にsudoを付ける。

 これによって、sudoの設定ファイルである「/etc/sudoers」をOSが参照し、コマンドを実行するユーザーにタスクを実行する権限が与えられているかどうかを確認できるようになる。/etc/sudoersは、「誰が」「どのコマンドを」管理者権限で実行できるのかを定義するファイルだ。

 ターミナルでsudoを実行すると、sudo使用時の責任に関する警告メッセージが表示され、管理者権限の重大性と責任をユーザーに通知する。次にsudoは、ユーザーを確認するためにパスワードの入力を求める。ユーザーが正しいパスワードを入力した場合、sudoは/etc/sudoersを参照する。/etc/sudoersで、そのユーザーに管理者権限が設定されていれば、OSはタスクを実行する。

 このとき、ユーザーがパスワードを間違うとどうなるのか。通常、sudoは「パスワードが間違っている」旨のメッセージを表示する(画面1)。例えばLinuxディストリビューション「Ubuntu Core」のバージョン22では、間違ったパスワードに対するデフォルトメッセージは「Sorry, try again」だ。使用しているディストリビューションによって文言は多少異なるものの、大体は同様のシンプルなメッセージだ。

画面1 画面1 デフォルトで表示されるメッセージ

間違ったパスワードに対するメッセージを変更

 メッセージをより面白いものに変更するオプションがinsultsだ。sudoのinsultsを有効にするには、sudoの設定ファイルである「/etc/sudoers」に設定を1行追加する必要がある。このとき、テキストエディタではなく「visudo」コマンドを使用して編集する方が望ましい。visudoはファイルを変更する前に設定の構文をチェックし、問題がなければ変更を適用する。この仕組みによって、システムにログインできなくなる変更ミスを防ぐ。

警告

以下の手法では、sudoに関連する設定を変更する。変更内容が不適切な場合、Linuxの機能に支障を来す可能性がある。変更内容に絶対に間違いがないと確信している場合以外は実行してはならない。

 以下のコマンドを使うと、visudoを使って/etc/sudoersを開くことができる。visudoはOSのデフォルトとして設定されているテキストエディタを立ち上げる。

sudo visudo

 ファイルを開くことができたら、設定内に「Defaults」という項目があるセクションが見つかるはずだ。Defaultsは、sudoの動作設定を記述するための項目だ。例えば、sudoによる環境変数(OS内でデータを共有するための変数)の扱い方を制御する「env_reset」、パスワードの入力を間違えた場合の動作を制御する「mail_badpass」などがある。insultsに関する設定をするには、「Defaults insults」という行を追加する。

 記入し終えたら、/etc/sudoersを保存して閉じる。操作方法はテキストエディタによって異なり、例えば「Vim」では「:wq」コマンドを入力し、「Nano」では「Ctrl」キーと「X」キーを同時に押してから「Y」キーを押す。

 設定に問題がないかを確認するために、sudoを必要とするコマンドを使い、わざと間違ったパスワードを入力してみよう(画面2)。

画面2 画面2 insultsを有効にして、パスワードを間違えて入力したときのコマンド操作ツール「端末」(ターミナル)の表示

デフォルトメッセージを変更する

 少しからかいたいだけで侮辱的なメッセージは出したくない場合や、使用しているLinuxディストリビューションがinsultsを無効にしている場合がある。その場合は、デフォルトメッセージである「Sorry, try again」の変更を検討してほしい。この作業を実施するには、/etc/sudoersに「badpass_message」に関する設定を追加する。以下は「Nope!」というメッセージを表示するための例だ。

Defaults badpass_message="Nope!"

 この設定を反映すると、エラーメッセージは画面3のように出力される。

画面3 画面3 /etc/sudoersを変更してメッセージをカスタマイズした場合の表示

 ここで設定したカスタムメッセージを表示するには、insultsがデフォルトで表示するメッセージを上書きする必要がある。そのためには、/etc/sudoersの「Defaults insults」行をコメントアウトするとよい。


 次回は、本稿で紹介した方法をより楽しめるようにする方法を紹介する。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news158.png

売れるネット広告社、「売れるD2Cつくーる」にLP自動生成機能を追加
売れるネット広告社が「売れるD2Cつくーる」に、新たに「ランディングページ自動生成(AI...

news132.jpg

「Apple炎上」から何を学ぶか?(無料eBook)
Appleが新しい「iPad Pro」の広告用に公開した「Crush!」が世界中で大炎上したのは記憶に...

news105.jpg

Web担当者を悩ませる「フォーム営業」をブロック 「ヘルプドッグフォーム」に新機能
ノーコードのフォーム作成管理システム「ヘルプドッグフォーム」が「フォーム営業ブロッ...