FreeIPAサーバーをインストールし、Kerberosチケットを初期化したら、次にID管理を実行します。これは、グループとユーザーの作成から始まります。
前提条件
このガイドでは、機能しているfreeipaサーバーが必要です。 freeipaサーバーのセットアップ方法に関するこれらのガイドを確認してください:
- Rocky Linux /Centos8にFreeIPAをインストールして構成する方法
- Rocky Linux / Alma Linux /Centos8でFreeIPAレプリケーションを構成する方法
続行するには、有効なKerberosチケットも必要です。これを使用してプリンシパルのチケットを生成します:
kinit [principal]
これは私の管理者ユーザー向けです:
$ kinit admin
Password for [email protected]:
次のコマンドを使用して、キャッシュされたKerberosチケットを一覧表示して、チケットの検証を確認します。
$ klist
Ticket cache: KCM:1000
Default principal: [email protected]
Valid starting Expires Service principal
12/02/2021 21:38:40 12/03/2021 20:58:27 krbtgt/[email protected]
チケットのデフォルトの有効期間は24時間です
関連コンテンツ
- Rocky Linux / Alma Linux /CentOS8にFreeIPAクライアントをインストールする方法
- Ubuntu20.04にFreeIPAクライアントをインストールして構成する方法
- Fedora35にFreeIPAクライアントをインストールする方法
FreeIPAでのグループの管理
FreeIPAでは、ユーザーグループは、共通のパスワードポリシー、特権、およびその他の特性を持つユーザーのセットです。ユーザーグループには次のものを含めることができます:
- FreeIPAユーザー
- その他のユーザーグループ
- 外部ユーザー 、つまり、FreeIPAドメインの外部に存在するユーザー
サポートされているグループタイプは次のとおりです。
- POSIXグループ –これは、グループメンバーのLinuxPOSIX属性をサポートするデフォルトのタイプです。 Active Directoryとやり取りするグループは、POSIX属性(例: uidNumber )を使用できません およびgidNumber )
- 非POSIXグループ –これらはPOSIX属性をサポートしていません。たとえば、GIDはありません。
- 外部グループ –[ローカルシステムなど、FreeIPAドメイン外のIDストアに存在するグループメンバーを追加するために使用されます 、ActiveDirectoryドメインまたはディレクトリ自体 rvice]。これらのグループはPOSIX属性をサポートしていません。
以下のグループは、FreeIPAサーバーのインストールおよび構成時にデフォルトで作成されます。
- 管理者 –デフォルトの admin を含む、管理者権限を持つすべてのユーザーで構成されます ユーザー
- ipausers –すべてのFreeIPAユーザーで構成されます
- 信頼できる管理者 –ActiveDirectoryの信頼を管理する権限を持つユーザー
ユーザーがユーザーグループに追加されると、ユーザーはグループに関連付けられた特権とポリシーを取得します
FreeIPAにユーザーグループを追加
このコマンドを使用して、 qa
というグループを追加します FreeIPAで
ipa group-add --desc='QA Engineers' qa
これは私のサーバーの出力です
$ ipa group-add --desc='QA Engineers' qa
----------------
Added group "qa"
----------------
Group name: qa
Description: QA Engineers
GID: 1063800004
デフォルトでは、上記のコマンドはPOSIXユーザーグループを追加します。別のグループタイプを指定するには、コマンドにオプションとして追加します。
# Create an external group $ ipa group-add --external groupname # Create a non-POSIX group $ ipa group-add --nonposix groupname
カスタムグループIDの使用
カスタムグループID(GID)を指定するには、オプション gid =custom_GID
を使用します
$ ipa group-add gid=custom_GID groupname
ただし、IDの競合を避けるように注意する必要があります。
ユーザーグループの検索
すべてのユーザーグループを表示する:
$ ipa group-find ---------------- 5 groups matched ---------------- Group name: admins Description: Account administrators group GID: 1063800000 Group name: editors Description: Limited admins who can edit other users GID: 1063800002 Group name: ipausers Description: Default group for all users Group name: qa Description: QA Engineers GID: 1063800004 Group name: trust admins Description: Trusts administrators group ---------------------------- Number of entries returned 5 ----------------------------
POSIX以外のすべてのグループを表示する:
$ ipa group-find --nonposix ---------------- 2 groups matched ---------------- Group name: ipausers Description: Default group for all users Group name: trust admins Description: Trusts administrators group ---------------------------- Number of entries returned 2 ----------------------------
すべてのPOSIXグループを表示します:
$ ipa group-find --posix
----------------
3 groups matched
----------------
Group name: admins
Description: Account administrators group
GID: 1063800000
Group name: editors
Description: Limited admins who can edit other users
GID: 1063800002
Group name: qa
Description: QA Engineers
GID: 1063800004
----------------------------
Number of entries returned 3
----------------------------
すべての外部グループを表示する:
$ ipa group-find --external
----------------
0 groups matched
----------------
----------------------------
Number of entries returned 0
----------------------------
FreeIPAグループアカウントを検索します。
ipa group-find development
検索結果を特定のユーザーを含むグループに制限することもできます:
$ ipa group-find --user=user_name
特定のユーザーを含まないグループを検索する場合は、その逆になります。
$ ipa group-find --no-user=user_name
FreeIPAグループアカウントにメンバーを追加します。
ipa group-add-member --users=jdoe qa
ネストされたFreeIPAグループにFreeIPAグループを追加する
ipa group-add-member --groups=development engineering
FreeIPAグループアカウントを削除します。
ipa group-del qa
FreeIPAでのユーザーの管理
FreeIPAユーザーアカウントを追加する
コマンド構文は次のとおりです。
$ ipa user-add
これらは一般的に使用されるipauser-add コマンドオプション:
- –first =STR –ユーザーの名
- –last =STR –ユーザーの名前
- –cn =STR –ユーザーアカウントのフルネーム
- –homedir =STR –ホームディレクトリ
- –shell =STR –ログインシェル
- –email =STR –メールアドレス
- –パスワード –ユーザーパスワードの設定を求める
- –mobile =STR –携帯電話番号
このコマンドは、ユーザーアカウントの作成に必要な基本データを追加できるスクリプトを実行します。
$ ipa user-add
First name: John
Last name: Doe
User login [jdoe]: jdoe
-----------------
Added user "jdoe"
-----------------
User login: jdoe
First name: John
Last name: Doe
Full name: John Doe
Display name: John Doe
Initials: JD
Home directory: /home/jdoe
GECOS: John Doe
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
Email address: [email protected]
UID: 1063800005
GID: 1063800005
Password: False
Member of groups: ipausers
Kerberos keys available: False
ユーザーアカウントの作成中は、ユーザーパスワードは設定されません。
ユーザーにパスワードを割り当てるには、ipaコマンドを使用して、以下のオプションでユーザーを追加します。
まずユーザーを削除します
$ ipa user-del jdoe
-------------------
Deleted user "jdoe"
-------------------
次に、パスワードを指定するユーザーを作成します
$ ipa user-add --first=John --last=Doe --password jdoe
Password:
Enter Password again to verify:
-----------------
Added user "jdoe"
-----------------
User login: jdoe
First name: John
Last name: Doe
Full name: John Doe
Display name: John Doe
Initials: JD
Home directory: /home/jdoe
GECOS: John Doe
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
User password expiration: 20211202190348Z
Email address: [email protected]
UID: 1063800006
GID: 1063800006
Password: True
Member of groups: ipausers
Kerberos keys available: True
FreeIPAユーザーアカウントのパスワードを変更するには
$ ipa passwd jdoe
New Password:
Enter New Password again to verify:
-------------------------------------------
Changed password for "[email protected]"
-------------------------------------------
ユーザーアカウントをロックする
$ ipa user-disable jdoe
----------------------------
Disabled user account "jdoe"
----------------------------
ユーザーアカウントのロックを解除する
$ ipa user-enable jdoe
---------------------------
Enabled user account "jdoe"
---------------------------
FreeIPAユーザーアカウントを検索する
$ ipa user-find jdoe
--------------
1 user matched
--------------
User login: jdoe
First name: John
Last name: Doe
Home directory: /home/jdoe
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
Email address: [email protected]
UID: 1063800006
GID: 1063800006
Account disabled: False
----------------------------
Number of entries returned 1
----------------------------
生のユーザーをfreeipaで表示する
$ ipa user-show --raw jdoe
uid: jdoe
givenname: John
sn: Doe
homedirectory: /home/jdoe
loginshell: /bin/bash
krbcanonicalname: [email protected]
krbprincipalname: [email protected]
mail: [email protected]
uidnumber: 1063800006
gidnumber: 1063800006
nsaccountlock: FALSE
has_password: TRUE
has_keytab: TRUE
作成されたユーザー情報を変更するには、コマンド構文を使用します:
$ ipa [global-options] user-mod LOGIN
パスワードを変更するには
$ ipa user-mod --password jdoe
Password:
Enter Password again to verify:
--------------------
Modified user "jdoe"
--------------------
User login: jdoe
First name: John
Last name: Doe
Home directory: /home/jdoe
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
Email address: [email protected]
UID: 1063800006
GID: 1063800006
Account disabled: False
Password: True
Member of groups: ipausers
Kerberos keys available: True
FreeIPAユーザーアカウントを削除する
ipa user-del jdowe
次のコマンド構文を使用して、ユーザーグループにメンバーを追加します。
ipa [global-options] group-add-member GROUP-NAME [options]
一般的なオプション:
- –users =STR –グループに追加するユーザー
- –groups =STR –指定されたグループに追加するグループ
- –services =STR –グループに追加するサービス
- –external =STR DOM\nameまたは[メールで保護された]フォームの信頼できるドメインのメンバー
グループへのユーザー/グループの追加に関する以下の例を参照してください
ユーザーを追加しますjdoe qaのメンバーマネージャーとして :
$ ipa group-add-member qa --users=jdoe Group name: qa Description: QA Engineers GID: 1063800004 Member users: jdoe ------------------------- Number of members added 1 -------------------------
ユーザーをメンバーマネージャーとしてユーザーグループに追加する
$ ipa group-add-member-manager developers --users=jdoe
Group name: developers
GID: 106380005
Membership managed by users: jdoe
-------------------------
Number of members added 1
-------------------------
ユーザーjdoe 開発者のメンバーを管理できるようになりました 。
または、グループを追加します qa 開発者のメンバーマネージャーとして :
$ ipa group-add-member-manager developers --groups=qa
Group name: developers
GID: 320800004
Membership managed by groups: qa
Membership managed by users: jdoe
-------------------------
Number of members added 1
-------------------------
$ ipa group-show devops
Group name: developers
GID: 320800004
Membership managed by groups: qa
Membership managed by users: jdoe
グループqa その後、開発者のメンバーを管理できるようになります 。
別のグループのメンバーとして追加を追加
group_aのメンバーとしてaddgroup_bを追加します:
$ ipa group-add-member group_a --groups=group_b
ユーザーグループからのメンバーの削除
まず、削除するメンバーがグループに含まれていることを確認します。
ipa group-show
ipa group-remove-member
を使用して、ユーザーグループからメンバーを削除します 次のオプションを使用して削除するメンバーを指定する際のコマンド:
-ユーザー
FreeIPAユーザーを削除します-外部
FreeIPAドメインの外部に存在するユーザーを、DOMAIN \ user_name
の形式で削除します または[emailprotected]
-グループコード> ユーザーグループを削除します
たとえば、 jmutaiを削除するには sysadminsというグループから :
$ ipa group-remove-member qa --users=jdoe
Group name: qa
GID: 320800003
---------------------------
Number of members removed 1
---------------------------
user1を削除します 、 user2 、および group1 group_nameというグループから :
ipa group-remove-member group_name --users=user1 --users=user2 --groups=group1
ユーザーまたはグループをメンバーマネージャーとしてユーザーグループから削除する
コマンド構文:
ipa group-remove-member-manager GROUP-NAME [options]
使用するオプション:
- –users =STR 削除するユーザー
- –groups =STR 削除するグループ
たとえば、ユーザーを削除するには user1 group1のメンバーマネージャーとして :
$ ipa group-remove-member-manager group1 --users=user1
devopsのメンバーマネージャーとしてグループsysadminsを削除します:
$ ipa group-remove-member-manager developers --groups=qa
Group name: developers
GID: 320800004
Membership managed by users: jdoe
---------------------------
Number of members removed 1
---------------------------
グループとそのメンバーは、削除後、開発者グループのメンバーを管理できなくなります。
既存のローカルユーザーをFreeIPAディレクトリに追加します。
この例では、ユーザー名と同じパスワードを設定しますが、初回ログイン時に変更する必要があります
# extract local users who have 1000-9999 digit UID
# this is an example
#!/bin/bash
for line in `grep "x:[1-9][0-9][0-9][0-9]:" /etc/passwd`
do
USER=`echo $line | cut -d: -f1`
FIRST=`echo $line | cut -d: -f5 | awk {'print $1'}`
LAST=`echo $line | cut -d: -f5 | awk {'print $2'}`
[ ! "$FIRST" ] && FIRST=$USER
[ ! "$LAST" ] && LAST=$USER
echo $USER | ipa user-add $USER --first=$FIRST --last=$LAST --password
done