GNU/Linux >> Linux の 問題 >  >> Linux

FreeIPAサーバーでユーザーとグループを管理する方法

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では、ユーザーグループは、共通のパスワードポリシー、特権、およびその他の特性を持つユーザーのセットです。ユーザーグループには次のものを含めることができます:

  1. FreeIPAユーザー
  2. その他のユーザーグループ
  3. 外部ユーザー 、つまり、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


Linux
  1. Linuxでサービスを管理および一覧表示する方法

  2. LinuxユーザーとLinuxグループを管理する

  3. ユーザー、グループ、その他のLinux権限を管理する方法

  1. Linuxユーザーグループを管理する

  2. セキュリティグループとルールを管理する

  3. Linux でファイルとディレクトリのアクセス許可/所有権を管理する方法

  1. ユーザーとグループ

  2. Linux グループ内のすべてのユーザーを一覧表示する方法は?

  3. ls を所有者とグループでソートするにはどうすればよいですか?