スクリプトで使用すると、realmコマンドが正しく機能しません(CentOS 7)

スクリプトで使用すると、realmコマンドが正しく機能しません(CentOS 7)

CentOS 7ホストでAD経由で認証を自動化するには、ゾーンコマンドを使用しようとしています。

次のコマンドを直接実行すると、完璧に動作します。

$ yum -y install realmd oddjob oddjob-mkhomedir sssd samba-common
$ realm join -U admin domain.com
$ realm permit -g [email protected]

それに加えて、次の行を次のように変更しました。/etc/sssd/sssd.confそしてsssdサービスを再起動してください。

use_fully_qualified_names = False
fallback_homedir = /home/%d/%u

$systemctl restart sssd

この手順を完了したら、Active Directoryで許可されているユーザーを使用して特定のCentOSホストにログインできます。

今質問は次のとおりです。

CentOSホストでrootとして次のスクリプトを実行すると、すべてが正常に動作するようです。

 yum -y install realmd oddjob oddjob-mkhomedir sssd samba-common
 echo "Password" | realm join -U admin domain.com
 realm permit -g [email protected]
 sed -i -e 's/use_fully_qualified_names = True/use_fully_qualified_names = False/g' /etc/sssd/sssd.conf
 sed -i -e 's#fallback_homedir = /home/%u@%d#fallback_homedir = /home/%d/%u#g' /etc/sssd/sssd.conf
 systemctl restart sssd

許可されたADユーザーとしてログインしようとすると、次のように表示されます。許可が拒否されました

確認しました/etc/sssd/sssd.confsedによって引き起こされる可能性があるすべての問題については問題ありません。また、コマンドを実行します。ドメインリスト問題ないようです。

# realm list
domain.com
type: kerberos
realm-name: DOMAIN.COM
domain-name: domain.com
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: oddjob
required-package: oddjob-mkhomedir
required-package: sssd
required-package: adcli
required-package: samba-common
login-formats: %U
login-policy: allow-permitted-logins
permitted-logins:
permitted-groups: [email protected]

このコマンドの出力は、コマンドを手動で実行した後に実行したときとまったく同じです。

この問題を処理する方法を知っている人はいますか?

ベストアンサー1

私は同じ問題があり、これがldap_id_mapping = True私の解決策であることがわかりました。これはにあります/etc/sssd/sssd.conf

おすすめ記事