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
_と表示されます。
groups
をnwalke
として実行すると、魔法のようにユーザーにグループ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ボックスのユーザーにバインドする必要がありますか?
UIDが重複しているようです。nwalke
とnick
が同じ数値UIDを共有している場合、最初のnsswitchの一致は、id
、Sudo
、ls
など(そして、/etc/nsswitch.conf
または同等の順序を変更しない限り、最初の一致は通常passwdファイルから外れます)。
(ログインはユーザーを名前で検索するため、ログインはどちらの名前でも機能します。同じ名前のユーザーが2人いると、興味深い混乱が発生します...)
ローカル(/etc/passwd
、/etc/group
)とリモート(NIS、Samba、LDAPなど)のUID/GIDは重複しないようにする必要があります。そのコアの問題を修正すれば、残りは自動的に解決します。
Smb.confの値を10,000に変更しましたが、nwalkeが1000とペアになっているように感じます。どうすれば解決できますか?
どのファイルなのか思い出せず、現在チェックするシステムがありません。
ユーザーが最初に接続するとIDが割り当てられ、次に/var/lib/samba/
のSambaデータベースの1つに保存されます。そのフォルダーを見ると、それがどのファイルであるかが明らかな場合があります。 Sambaを停止し、そこにあるすべてのファイルを移動/削除することもできますが、マシンアカウントの資格情報もこれらのデータベースの1つに保存されているため、ドメインに再度参加する必要があります。