多くのシステム管理者のタスクや職務と同様に、ユーザーアカウントの管理は、1つのことだけではなく、孤立した状態でも存在しません。ユーザーアカウント管理は継続的な仕事の側面であり、アカウントの作成、アカウントの削除、権限の操作、アカウントの期限切れ、パスワード標準の確立、セキュリティの実施、パスワードの変更の実施、システムを整理して維持するためのUIDとGIDの操作などの多くの側面があります。サポート可能。パート1は便利なコマンドに焦点を当てました。この現在の記事では、ユーザーID(UID)とグループID(GID)の管理について説明します。
UIDとGIDの概要
デフォルトでは、LinuxシステムはUIDとGIDを1000から始まる番号順に新しいユーザーアカウントに自動的に割り当てます。つまり、インストール中に新しいユーザーアカウントを作成すると、以下に示すように、UID=1000とGID=1000になります。
khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash
この任意の割り当ての背後にある理論は、1000未満のものはすべてシステムアカウント、サービス、およびその他の特別なアカウント用に予約され、通常のユーザーUIDとGIDは1000を超えるままであるというものです。この理論は、999のアカウント番号からいくつかの事前アカウントを差し引いたものであるという仮定に基づいています。割り当てられたものは、何年にもわたってほとんどのシステムを満足させるのに十分すぎるでしょう。 Linux管理者として20年以上、私は最初の999のシステムアカウント番号を個人的に使い果たしたことはありません。
ルートアカウントには、UID=0およびGID=0を持つというすばらしい特権があります。これらの数値は、ルートアカウントに圧倒的な力を与えるものです。信じられない場合は、rootアカウントの名前をgoonygoogoo
に変更してください。 、または選択したものを選択してから、root
という名前の新しいユーザーアカウントを作成します 、システムが次に使用可能なUIDとGIDを割り当てることができるようにします。このアカウントには、システム上の他のどのユーザーアカウントよりも強力な機能はありません。名前ではなく、管理アカウントに権限を与えるUIDとGIDです。このアサーションをさらにテストするには、UIDとGIDに0のテストユーザーアカウントを割り当てます。これで、アカウント名に関係なく、そのユーザーはrootになります。
以下のリストからわかるように、ユーザーアカウントには(前述のように)1000から番号順にUIDとGIDが割り当てられます。UIDとGIDは常に一致して、整理されています。
khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash
msmith:x:1001:1001::/home/msmith:/bin/bash
mjones:x:1003:1003:Mary Jones:/home/mjones:/bin/bash
jjones:x:1004:1004:John Jones:/home/jjones:/bin/bash
djones:x:1005:1005:Don Jones:/home/djones:/bin/bash
この設定には魔法はありません。システムがそれを行います。心配する必要はありません。
しかし、ユーザーとグループの情報に関してポリシーが異なる場合はどうなりますか?会社で、従業員IDまたはその他の一意の識別子に基づいてUIDとGIDを割り当てたい場合があります(実際にはこの番号が使用されていますが、社会保障番号ではないことを願っています)。または、役割に基づいて特定のGIDを割り当てたい場合はどうでしょうか。 /etc/group
のGIDにユーザーを追加するのではなく ? useradd
を使用すると、これを行うのは簡単です。 このトピックに関する前回の記事のコマンドで、ユーザーアカウント管理の基本について説明しました。
以下は、/etc/group
のユーザーリストです。 :
khess:x:1000:
msmith:x:1001:
mjones:x:1003:
jjones:x:1004:
djones:x:1005:
UIDとGIDのカスタマイズ
従来、プライマリグループ以外のグループにユーザーを追加したい管理者は、アカウントの作成時にuseradd
を使用して追加します。 -G
を備えたツール スイッチ。 -G
の後に必ずすべてのセカンダリグループをリストしてください スペースなしのコンマで区切られたスイッチ。次のコマンドを使用すると、システムは次に使用可能な番号からUIDとプライマリGIDを選択できますが、ユーザーjdoe
が追加されます。 sysadmin
に およびhelpdesk
グループ:
$ sudo useradd -G sysadmin,helpdesk jdoe
-g
を使用してプライマリグループを指定する場合 スイッチの場合、グループはすでに存在している必要があります。たとえば、次のコマンドを入力した場合:
$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe
「useradd:グループ '10600'は存在しません」というエラーが表示され、システムはアカウントを作成しません。グループを指定する必要がある場合は、最初にグループを追加します。
$ groupadd 10600
$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe
グループ権限の管理
ユーザーがファイルを作成すると、ユーザーの所有者は読み取り(r)と書き込み(w)の権限を取得し、グループは読み取りの権限を取得し、他のユーザーは読み取りの権限(rw-r--r--)を取得します。つまり、数値では644です。デフォルトでは、execute(x)権限は付与されていません。したがって、システム管理者として、グループメンバーがファイルまたはファイルのグループに実行権限を設定するように要求した場合は、グループに対してのみ実行権限を付与します。
$ sudo chmod g+x coolscript.sh
ユーザーがユーザー所有者である場合、ユーザーは自分で権限を変更できますが、誤って変更することを恐れて変更しないことがよくあります。グループにファイルへの書き込み権限がある場合でも、ユーザー所有者またはrootユーザーのみがファイルの権限を変更できます。書き込み権限とは、グループメンバーがファイルを編集または削除できることを意味します。
共有グループディレクトリにグループの書き込みアクセス権(許可)があり、グループメンバーが変更する必要のあるファイルにも書き込みアクセス権があることを確認してください。より高度な権限の知識をお持ちの方は、おそらく私がchattr
について言及しない理由を尋ねているでしょう。 (属性の変更)コマンド、そしてそれは有効な質問です。 chattr
コマンドはこの記事の範囲外ですが、chattr
のみに焦点を当てた後の記事で取り上げます。 とその多くのオプション。
まとめ
この記事では、UID属性とGID属性について簡単に説明し、必要に応じてそれらを操作する方法について説明します。また、グループのアクセス許可についても少し説明しました。今後の記事では、chattr
について説明します。 グループメンバーによる誤った削除を防ぐためのオプションを提供するコマンド。先読みしたい場合は注意してください。 chattr
コマンドは、その構文とオプションの結果に精通していない新しい管理者にとってはイライラする可能性があります。
[Red Hat Enterprise Linuxを試してみませんか?今すぐ無料でダウンロードしてください。 ]