2) ユーザー管理について

 セキュリティー確保のため、アカウント情報を適切に設定し、アクセス制御の基礎を構築するための「ユーザー管理」について解説します。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供

ユーザー管理について

 UNIX系OSには、全権限を持つスーパーユーザーと、それ以外の2種類のユーザーアカウントがあります。
 UNIX系OSでは、スーパーユーザー権限で、スーパーユーザー以外のユーザーを管理します。

 ここでは、スーパーユーザー以外のユーザーを「一般ユーザー」と表現します。

ユーザー管理方式について

 通常、UNIX系OSのユーザーアカウントは、/etc/passwdのようなパスワードデータベースファイルにより管理されています。
 パスワードデータベースファイルはサーバー/システム毎に設定されており、他のサーバー/システムから利用することができません。

 一方、複数のサーバー/システムで同一のユーザー情報を共有し、一元管理により管理コストを軽減するためのユーザー管理方式として、NIS、LDAP、Active Directoryなどのディレクトリサービスがあります。

 ここでは、UNIX系OSでは一般的な、/etc/passwdおよび/etc/shadowによるパスワードデータベースファイルによるユーザー管理方法について解説します。

ユーザー管理内容

 ユーザー情報は/etc/passwdおよび/etc/shadowの各ファイルで管理されており、後述のユーザー管理コマンドでユーザー情報を変更すると、本ファイル内容が変更されます。

 各管理ファイルにて管理されている主なユーザー情報は、以下の通りです。

管理ファイル管理内容
/etc/passwd ユーザー名 (ログイン名)
ユーザーID
ユーザーの所属する主グループID
ホームディレクトリー (そのユーザー専用に割り当てられたディレクトリー)
ログインシェル
/etc/shadowユーザー名(ログイン名)
復号化できないアルゴリズムで暗号化されたパスワード
パスワードの有効期限
ユーザー管理コマンド

 一般ユーザーを管理するために、以下の専用ユーザー管理コマンドがあります。
これらはスーパーユーザー権限にて実行可能です。
ただし、自分自身のパスワード変更は、一般ユーザーでも実行できます。

  • useradd (ユーザー新規作成)
  • userdel (ユーザー削除)
  • usermod (ユーザー管理情報変更)
  • passwd (パスワード変更)


 使用例は以下の通りです。(行頭の「#」は、スーパーユーザー権限による実行を示しています。)

◆ユーザー「user1」の新規作成

# useradd user1

 上記の場合、ユーザー名 (user1) 以外のユーザー情報は、初期値に自動設定されます。サーバーにより初期値は様々ですが、例えば、以下初期値が割り当てられます。

ユーザーID100以上且つ既存ユーザーIDよりも大きい、最小のID
ホームディレクトリー/home/user1
ユーザーの所属する主グループ名user1 (ユーザー名と同じグループに割り当てられる。指定したグループが存在しない場合、グループが新規作成される。)
パスワード未設定 (パスワードを設定するまで、パスワードによる認証不可)
◆ユーザー「user1」のパスワードを変更

# passwd user1

上記実行後、パスワード入力待ち状態になりますので、パスワードを入力します。

◆ユーザー「user1」のログインシェルを/bin/tcshに変更

# usermod -s /bin/tcsh user1

◆ユーザー「user1」の削除

# userdel user1

 次回は、複数のユーザーで共通作業を効率良く行えるようにユーザーをグルーピングし、グループ毎に適切なアクセス制御を行うための「グループ管理」について解説します。

関連キーワード
Linux,LINUX,サーバー管理,ユーザー管理,useradd,userdel,usermod,passwd,/etc/passwd,/etc/shadow

コメントをお待ちしています

お名前:

メールアドレス:

コメント:

このエントリーのトラックバックURL

http://it.jfe-tec.jp/mt/mt-tb.cgi/77