👏

LPIC102:ユーザに対するセキュリティ管理

2021/05/15に公開

パスワード管理

ユーザに対するパスワードに有効期限を設定することで、強制的にパスワード変更をユーザに促すことができ、セキュリティの向上が見込まれる。有効期限の設定は、「chageコマンド」で行う。

chageコマンドのオプション

オプション 説明
-l (ls) パスワードもしくはアカウントの有効期限を表示する
-m (minimum) パスワード変更間隔の最低日数を設定する
-M (Max) パスワード最大有効期限日数を設定する
-I (Inactive) パスワードの有効期限後に、アカウントがロックされるまでの日数を設定
-W (Warning) パスワードの有効期限が切れる前に、警告を表示する日数を指定
-E (Expire) ユーザアカウントの有効期限を指定
-d パスワードの最終更新日を指定

コマンド例

chage -m 3 -M 28 -W 7 -I 0 -E 2021-06-01 testuser

ログインの禁止

「/etc/nologin」ファイルを作成することで、rootアカウントによるログイン以外は禁止される。(一般ユーザでのログインができない)また、ユーザのログインシェルを「/bin/false」または、「/sbin/nologin」に変更すると、一般ユーザでのログインを禁止することができる。

ユーザーの切り替え

suコマンドを使用することで、一時的に別のユーザになることができる。

su [- [ユーザー名]]

「-」オプションがあると、直接ログインした時と同様に環境が初期化される。「-」オプションがなければ現在の環境をそのままにしてユーザーだけを切り替える。ユーザ名を省略すると、rootユーザに変更されてシェルが起動する。

sudo

特定の管理者コマンドのみの実行を許可したい場合は、sudoコマンドを利用する。sudoコマンドを使用することで、任意の管理者コマンドを任意のユーザに許可することができる。
sudoコマンドの利用設定は、rootユーザでvisudoコマンドを実行することで、「/etc/sudoers」ファイルが開かれる。

ユーザ名 ホスト名=(実行ユーザ名) [NOPASSWD:]コマンド

/etc/sudoersファイルの書式

項目 説明
ユーザ名 コマンドの実行を許可するユーザ名か、グループ名、もしくはALL
ホスト名 実行を許可するホスト名か、IPアドレス、もしくはALL
実行ユーザ名 コマンド実行時のユーザ名、もしくはALL
コマンド 実行を許可するコマンドのパス、もしくはALL
NOPASSWD 指定すると、コマンド実行時にパスワードを問われない

sudoコマンドのオプション

項目 説明
-l 許可されているコマンドを表示する
-i 変更先ユーザでシェルを起動する(ログイン時の処理を行う)
-s 変更先ユーザでシェルを起動する
-u rootではなく指定したユーザでコマンドを実行する

システムリソースの制限

ulimitコマンドで、ユーザが利用できるリソースを制御する。

ulimitコマンドのオプション

項目 説明
-a 制限の設定値を全て表示する
-c サイズ 生成されるコアファイルのサイズを指定する
-f サイズ シェルが生成できるファイルの最大サイズをブロック単位で指定する
-n 数 同時に開くことのできるファイルの最大数
-u プロセス数 一人のユーザが利用できる最大プロセス数を指定する
-v サイズ シェルとその子プロセスが利用できる最大仮想メモリサイズを指定する

Discussion