
Linux ボックスで Active Directory 認証を使用できるようにしようとしています。ほぼすべて正しく設定されていると思います。すべてのグループとユーザーをそれぞれ 発行wbinfo -g
および表示できます。wbinfo -u
私のセットアップの簡単な紹介:
Linux ボックスで管理作業を行うために使用するユーザー名は ですnick
。Active Directory のユーザー名は ですnwalke
。これらには 2 つの異なるパスワードがあります。 とそのユーザーのパスワードを使用してボックスにログインできます。また、のパスワード を使用してnick
としてログインすることもできます。nwalke
nwalke
興味深い点:
Active Directory ユーザーのホーム ディレクトリを作成すると、ルート アクセスを必要とするスクリプトを実行します。これは、それらのユーザーの samba 共有などのシステム全体の設定を行うためです。 としてログインしnwalke
、パスワードを入力するnwalke
と成功します。次に が表示されます。ここで[sudo] password for nick:
自分のパスワードを入力すると、 と表示されます。のパスワードを入力すると、 と表示されます。 nwalke
Sorry, try again.
nick
Sorry, user nick is not allowed to execute scriptname as root
groups
を実行するとnwalke
、ユーザーにグループ が魔法のように付与されていることがわかりますnick
。
さて、私は誤って のnick
UID が 1000 ではなく 100 であると考えていました。そのため、元々 ではsmb.conf
でしたidmap uid 1000-10000
。考えられる唯一の原因は、 がnwalke
まだ設定されている間に でログインしたため、UID が 1000 と表示され、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 ボックス上のユーザーにバインドする必要がありますか?
答え1
UID が重複しているようです。と が同じ数値 UID を共有している
場合、 、、などに対して最初の nsswitch 一致が優先されます ( または同等の で順序を変更していない限り、最初の一致は通常、passwd ファイル外です)。nwalke
nick
id
sudo
ls
/etc/nsswitch.conf
(ログインはどちらの名前でも機能します。ログインは名前でユーザーを検索するためです。ただし、同じ名前のユーザーが 2 人いると、興味深い混乱が生じます...)
ローカル ( /etc/passwd
、/etc/group
) とリモート (NIS、Samba、LDAP など) の UID/GID は重複してはいけません。この根本的な問題を修正すれば、残りは自然に解決されます。
答え2
smb.conf の値を 10,000 に変更しましたが、nwalke がまだ 1000 とペアになっているように感じます。どうすれば解決できますか?
どのファイルか思い出せませんし、現在確認するシステムもありません。
ユーザーが最初に接続するときに ID が割り当てられ、その ID が Samba データベースの 1 つに保存されます。/var/lib/samba/
そのフォルダーを見れば、どのファイルかは明らかです。Samba を停止して、そこにあるすべてのファイルを移動または削除してみることもできますが、マシン アカウントの資格情報もこれらのデータベースの 1 つに保存されているため、ドメインに再度参加する必要があります。