web-dev-qa-db-ja.com

UbuntuをLDAPクライアントとして構成する方法

PamモジュールでLDAPクライアントとしてUbuntu 12.04を構成する方法?

20
felip3

この投稿の内容は このガイド に基づいています。 12.04で正常に動作するはずです。

1)次のコマンドを発行します。

Sudo apt-get install ldap-utils libpam-ldap libnss-ldap nslcd

注:上記のパッケージのインストール中に、ダイアログがポップアップ表示され、LDAP構成について尋ねられます。 LDAP構成の正しい値を入力してください。

2)/etc/nsswitch.confを編集します(Sudo経由)。これらの行に「ldap」を追加します。

#Original file looks like this 
passwd: compat 
group : compat  
shadow: compat 

#After appending "ldap" lines look like these
passwd: compat ldap
group : compat ldap  
shadow: compat ldap 

3)rootbinddn行をコメントアウトします。なぜそうする必要があるのか​​わかりません。

4)/etc/pam.d/login(Sudo経由)を編集して貼り付けます:

session required pam_mkhomedir.so skel=/etc/skel umask=0022 

5)/etc/pam.d/lightdm(Sudo経由)を編集して貼り付けます:

session required pam_mkhomedir.so skel=/etc/skel umask=0022 

6)次のコマンドを発行します。

Sudo update-rc.d nslcd enable

再起動後、LDAPユーザーとしてログインできるはずです。マシンを再起動しない場合は、次のコマンドでnscdを再起動する必要があります。

/etc/init.d/nscd restart

ありそうな問題と解決策:

  • LDAPユーザーとしてのログインには非常に長い時間(分)かかります:nss-lapがユーザーのグループを見つけるのに問題がある可能性が非常に高いです。ユーザーがローカルで認識されるグループに属しているか、LDAPで定義されたグループに属していることを確認してください。グループがLDAPで定義されている場合、それが実際のPOSIXグループであることを確認してください。
  • /var/log/auth.logログファイルを常に確認してください。 「LDAPサーバーに接続できません」と表示された場合は、LDAPサーバーが到達可能で、ポートが開いているかどうかを確認してください。
  • 名前でLDAPサーバーをpingしてみてください
  • LDAPポートが開いているかどうかを確認してください:
    • LDAPはさまざまなポートでリッスンできますが、通常は389および636で見つけることができます
    • Telnetを使用して、ポートが開いていることを確認できます。
    • telnet 389またはtelnet 636
    • コンソールに文字が表示されている場合、ポートは開いており、LDAPサーバーが実行されているはずです。
    • 何も表示されないか、エラーメッセージが表示される場合は、LDAPサーバーが実行されていないか、何か(ファイアウォールなど)が接続を妨げています。
15

ログイン時にホームディレクトリを自動的に作成するには、次の行を追加する必要がありました。

session required pam_mkhomedir.so skel=/etc/skel umask=0022

/etc/pam.d/common-sessionの代わりに/etc/pam.d/loginに-後でそれを手に入れたとき、ホームディレクトリが作成されませんでした。

5
David Purdue
Sudo apt-get install ldap-utils libpam-ldap libnss-ldapd nslcd

代わりにlibnss-ldapdを使用してください。

バグごと: https://bugs.launchpad.net/ubuntu/+source/libnss-ldap/+bug/1024475

2
user249806

ユーザー名を入力するオプションを使用するには、次のコマンドでlightdm configurationを変更する必要があります。

/usr/lib/lightdm/lightdm-set-defaults -m true
1
Fred

Ligthdm greeterへのユーザー名の入力に関しては、16.04の時点で、lightdm-set-defaultsコマンドはなくなりました。

代わりに、ユーザー名を入力するオプションをlightdm構成ファイルに追加できます。たとえば、ファイル/etc/lightdm/lightdm.confを作成し、次の行を追加します。

[SeatDefaults]
greeter-show-manual-login=true
0
Omegamormegil