ユーザーごとにSambaの「templateShell =/bin/bash」設定をオーバーライドする簡単な方法はありますか?
これは、ActiveDirectoryドメインに参加しているLinuxシステム用です。一部のユーザーは/ bin/bashが必要です。私を含む他の人は/ bin/zshを望んでいます。設定できるAD属性はありますか?
グーグルで見つけたものは、せいぜいハックのようです(/ bin/shを置き換えるスクリプトを書く-メンテナンスの手間)。
同様のserverfaultの質問 LDAPシェルのオーバーライド はOpenLDAP指向のようです(ただし、ADで動作させる方法を誰かが知っている場合は、そう言ってください)。
Winbindを使用している場合は、次の操作を実行できます。
クリストフが提案したようにIDMUをインストールします。 2003 R2以降を使用している場合は、 必要なRFC 2307スキーマが既にインストールされています なので、この手順をスキップできます。
Samba wiki に従って、smb.confに以下を追加します。
winbind nss info = rfc2307
繰り返しますが、これはwinbindを使用している場合にのみ機能します。変更を加えたら、再起動します。
ActiveDirectoryでユーザーのloginShell
属性を設定します。 winbindは、次の更新時にその設定を尊重します。
ADを使用するLinuxシステムが多数ある場合、これは効率的ではない可能性がありますが、システムの数が少ない場合、これを行う最も簡単な方法は、Linuxマシンで以下を実行することです。
getent passwd ADUSER >> /etc/passwd
次に、/ etc/passwd内の対応する行を編集して、優先シェルを反映します(または、/ etc/passwdに追加する前に、sedを使用してシェルエントリをその場で変更します)。 IDMUは、他の人が示唆しているように、おそらく複数のホストにとって最も洗練されたソリューションですが、上記の例は、いくつかのシステムでこれを実行しようとしている場合に機能します。
ADサーバーに Identity Management for Unix (IDMU)をインストールすると、LDAPスキーマが拡張されてUnix属性が格納され、(ユーザー)の[Unix属性]タブでログインシェルを設定できます。オブジェクトのプロパティ。