web-dev-qa-db-ja.com

WinbindおよびSambaでActiveDirectory統合が正しく機能しない

LinuxボックスでActiveDirectory認証を使用できるようにしようとしています。私はほとんどすべてが正しくセットアップされていると信じています。 _wbinfo -g_と_wbinfo -u_を発行して、すべてのグループとユーザーをそれぞれ表示できます。

私のセットアップの簡単な紹介:

Linuxボックスで管理作業を行うために使用するユーザー名はnickです。私のActiveDirectoryユーザー名はnwalkeです。彼らは2つの異なるパスワードを持っています。 nickとそのユーザーのパスワードを使用してボックスにログインできます。また、nwalkeのパスワードを使用してnwalkeとしてログインすることもできます。

奇妙なビット:

Active Directoryユーザーのホームディレクトリを作成したら、rootアクセスを必要とするスクリプトを実行します。これは、Samba共有などのシステム全体をセットアップするためのものです。 nwalkeとしてログインするときに、nwalkeパスワードを入力すると、成功します。その後、_[Sudo] password for nick:_で迎えられます。ここにnwalkeパスワードを入力すると、_Sorry, try again._と表示されます。 nickのパスワードを入力すると、_Sorry, user nick is not allowed to execute scriptname as root_と表示されます。

groupsnwalkeとして実行すると、魔法のようにユーザーにグループnickが与えられていることがわかります。

さて、私は誤ってnickのUIDが1000ではなく100だと思っていました。そのため、元々は_smb.conf_に_idmap uid 1000-10000_がありました。私が考えることができる唯一のことは、それがまだ設定されている間にnwalkeでログインし、今は1000のUIDが表示され、Linuxに私がnickであると思わせることです。

ここからどこへ行けばいいのかよくわかりません。私が言ったように、Active Directoryがサーバーと適切に通信していることはかなり確かですが、Linux側で何かを正しくマッピングしてはなりません。

何かご意見は?

これが私の_smb.conf_です:

_[global]
    security = ads
    netbios name = hostname
    realm = COMPANY.COM
    password server = adshost.company.com
    workgroup = COMPANY
    idmap uid = 10000-90000
    idmap gid = 10000-90000
    winbind separator = +
    winbind enum users = no
    winbind enum groups = no
    winbind use default domain = yes
    template homedir = /home/%D/%U
    template Shell = /bin/bash
    client use spnego = yes
    domain master = no
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
_

どういうわけか、Linuxボックスのユーザーにバインドする必要がありますか?

4
tubaguy50035

UIDが重複しているようです。
nwalkenickが同じ数値UIDを共有している場合、最初のnsswitchの一致は、idSudolsなど(そして、/etc/nsswitch.confまたは同等の順序を変更しない限り、最初の一致は通常passwdファイルから外れます)。

(ログインはユーザーを名前で検索するため、ログインはどちらの名前でも機能します。同じ名前のユーザーが2人いると、興味深い混乱が発生します...)

ローカル(/etc/passwd/etc/group)とリモート(NIS、Samba、LDAPなど)のUID/GIDは重複しないようにする必要があります。そのコアの問題を修正すれば、残りは自動的に解決します。

3
voretaq7

Smb.confの値を10,000に変更しましたが、nwalkeが1000とペアになっているように感じます。どうすれば解決できますか?

どのファイルなのか思い出せず、現在チェックするシステムがありません。

ユーザーが最初に接続するとIDが割り当てられ、次に/var/lib/samba/のSambaデータベースの1つに保存されます。そのフォルダーを見ると、それがどのファイルであるかが明らかな場合があります。 Sambaを停止し、そこにあるすべてのファイルを移動/削除することもできますが、マシンアカウントの資格情報もこれらのデータベースの1つに保存されているため、ドメインに再度参加する必要があります。

3
Zoredache