私たちは20のLinuxシステム(RaspberryPI、NAS、デスクトップコンピュータ)で小規模の研究室を運営しており、すべてsudo権限を必要とする4人の科学者と共に研究を進めています。
私たちは、4人のユーザーがすべてsudo権限と物理アクセス権を持っているので信頼します。ラボネットワークはローカルネットワークなので、インターネットからアクセスできません。
今、資格情報を同期しようとしています。あるユーザーがパスワードを変更する場合は、他の19のシステムでパスワードを手動で変更しないでください。
LDAPのような複雑なソリューションは避けたいです。私の心に浮かんだ最初のアイデアは、NASの資格情報を単一のソースとして維持し、scpを介してsystemdモジュールのクライアントにコピーすることでした。
しかし、私は車輪を再発明してパッケージ/ソリューションを準備していますが、間違ったクエリを試しているようです。
このシナリオでは、一般にどのパッケージまたはソリューションが使用されますか?
答え1
今、資格情報を同期しようとしています。あるユーザーがパスワードを変更する場合は、他の19のシステムでパスワードを手動で変更しないでください。
LDAPは、UID / GIDやホームディレクトリなどのユーザー属性を保存するために使用されます。まさか最初にすることは資格情報を保存することです(もちろんそうすることもできます)。
私の提案は、例えばMITのkrb5-kdcを使ってKerberosを設定することです。
- Debian にインストール
krb5-user
,krb5-kdc
, .krb5-admin-server
- ドメイン名の選択(最大実際のDNSドメイン名に対応しますが、必ずしも必要ではありませんが、常に大文字で表示されます。
kdb5_util create -s
KDCデータベースの初期化を実行します。 (これ-s
を行うと、データベースの横にあるファイルにマスターキーが保存されます。)kadmin.local
アイテムの作成を開始するには、次の手順を実行します。- ユーザーアカウントを追加:
addprinc fred
- サーバーを追加:
addprinc -nokey host/fredpc.example.com
- ホストのキータブを抽出します。
ktadd -k /tmp/fredpc.keytab host/fredpc.example.com
- (ホストの場合、次の部分は
host/
ホスト自体がFQDNと見なすもの、つまりhostname -f
そのサーバーに報告されているものと一致する必要があります。)
- ユーザーアカウントを追加:
- 起動
krb5-kdc.service
し、サーバーのファイアウォールがインバウンドポート88(TCP)を許可していることを確認してください。そしてUDP)(Kerberos要求の場合)。
(Kerberosを介してUIDまたはログインシェルを定義しないことに注意してください。これは通常の/ etc / passwdに残すことができ、ホスト間で同じである必要はありません。Kerberosはアカウントソースに関係なく認証に使用できます。)
すべてのサーバーで:
krb5-user
Debianにインストールしてくださいlibpam-krb5
。- プロンプトが表示されたら、ゾーン名とKDCホスト名を入力します。 (後者はDNS SRVレコードを介して設定することで、ホストごとのステップを減らすことができます。どちらのオプションも/etc/krb5.confにあるため、ここで直接展開できます
scp
。) - ホストのキータブを
/etc/krb5.keytab
(モード0600)にコピーします。
これは少しではありません。シンプルしかし、(IMHO)はまだLDAPよりも単純です。
オプション:
PAMを混乱させたくない場合、OpenSSHには実際にKerberos認証パスワードのサポートが組み込まれています。これは
KerberosAuthentication
sshd_config のオプションです。 PAMモジュール(krb5.conf、krb5.keytab)と要件は同じです。ただし、PAMは「passwd」を介してパスワードの変更も処理するため、これを使用しない場合は、ユーザーにそれを実行するように指示する必要がありますkpasswd
。ボーナスとして、Kerberosはあるホストから別のホストへのパスワードなしのSSHであるSSOを提供します。これはsshd_configの別のオプションです
GSSAPIAuthentication
。 pam_krb5で取得したチケットまたは手動で取得したチケットを使用しますkinit
。 (GNOMEとWindowsは自動的に処理し、SSHキーのように透明にします。)