こんにちは、おはじきです。
私事ではありますがLpicレベル1-102の試験の受験日が迫ってきました。
これまでの本ブログでの発信も含め、勉強してきた事を存分に生かして合格を勝ち取ってきたいと思います。
仕上げの内容として、セキュリティ周りのコマンドを解説します。
ユーザーの権限、パスワードの設定周りは実務でも運用の実務の入り口として利用する機会もあるかと思いますのでテスト対策の観点から解説してみます。
suコマンドを利用する事で別のユーザーになります。
書式: su – ユーザー名
ハイフンを付けると環境変数が初期化され直接そのユーザーにログインした状態になります。
ハイフンをつけないと変わる前のユーザーの環境を受け継いでユーザーを変更します。
ユーザー名を指定しないとrootユーザーに変わります。
sudoコマンドを利用する事で本来ならrootユーザーしか扱えないコマンドを扱ったり、アクセス権限がないファイルにアクセスする事もできます。
実際に使用してみましょう。
firewall-cmdはrootユーザーしか使えないコマンドなので一般ユーザーで使用しようとすると権限がないので使用できませんという旨のエラーが出てしまいます。
なのでこのようなコマンドはsudoコマンドの後に入力する事でrootユーザーの権限で使用する事ができます。
実務ではrootユーザーで作業することはめったにない事と思います。
基本的には作業者のユーザーを作成してそのユーザーで普段の業務に当たるかと思います。
一般ユーザーで作業しているときにroot権限でしか扱えないコマンドやファイルを扱わなければならなくなった時に重宝するコマンドです。
ただ一般ユーザーがsudoコマンドを使うには前準備が必要です。
/etc/sudoersというファイルにsudoコマンドの設定が記述されているのでまずはその一部を見てみましょう。
ここを書き換えれば非推奨ではありますが、そもそもrootでないユーザーが全てのコマンドを扱えるようになります。
ここで重要なのが、
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
の部分です。
centosにはデフォルトでwheelという名前のグループがあります。
そのグループに所属しているユーザーのみがsudoコマンドを扱うことができます。
usermod -G wheel ユーザー名
ユーザーのサブグループにwheelを追加する事でsudoコマンドを利用できるようになります。
因みにこちらもroot権限では扱えないのでrootユーザーかsudoコマンドが利用できるユーザーにやってもらうしかありません。
長期休暇や療養など、戻ってくるけど少しの間誰もログインしなくなるアカウントがでてきたとします。
ただしそのアカウントには日頃の業務で蓄積した機密情報などが詰まっていて放置しておくには危険が伴います。
そんな時にはユーザーにログインできなくする処理をしなければなりません。
この場合はパスワードをロックするのが良いでしょう。
usermod -Lユーザー名
passwd -l ユーザー名
パスワードをロックする事によってログインができなくなりました。
また、特定のサービスのみを運用するサーバなどではそのサービスを運用するユーザーアカウント自体は必要でもそのアカウントにログインする必要はないという場面があったりします。
そのような場合はユーザーのログインシェルを変更するという形でアカウントを制限します。
usermodコマンドの -s オプションでユーザーのログインシェルを変更する事ができます。
デフォルトは/bin/bashになっているはずですがこちらを/bin/falseか/sbin/nologinに変更する事でアカウントを利用できなくなります。
/etc/nologinという空のファイルを作成するとrootユーザー以外のログインを一切禁止する事もできます。
chageコマンドでパスワードの有効期限周りの設定を行うことができます。
セキュリティ意識の高い会社だと定期的にパスワードを変更しなければならない事もあるかと思います。
その設定に利用するコマンドです。
書式: chage オプション ユーザー名
主なオプション
-l | 現在の設定を表示 |
-m | パスワードの最低変更間隔を設定 |
-M | パスワードの最大有効期間を設定 |
-W | パスワードの有効期限切れに対する警告を発する期間を設定 |
-E | アカウントが無効になるまでの期日を設定 |
-I | パスワードの有効期限が切れてからアカウントが無効になるまでの期限を設定 |
-lオプション以外はroot権限がないと使用できません。
自分だけが利用する環境だと極論全てrootユーザーで操作すればいいので今回の内容は煩わしいものに感じるかもしれません。
ですが実務でLinuxを利用する場合は運用オペレーターがrootユーザーを扱う事はそうそうないと思いますので、
アクセス権限の設定というものはとても基本的かつ重要な要素になります。
運用オペレーターになる方々は押さえておくべき内容になったのかなと思います。
それでは。