CentOS6のユーザー管理とユーザー管理のコマンド操作について、下記オンラインマニュアルを読んでまとめました。
Red Hat Enterprise Linux 6 導入ガイド”第3章 ユーザーとグループの管理”
※目次をクリックすると目次の下部にコンテンツが表示されます。
ユーザーとグループの概要
・各ユーザーは、ユーザーID(UID)、各グループはグループID(GID)に関連付けられる。
 
・グループ内のユーザーは、そのグループが所有するファイルの読み取り/書き込み/実行を行うことができる。
 
・ファイルを作成するユーザーは、そのファイルの所有者でありグループ所有者でもある。
 
・ファイルには所有者、グループ、それ以外のユーザーに対して読み取り/書き込み/実行のパーミッションが割り当てられる。
 
・ファイルの所有者はrootユーザーのみが変更することができる。
 
・アクセスパーミッションはrootユーザーだけでなくファイルの所有者も変更できる。
 
1)UPG(ユーザープライベートグループ)スキーム
 
・UPGスキームでは、新規ユーザーがシステムに追加される度にUPGが作成される。
 
・UPGは作成されたユーザーと同じ名前を持ち、そのユーザーがそのUPGのメンバーとなる。
 
・新規作成されたファイルやディレクトリのパーミッションは、umaskによって決められる。
umaskは、/etc/bashrcファイルで設定され、デフォルトでは022で、ファイルやディレクトリを作成したユーザーのみが修正できるようになっている。
UPGではどのユーザーもそれぞれ独自のプライベートグループを持っているため、通常はグループに対して特別に保護する設定は必要ない。
 
2)シャドウパスワード
 
・シャドウパスワードは、暗号化されたパスワードハッシュをあらゆるユーザーから読み取り可能な/etc/passwdファイルからrootユーザーのみが読み取り可能な/etc/shadowに移動することで、システムセキュリティを向上する。
 
・シャドウパスワードは、パスワードエージングに関する情報も保存する。
 
・シャドウパスワードを使用すると、/etc/login.defsファイルはセキュリティポリシーを強制できる。
・グループ内のユーザーは、そのグループが所有するファイルの読み取り/書き込み/実行を行うことができる。
・ファイルを作成するユーザーは、そのファイルの所有者でありグループ所有者でもある。
・ファイルには所有者、グループ、それ以外のユーザーに対して読み取り/書き込み/実行のパーミッションが割り当てられる。
・ファイルの所有者はrootユーザーのみが変更することができる。
・アクセスパーミッションはrootユーザーだけでなくファイルの所有者も変更できる。
1)UPG(ユーザープライベートグループ)スキーム
・UPGスキームでは、新規ユーザーがシステムに追加される度にUPGが作成される。
・UPGは作成されたユーザーと同じ名前を持ち、そのユーザーがそのUPGのメンバーとなる。
・新規作成されたファイルやディレクトリのパーミッションは、umaskによって決められる。
umaskは、/etc/bashrcファイルで設定され、デフォルトでは022で、ファイルやディレクトリを作成したユーザーのみが修正できるようになっている。
UPGではどのユーザーもそれぞれ独自のプライベートグループを持っているため、通常はグループに対して特別に保護する設定は必要ない。
2)シャドウパスワード
・シャドウパスワードは、暗号化されたパスワードハッシュをあらゆるユーザーから読み取り可能な/etc/passwdファイルからrootユーザーのみが読み取り可能な/etc/shadowに移動することで、システムセキュリティを向上する。
・シャドウパスワードは、パスワードエージングに関する情報も保存する。
・シャドウパスワードを使用すると、/etc/login.defsファイルはセキュリティポリシーを強制できる。
コマンドラインでユーザー、グループ管理
1)新規ユーザーの追加(rootとして実行)
 
①構文
useradd [オプション] ユーザー名
 
・デフォルトでは、useraddコマンドはロックされたユーザーアカウントを作成する。
アカウントのロックを解除するには、rootとして以下のコマンドを実行して、パスワードを割り当てる。
passwd ユーザー名
 
②useradd実行時の挙動
 
useradd sampleを実行した場合に各ファイルにどのような情報が追加されるか以下に示す。
 
●/etc/passwd
 
sample:x:515:515::/home/sample:/bin/bash
(ユーザー名:パスワード:UID:GID:GECOS:ホームディレクトリ:デフォルトシェル)
 
・パスワードフィールドの”x”は、システムがシャドウパスワードを使用していることを示す。
 
・UIDとGIDは、500以上の数値が使用される。500より小さい数字はシステム使用のために保有されているので、ユーザー用には割り当てない事を推奨。
 
●/etc/shadow
 
sample:!!:14798:0:99999:7:::
 
・2つの感嘆符(!!)がパスワードフィールドに表示され、アカウントがロックされている事を示す。
パスワードを設定すると暗号化されたパスワードが表示される。
 
・パスワードは有効期限なしに設定される。
 
●/etc/group
 
sample:x:515:
 
・UPGスキームによってユーザーと同じ名前のグループが作成される。
 
・パスワードフィールドに”x”が表示され、システムがシャドウグループパスワードを使用していることを示す。
 
・GIDは/etc/passwd内に表示されているユーザーのGIDと一致する。
 
●/etc/gshadow
 
sample:!::
 
・1つの感嘆符(!)がパスワードフィールドに表示され、グループがロックされている事を示す。
gpasswdコマンドでグループパスワードを設定すると暗号化されたパスワードが表示される。
 
●ホームディレクトリ
 
・ユーザーsample用のディレクトリが/homeディレクトリ内に作成される。
 
●/etc/skel
 
・/etc/skelディレクトリ(デフォルトのユーザー設定を含む)内のファイルが、新しい/home/sampleディレクトリにコピーされる。
.bash_logout、.bash_profile、.bashrcなどの設定ファイル。
 
2)新規グループの追加(rootとして実行)
 
〇構文
groupadd [オプション] グループ名
 
3)ユーザーを変更、削除
 
userdel、usermod
 
4)グループを変更、削除
 
groupdel、groupmod
①構文
useradd [オプション] ユーザー名
・デフォルトでは、useraddコマンドはロックされたユーザーアカウントを作成する。
アカウントのロックを解除するには、rootとして以下のコマンドを実行して、パスワードを割り当てる。
passwd ユーザー名
②useradd実行時の挙動
useradd sampleを実行した場合に各ファイルにどのような情報が追加されるか以下に示す。
●/etc/passwd
sample:x:515:515::/home/sample:/bin/bash
(ユーザー名:パスワード:UID:GID:GECOS:ホームディレクトリ:デフォルトシェル)
・パスワードフィールドの”x”は、システムがシャドウパスワードを使用していることを示す。
・UIDとGIDは、500以上の数値が使用される。500より小さい数字はシステム使用のために保有されているので、ユーザー用には割り当てない事を推奨。
●/etc/shadow
sample:!!:14798:0:99999:7:::
・2つの感嘆符(!!)がパスワードフィールドに表示され、アカウントがロックされている事を示す。
パスワードを設定すると暗号化されたパスワードが表示される。
・パスワードは有効期限なしに設定される。
●/etc/group
sample:x:515:
・UPGスキームによってユーザーと同じ名前のグループが作成される。
・パスワードフィールドに”x”が表示され、システムがシャドウグループパスワードを使用していることを示す。
・GIDは/etc/passwd内に表示されているユーザーのGIDと一致する。
●/etc/gshadow
sample:!::
・1つの感嘆符(!)がパスワードフィールドに表示され、グループがロックされている事を示す。
gpasswdコマンドでグループパスワードを設定すると暗号化されたパスワードが表示される。
●ホームディレクトリ
・ユーザーsample用のディレクトリが/homeディレクトリ内に作成される。
●/etc/skel
・/etc/skelディレクトリ(デフォルトのユーザー設定を含む)内のファイルが、新しい/home/sampleディレクトリにコピーされる。
.bash_logout、.bash_profile、.bashrcなどの設定ファイル。
2)新規グループの追加(rootとして実行)
〇構文
groupadd [オプション] グループ名
3)ユーザーを変更、削除
userdel、usermod
4)グループを変更、削除
groupdel、groupmod
- 
システム管理
 - CentOSのブートの流れ、ランレベルの指定
 - CentOS6のrc.sysinitスクリプトの処理内容の概要
 - procファイルシステムの概要
 - sysctlコマンドでカーネルパラメータの参照、変更
 - cron、anacronで自動定期実行
 - at、batchコマンドの概要
 - CentOS6のシステムログ
 - rsyslogの設定方法
 - システムログのローテート設定
 - CentOSのハードウェア情報を表示するコマンド
 - CentOSでパーティション、スワップ、ディスク情報を確認
 - LinuxのLVMの概要と表示コマンド
 - ボリュームグループ、論理ボリューム作成、ファイルシステム作成、マウント設定、物理ボリュームを追加
 - CentOSで論理ボリューム、ext4ファイルシステムを拡張
 - CentOSのLVMでボリュームグループから物理ボリュームを削除
 - WindowsからCentOS6にリモートデスクトップする手順
 - viエディタの使用方法
 - HTMLのマニュアルをLinuxのターミナル画面上で読む
 - findコマンドで直近に更新されたファイルを調べる方法
 - Linuxでディスク使用量が多いディレクトリを調べる方法(1)
 - Linuxでディスク使用量が多いディレクトリを調べる方法(2)
 - psコマンドで全プロセスを表示する方法と表示結果の見方
 - プロセス階層、プロセスグループ、セッションを確認するには?
 - psコマンドでスレッドに関する情報を表示するには?
 - netstat、nmapを使ってリッスンポートを確認する方法
 - vmstatコマンドでシステムの状況をモニター
 - シェル変数と環境変数の違い
 - CentOSのユーザー環境設定ファイル(bashrc、profile)
 - 日本語設定、シェル環境設定
 - umaskはどこで設定されている?
 - CentOS6の各種ネットワーク設定ファイルとインタフェース制御スクリプト
 - CentOS6のTCPラッパーの概要と設定方法
 - LinuxのNetworkManagerプロセスの概要
 - CentOS6のユーザー管理の概要とコマンド操作
 - ファイルのパーミッション設定、ディレクトリは要注意
 - Linuxでスティッキービットが設定されているか確認する方法
 - sudoで特定のコマンドのみをroot権限で実行する
 - RHEL6、CentOS6の64ビットサポートとhuge pages
 - RHEL6、CentOS6の64ビットサポートとNUMA
 
Linuxコマンド操作
シェル環境設定
ネットワーク関連
ユーザー管理、権限
64ビットサポート
- 
CentOSの概要
 - RHEL6、CentOS6の64ビットサポートとhuge pages
 - RHEL6、CentOS6の64ビットサポートとNUMA
 - CentOS6インストール手順のメモ
 - CentOSのブートの流れ、ランレベルの指定
 - procファイルシステムの概要
 - sysctlコマンドでカーネルパラメータの参照、変更
 - CentOS6の各種ネットワーク設定ファイルとインタフェース制御スクリプト
 - cron、anacronで自動定期実行
 - at、batchコマンドの概要
 - CentOS6のシステムログ
 - rsyslogの設定方法
 - システムログのローテート設定の確認
 - CentOSのハードウェア情報を表示するコマンド
 - CentOSでパーティション、スワップ、ディスク情報を確認
 - LinuxのLVMの概要と表示コマンド
 - ボリュームグループ、論理ボリューム作成、ファイルシステム作成、マウント設定、物理ボリュームを追加
 - CentOSで論理ボリューム、ext4ファイルシステムを拡張
 - CentOSのLVMでボリュームグループから物理ボリュームを削除
 - WindowsからCentOS6にリモートデスクトップする手順
 - viエディタの使用方法
 - HTMLのマニュアルをLinuxのターミナル画面上で読む
 - findコマンドで直近に更新されたファイルを調べる方法
 - Linuxでディスク使用量が多いディレクトリを調べる方法(1)
 - Linuxでディスク使用量が多いディレクトリを調べる方法(2)
 - ディスク使用量が多いディレクトリを抽出するbashスクリプト
 - psコマンドで全プロセスを表示する方法と表示結果の見方
 - プロセス階層、プロセスグループ、セッションを確認するには?
 - psコマンドでスレッドに関する情報を表示するには?
 - netstat、nmapを使ってリッスンポートを確認する方法
 - 日本語設定、シェル環境設定
 - CentOSのユーザー環境設定ファイル(bashrc、profile)
 - umaskはどこで設定されている?
 - シェル変数と環境変数の違い
 - CentOSのネットワークフィルタリング設定を一から行う
 - CentOS6のTCPラッパーの概要と設定方法
 - CentOS6のユーザー管理の概要とコマンド操作
 - ファイルのパーミッション設定、ディレクトリは要注意
 - Linuxでスティッキービットが設定されているか確認する方法
 - sudoで特定のコマンドのみをroot権限で実行する
 
システム管理
Linuxコマンド操作
シェル環境設定
ネットワーク関連
ユーザー管理、権限