[Linux] ユーザ管理と設定ファイル


概要

たくさん稼動しているサーバを管理するため、ログインユーザとユーザの権限の一覧を作成します。
その際利用するLinuxの設定ファイルについてのメモです。

  • ユーザとグループの基礎
  • ユーザ設定にかかわる設定ファイル
  • セキュリティ設定ファイル

1.ユーザグループの基礎知識

◆ユーザアカウントの分類

  ユーザアカウントは、3種類に分けられる

◆割り当て範囲
  各ユーザは1つのグループに所属する必要があります。
  これをプライマリグループと呼びます。
  そのグループにはユニークな「GID(グループID)」が割り当てられます。

  3種類のユーザに対して割り当て範囲は決まっています。

◆グループ割り当て例

プライマリグループとは別に、追加のグループ(セカンダリグループ)に属することも出来ます。

以下の図で、ユーザ「yococo」は、セカンダリグループとして「wheel」に属しています。
1つのグループに対して、複数のユーザがセカンダリグループとして所属することもあります。

◆Idコマンドによる確認例

各ユーザが所属するグループやUID、GIDなどの情報はIdコマンドで確認できます。

[yococo@mgr01 ~]$ id root
uid=0(root) gid=0(root) 所属グループ=0(root)

[yococo@mgr01 ~]$ id yococo
uid=503(yococo) gid=1000(r_admin) 所属グループ=1000(r_admin),10(wheel)

2.ユーザ設定にかかわる設定ファイル

基本になるのはユーザ情報、グループ情報、パスワード情報を収めた3点セット

「/etc/passwd」
「/etc/group」
「/etc/shadow」

◆/etc/passwdの書式

<個人ユーザの例>

<システムユーザの例>

誰かがイタズラでログインしようとしても出来ない仕掛けになっている

◆/etc/groupの書式

◆/etc/shadowの書式

<個人ユーザの例>

<システムユーザの例>

3.セキュリティ設定ファイル

◆/etc/sudoersの書式
特定のコマンドだけをrootユーザの権限で実行できるようにする場合などに活用します。

ユーザによる指定  
  「yococo」に対して、heepdサービスの起動・停止コマンドを許可している

コマンドが引数を含めて記載しているので、ユーザ「yococo」はこれ以外の引数でserviceコマンドを実行することができません。コマンドのみを記載すると、任意の引数で実行できるようになります。

コマンドをフルパスで記載する必要があります。
フルパスが分からない場合はwhichコマンドで確認します。

#which service
/sbin/service

グループ名による指定

グループ「wheel」に属するユーザに対する設定です。
ユーザ権限の部分とコマンドの部分がともに「ALL」になっているので
グループ「wheel」に属するユーザは任意のユーザ権限で、任意のコマンドを
実行できます。

NOPASSWORDオプションが指定されているので、自分のパスワードを入力する必要がありません。

次はこれらの設定ファイルを利用して一覧を自動で生成する方法をメモします。