引用する

引用する

長すぎます。

ユーザーがローカルであるかドメインであるか(どのドメインであるかは関係ありません)、すばやく簡単に確認したいと思います。

環境

  • freeipa-クライアント-4.6.1-3.fc27.x86_64
  • sssd-1.16.0-4.fc27.x86_64

完全な物語

ユーザーがローカルであるか、sssdであるか、sshを使用できるか、sssdで許可されているかを示すuserinfo.shスクリプトを作成しています。

現在、私はユーザーがドメイン出身であることを確認するためにコマンドを使用していますgetent passwd -s sss $USERNAME。しかし、問題が発生しました。 sssdデータベースをチェックすると、ローカルユーザーが返されます!

# getent passwd -s sss 'bgstack15-local'
bgstack15-local:x:1000:1000:bgstack15-local:/home/bgstack15-local:/bin/bash

sssのデータベース(キャッシュ)の内容を調べると、sssdはローカルユーザーに関するさまざまな情報をキャッシュしているようです。

# sudo su root -c 'strings /var/lib/sss/db/* | grep bgstack15-local' | sort | uniq
name=bgstack15-local@implicit_files,cn=groups,cn=ih
name=bgstack15-local@implicit_files,cn=groups,cn=implicit_files,cn=sysdb
name=bgstack15-local@implicit_files,cn=users,cn=implicit_files,cn=sysdb
[...output truncated]

ユーザーに対してのみSSDキャッシュ全体を削除してみました。 2つの間に違いはありません。

# sss_cache -U
# sss_cache -u bgstack15-local

ユーザーはローカルユーザーとしてマークされ、これはローカルユーザーであることを保証します!

getent passwd -s files 'bgstack15-local'
bgstack15-local:x:1000:1000:bgstack15-local:/home/bgstack15-local:/bin/bash

マニュアルページインポート(1)そして検証を受ける(3)何が起こるのかを理解するのを手伝ってはいけません。ソリッドステートドライブ(8)sssdがローカルユーザーをキャッシュできることを示しましたが、これは実際に私が望むものとは反対です! nss部分sssd.conf(5)役に立ちませんが、読むのに十分な時間を費やしていない可能性があります。ちょっと立ち往生しています。

myssd.conf

[domain/ipa.example.com]
id_provider = ipa
ipa_server = _srv_, dns1.ipa.example.com
ipa_domain = ipa.example.com
ipa_hostname = fc27c-01a.ipa.example.com
auth_provider = ipa
chpass_provider = ipa
access_provider = ipa
cache_credentials = True
ldap_tls_cacert = /etc/ipa/ca.crt
krb5_store_password_if_offline = True
[sssd]
services = nss, pam, ssh, sudo
domains = ipa.example.com
[nss]
homedir_substring = /home
[pam]
[sudo]
[autofs]
[ssh]
[pac]
[ifp]
[secrets]
[session_recording]

最後の措置

${USERNAME}@${DOMAIN}進行中に確認することもできますが、-s sssこれはsssd.confのすべてのフィールドを繰り返す必要があるため、プロセスが遅くなります。

ベストアンサー1

この動作を制御するオプションはCentOS 7およびFedoraのsssd.conf(5)には隠されていますが、オンラインのマニュアルページには隠されています。

SSD構成ファイル

[sssd]
enable_files_domain = false

参照3は、sssdが「ローカルユーザーに高速キャッシュ」を提供することを示しています。

私のFedoraシステムのman sssd.conf(5)から:

   enable_files_domain (boolean)
       When this option is enabled, SSSD prepends an implicit domain with
       “id_provider=files” before any explicitly configured domains.

       Default: true

この動作を無効にすると、ローカルユーザーかドメインユーザーかを簡単に確認できます。

引用する

  1. DDG:sssdローカルユーザーキャッシュを無効にする
  2. https://bugzilla.redhat.com/show_bug.cgi?id=1357418
  3. https://fedoraproject.org/wiki/Changes/SSSDCacheForLocalUsers
  4. Fedora 27 sssd.conf(5)
  5. https://bgstack15.wordpress.com/2018/02/23/getent-passwd-s-sss-localuser-shows-local-user/

おすすめ記事