GNU/Linux >> Linux の 問題 >  >> Cent OS

Rocky Linux / Alma Linux /CentOS8にFreeIPAクライアントをインストールする方法

この統合により、システム管理者はFreeIPAサーバー上でサーバーを一元的に便利に構成できます。クライアントマシンで管理コマンドが実行されると、FreeIPAクライアントはそれをサーバーに送信して実行します。

関連コンテンツ

  • FreeIPAサーバーでユーザーとグループを管理する方法
  • Fedora35にFreeIPAクライアントをインストールする方法
  • Rocky Linux /Centos8にFreeIPAをインストールして構成する方法
  • Ubuntu20.04にFreeIPAクライアントをインストールして構成する方法
  • Rocky Linux / Alma Linux /Centos8でFreeIPAレプリケーションを構成する方法

前提条件

フォローするには、次のものがあることを確認してください

  • Rocky Linux /Centos8または任意のRhel8ベースのサーバー
  • クライアントが参加するIPAサーバー
  • サーバーまたはsudoアクセス権を持つユーザーへのsudoアクセス
  • サーバーからのインターネットアクセス

目次

  1. FreeIPAパッケージのインストール
  2. クライアントの設定
  3. 最初のログインでホームディレクトリの作成を有効にする
  4. クライアントの追加をテストする
  5. FreeIPAipaコマンドライン管理ツールの使用
  6. 秘密鍵を使用してパスワードなしの認証を有効にする
  7. Rocky Linux / AlmaLinuxIPAクライアントの削除

1。 FreeIPAパッケージのインストール

Rocky Linux 8サーバーでは、FreeIPAクライアントはAppStreamモジュールとして利用できます。次のコマンドを使用してモジュールを一覧表示します:

$ sudo dnf module list idm

Name Stream     Profiles                               Summary
idm  DL1 [e]    adtrust, client [i], common [d], dns,  The Red Hat Enterprise Linux Identity Management system
                server                                 module
idm  client [d] common [d]                             RHEL IdM long term support client module

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

出力から、DL1があることがわかります。 およびclient ストリーム。 FreeIPAクライアントストリームの詳細については、以下を実行してください:

sudo dnf module info idm:DL1/client

このコマンドを使用してFreeIPAクライアントパッケージをインストールします。

sudo dnf module -y install idm:DL1/client

rpm -qiを使用してクライアントの追加を確認します コマンド

$ rpm -qi ipa-client
Name        : ipa-client
Version     : 4.9.2
Release     : 4.module+el8.4.0+664+1636a961
Architecture: x86_64
Install Date: Fri 12 Nov 2021 08:53:52 PM EAT
Group       : Unspecified
Size        : 266180
License     : GPLv3+
Signature   : RSA/SHA256, Tue 02 Nov 2021 07:33:39 PM EAT, Key ID 15af5dac6d745a60
Source RPM  : ipa-4.9.2-4.module+el8.4.0+664+1636a961.src.rpm
Build Date  : Tue 02 Nov 2021 07:21:45 PM EAT
Build Host  : ord1-prod-x86build001.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager    : [email protected]
Vendor      : Rocky
URL         : http://www.freeipa.org/
Summary     : IPA authentication for use on clients
Description :
IPA is an integrated solution to provide centrally managed Identity (users,
hosts, services), Authentication (SSO, 2FA), and Authorization
(host access control, SELinux user roles, services). The solution provides
features for further integration with Linux based clients (SUDO, automount)
and integration with Active Directory based infrastructures (Trusts).
If your network uses IPA for authentication, this package should be
installed on every client machine.
This package provides command-line tools for IPA administrators.

2。クライアントの設定

FreeIPAクライアントパッケージのインストールが完了したら。 IPAサーバーのホスト名とIPアドレスを/etc / hostsに追加します DNS解決が機能していない場合は、ファイルを作成してください。

echo "10.2.40.149 ipa.citizix.com" | sudo tee /etc/hosts

システムのホスト名を設定します。

sudo hostnamectl set-hostname ipa-client.citizix.com

次に、FreeIPAサーバーとドメイン名を指定してクライアントをセットアップできます

sudo ipa-client-install --server=ipa.citizix.com --domain ipa.citizix.com

この例のように、ipaクライアントのホスト名、サーバー、ドメイン、およびレルムを指定する引数をさらに追加することもできます。

sudo ipa-client-install --hostname=ipa-client.citizix.com \
 --mkhomedir \
 --server=ipa.citizix.com \
 --domain ipa.citizix.com \
 --realm IPA.CITIZIX.COM

これが私の出力です。これに似たものが表示されるはずです

# ipa-client-install --server=ipa.citizix.com --domain ipa.citizix.com
This program will set up IPA client.
Version 4.9.2

Sudo version 1.8.29
Configure options: --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --prefix=/usr --sbindir=/usr/sbin --libdir=/usr/lib64 --docdir=/usr/share/doc/sudo --disable-root-mailer --with-logging=syslog --with-logfac=authpriv --with-pam --with-pam-login --with-editor=/bin/vi --with-env-editor --with-ignore-dot --with-tty-tickets --with-ldap --with-ldap-conf-file=/etc/sudo-ldap.conf --with-selinux --with-passprompt=[sudo] password for %p:  --with-linux-audit --with-sssd
Sudoers policy plugin version 1.8.29
Sudoers file grammar version 46

Sudoers path: /etc/sudoers
nsswitch path: /etc/nsswitch.conf
ldap.conf path: /etc/sudo-ldap.conf
ldap.secret path: /etc/ldap.secret
Authentication methods: 'pam'
Syslog facility if syslog is being used for logging: authpriv
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert
Ignore '.' in $PATH
Send mail if the user is not in sudoers
Lecture user the first time they run sudo
Require users to authenticate by default
Root may run sudo
Always set $HOME to the target user's home directory
Allow some information gathering to give useful error messages
Visudo will honor the EDITOR environment variable
Set the LOGNAME and USER environment variables
Length at which to wrap log file lines (0 for no wrap): 80
Authentication timestamp timeout: 5.0 minutes
Password prompt timeout: 5.0 minutes
Number of tries to enter a password: 3
Umask to use or 0777 to use user's: 022
Path to mail program: /usr/sbin/sendmail
Flags for mail program: -t
Address to send mail to: root
Subject line for mail messages: *** SECURITY information for %h ***
Incorrect password message: Sorry, try again.
Path to lecture status dir: /var/db/sudo/lectured
Path to authentication timestamp dir: /run/sudo/ts
Default password prompt: [sudo] password for %p:
Default user to run commands as: root
Value to override user's $PATH with: /sbin:/bin:/usr/sbin:/usr/bin
Path to the editor for use by visudo: /bin/vi
When to require a password for 'list' pseudocommand: any
When to require a password for 'verify' pseudocommand: all
File descriptors >= 3 will be closed before executing a command
Reset the environment to a default set of variables
Environment variables to check for sanity:
	TZ
	TERM
	LINGUAS
	LC_*
	LANGUAGE
	LANG
	COLORTERM
Environment variables to remove:
	*=()*
	RUBYOPT
	RUBYLIB
	PYTHONUSERBASE
	PYTHONINSPECT
	PYTHONPATH
	PYTHONHOME
	TMPPREFIX
	ZDOTDIR
	READNULLCMD
	NULLCMD
	FPATH
	PERL5DB
	PERL5OPT
	PERL5LIB
	PERLLIB
	PERLIO_DEBUG
	JAVA_TOOL_OPTIONS
	SHELLOPTS
	BASHOPTS
	GLOBIGNORE
	PS4
	BASH_ENV
	ENV
	TERMCAP
	TERMPATH
	TERMINFO_DIRS
	TERMINFO
	_RLD*
	LD_*
	PATH_LOCALE
	NLSPATH
	HOSTALIASES
	RES_OPTIONS
	LOCALDOMAIN
	CDPATH
	IFS
Environment variables to preserve:
	XAUTHORITY
	_XKB_CHARSET
	LINGUAS
	LANGUAGE
	LC_ALL
	LC_TIME
	LC_TELEPHONE
	LC_PAPER
	LC_NUMERIC
	LC_NAME
	LC_MONETARY
	LC_MESSAGES
	LC_MEASUREMENT
	LC_IDENTIFICATION
	LC_COLLATE
	LC_CTYPE
	LC_ADDRESS
	LANG
	USERNAME
	QTDIR
	PS2
	PS1
	MAIL
	LS_COLORS
	KDEDIR
	HISTSIZE
	HOSTNAME
	DISPLAY
	COLORS
Locale to use while parsing sudoers: C
Compress I/O logs using zlib
Directory in which to store input/output logs: /var/log/sudo-io
File in which to store the input/output log: %{seq}
Add an entry to the utmp/utmpx file when allocating a pty
PAM service name to use: sudo
PAM service name to use for login shells: sudo-i
Attempt to establish PAM credentials for the target user
Create a new PAM session for the command to run in
Perform PAM account validation management
Maximum I/O log sequence number: 0
Enable sudoers netgroup support
Check parent directories for writability when editing files with sudoedit
Query the group plugin for unknown system groups
Allow commands to be run even if sudo cannot write to the audit log
Allow commands to be run even if sudo cannot write to the log file
Resolve groups in sudoers and match on the group ID, not the name
Log entries larger than this value will be split into multiple syslog messages: 960
File mode to use for the I/O log files: 0600
Execute commands by file descriptor instead of by path: digest_only
Type of authentication timestamp record: tty
Ignore case when matching user names
Ignore case when matching group names
Log when a command is allowed by sudoers
Log when a command is denied by sudoers
Don't pre-resolve all group names

Local IP address and netmask pairs:
	10.2.40.72/255.255.255.0
	10.88.0.1/255.255.0.0
	fe80::863:3cff:fec2:9a33/ffff:ffff:ffff:ffff::
	fe80::c894:28ff:fe0e:4b89/ffff:ffff:ffff:ffff::
	fe80::5857:74ff:fe85:d86d/ffff:ffff:ffff:ffff::
	fe80::9896:7dff:fef6:b3be/ffff:ffff:ffff:ffff::
	fe80::1445:1aff:fe2e:d9dd/ffff:ffff:ffff:ffff::

Sudoers I/O plugin version 1.8.29
Autodiscovery of servers for failover cannot work with this configuration.
If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
Proceed with fixed values and no DNS discovery? [no]: yes
Do you want to configure chrony with NTP server or pool address? [no]: no
Client hostname: ipa-replica.citizix.com
Realm: IPA.CITIZIX.COM
DNS Domain: ipa.citizix.com
IPA Server: ipa.citizix.com
BaseDN: dc=ipa,dc=citizix,dc=com

Continue to configure the system with these values? [no]: yes
Synchronizing time
No SRV records of NTP servers found and no NTP server or pool address was provided.
Using default chrony configuration.
Attempting to sync time with chronyc.
Time synchronization was successful.
User authorized to enroll computers: admin
Password for [email protected]:
Successfully retrieved CA cert
    Subject:     CN=Certificate Authority,O=IPA.CITIZIX.COM
    Issuer:      CN=Certificate Authority,O=IPA.CITIZIX.COM
    Valid From:  2021-11-09 05:42:01
    Valid Until: 2041-11-09 05:42:01

Enrolled in IPA realm IPA.CITIZIX.COM
Created /etc/ipa/default.conf
Configured sudoers in /etc/authselect/user-nsswitch.conf
Configured /etc/sssd/sssd.conf
Configured /etc/krb5.conf for IPA realm IPA.CITIZIX.COM
Systemwide CA database updated.
Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub
Could not update DNS SSHFP records.
SSSD enabled
Configured /etc/openldap/ldap.conf
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring ipa.citizix.com as NIS domain.
Client configuration complete.
The ipa-client-install command was successful

3。最初のログインでホームディレクトリの作成を有効にする

ユーザーのホームディレクトリが自動的に作成されない場合は、以下のコマンドを実行してこの機能を有効にします。これにより、最初のログイン時にホームディレクトリが作成されます。

# authselect enable-feature with-mkhomedir
Make sure that SSSD service is configured and enabled. See SSSD documentation for more information.

- with-mkhomedir is selected, make sure pam_oddjob_mkhomedir module
  is present and oddjobd service is enabled and active
  - systemctl enable --now oddjobd.service

# systemctl enable --now oddjobd
Created symlink /etc/systemd/system/multi-user.target.wants/oddjobd.service → /usr/lib/systemd/system/oddjobd.service.

4。クライアントの追加をテストする

クライアントが正常に追加されたことをテストするには、freeipaのユーザーでログインします。初めてログインする場合は、パスワード変更のプロンプトが表示されます。そうでない場合は、次のように表示されます。

$ ssh [email protected]
([email protected]) Password:
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Fri Nov 12 21:03:32 2021 from 10.2.40.10
[[email protected] ~]$

5。 FreeIPAipaコマンドライン管理ツールの使用

ipaコマンドラインツールを使用して、クライアントマシンからFreeIPAサーバーを管理できます。

まず、Kerberosチケットを取得します。

$ kinit admin
Password for [email protected]:

klistを使用してチケットの有効期限情報を確認してください。

$ klist
Ticket cache: KCM:1000
Default principal: [email protected]

Valid starting       Expires              Service principal
11/12/2021 21:27:59  11/13/2021 21:27:47  krbtgt/[email protected]

ユーザーアカウントを追加し、存在するアカウントを一覧表示してテストします:

$ sudo ipa user-add kip \
     --first=Kipkoech \
     --last=Towett \
     [email protected] \
     --password

Password:
Enter Password again to verify:
----------------
Added user "kip"
----------------
  User login: kip
  First name: Kipkoech
  Last name: Towett
  Full name: Kipkoech Towett
  Display name: Kipkoech Towett
  Initials: KT
  Home directory: /home/kip
  GECOS: Kipkoech Towett
  Login shell: /bin/bash
  Principal name: [email protected]
  Principal alias: [email protected]
  User password expiration: 20211112183007Z
  Email address: [email protected]
  UID: 1063800003
  GID: 1063800003
  Password: True
  Member of groups: ipausers
  Kerberos keys available: True

確認します。

$ ipa user-find kip
--------------
1 user matched
--------------
  User login: kip
  First name: Kipkoech
  Last name: Towett
  Home directory: /home/kip
  Login shell: /bin/bash
  Principal name: [email protected]
  Principal alias: [email protected]
  Email address: [email protected]
  UID: 1063800003
  GID: 1063800003
  Account disabled: False
----------------------------
Number of entries returned 1
----------------------------

6。秘密鍵を使用してパスワードなしの認証を有効にする

パスワードなしでサーバーへの認証を行う場合は、公開鍵をFreeIPAサーバーにコピーします。ユーザープロファイルで、[追加]をクリックします 「SSH公開鍵」の下のボタン 「、公開鍵をボックスに貼り付けて保存します。

7。 Rocky Linux / AlmaLinuxIPAクライアントの削除

Rocky Linux / Alma Linux 8でのFreeIPAクライアントの削除は、次のコマンドを実行することで実行できます:

$ sudo ipa-client-install  --uninstall

結論

このガイドでは、Rocky Linux / Almas Linux /Centos8サーバーにFreeIPAクライアントをインストールしてセットアップすることができました。


Cent OS
  1. CentOSLinuxでブートストラップを解除する方法

  2. Rocky Linux /Centos8にMysql8をインストールする方法

  3. AlmaLinuxとRockyLinuxにPHP8をインストールする方法

  1. Rocky Linux /Centos8にRedis6をインストールして構成する方法

  2. Rocky Linux 8 /Centos8にJava17をインストールする方法

  3. Rocky Linux / Alma Linux /CentOS8にErlangをインストールする方法

  1. CentOS 8 / Rocky Linux 8 /RHEL8にPostgreSQLをインストールする方法

  2. Rocky Linux / Alma Linux /Centos8にPodmanをインストールして使用する方法

  3. Rocky Linux / AlmaLinux8にFFmpegをインストールする方法