私は最近、karmicおよびlucidデスクトップクライアントでUbuntu ldap client authentication
をセットアップし、LDAPサーバーは10.04 LTSサーバーで実行されています this は、クライアントのセットアップでたどったリンクであり、おそらく11.04でも機能します。 LDAPユーザーアカウントを使用してクライアントにログインできました。また、クライアントでは、pam.d/session required pam_mkhomedir.so umask=0022 skel=/etc/skel
のエントリcommon-session
を使用して、ユーザーが初めてログインしたときにクライアントコンピュータにホームディレクトリを自動的に作成しました。私は、ホームディレクトリをクライアントからサーバーに、またはその逆に同期して、ユーザーがログインしたクライアントのドキュメントをユーザーが使用できるようにする方法があると思います。
以下のタスクを実行する必要があります。
私はautofs
を試しましたが、問題は、クライアントコンピューターのローカルユーザーアカウント(admin、guest)にあり、エントリ* server:/ldaphome/&
を挿入すると、同期または上書き(マウントされたくない)します。 /etc/auto.home
を使用して、LDAPユーザーのホームディレクトリを同期化します(/home /etc/autofs.home
のエントリ/etc/autofs.master
を含めます)。
誰かがこれを行う、または他の方法で行うトリックがあるため、LDAPとローカルユーザーの両方の資格情報を使用してクライアントにログインし、LDAPユーザーのホームディレクトリを同期させることができます。私は多くのマスターがここにいることを知っています、彼らのスタイルでこれをどのように行うのですか?.
更新:1
クライアントでautofs
以外の異なるディレクトリ(ldaphome)のhome
自動マウントを試み、同じクライアントでldaphome/$USER
とhome/$USER
をリンクして、サーバーのldaphomeがクライアントにldaphomeをマウントするようにしました、ユーザーのホームディレクトリhome/$ USERはシンボリックリンクのために同期されます。そのため、/etc/profile.d/custom.sh
ファイルを編集し、ln -sf "/ldaphome/$USER" "/home/$USER"
を配置して、ログイン時にこれらのディレクトリをリンクしました。/home/$ USER/$ USERの下にリンク名を作成しているため、シンボリックリンクがディレクトリに対して期待どおりに機能しないことに気付きました。
DROPPED THIS SYMLINK METHOD!
更新:2
クライアント上のローカルユーザーのホームディレクトリを変更し、home
内のautofs
ディレクトリを自動マウントする以外に方法はありませんが、セキュリティを確保しようとしているクライアント上の同じローカル管理ユーザーも使用できますサーバー(admin、guest)のユーザーアカウントとして...
更新:3
既存のローカルユーザーアカウントを別のホームディレクトリに移動(usermod -m -d /local-home/admin admin
)しただけで、クライアントでhome
の自動マウントをセットアップしました。もう一度問題に遭遇しました。クライアントがLDAPによって認証されると、サーバーからホームドキュメントを取得せず、クライアントに手動でマウントした場合にのみ機能します(mount ldapserver:/ldaphome/test /home/test
)。クライアントはkarmic
...です.
クライアント構成:
vim /etc/nsswitch.conf:
# pre_auth-client-config # passwd: compat
passwd: files ldap
# pre_auth-client-config # group: compat
group: files ldap
# pre_auth-client-config # shadow: compat
shadow: files ldap
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
# pre_auth-client-config # netgroup: nis
netgroup: nis
vim /etc/ldap.conf:
base dc=mydomain,dc=net
uri ldap://192.168.1.2
ldap_version 3
rootbinddn cn=admin,dc=mydomain,dc=net
bind_policy soft
pam_password md5
nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,colord,daemon,games,gdm,gnats,hplip,irc,kernoops,libuuid,lightdm,list,lp,mail,man,messagebus,news,proxy,Pulse,root,rtkit,saned,speech-dispatcher,sshd,statd,sync,sys,syslog,usbmux,uucp,vboxadd,www-data
vim /etc/ldap/ldap.conf:
BASE dc=mydomain,dc=net
URI ldap://192.168.1.2
SIZELIMIT 0
TIMELIMIT 0
DEREF never
# TLS certificates (needed for GnuTLS)
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
vim /etc/auto.master:
+auto.master
/home /etc/auto.home
vim /etc/auto.home:
* 192.168.1.2:/ldaphome/&
サーバー(192.168.1.2)でldaphome
を共有しました。ここでの問題は、クライアント上の個別のパーティションとして/home
があり、それをfstab
でマウント解除して、autofs設定で確認できるldaphomeでマウントしたことです。 LDAPでログインしようとすると、認証が成功した後、再びログイン画面が表示されます。 autofs
サービスを停止すると、pam.d/common-sessionでsession required pam_mkhomedir.so umask=0022
を使用したため、通常はログインしてホームディレクトリが作成されます。
新しいLDAPアカウントで初めてログインしようとすると、次のエラーが発生します。
Creating directory '/home/user3'.
Unable to create and initialize directory '/home/user3'.
No directory, logging in with HOME=/
vim /var/log/auth.log:
lucid mkhomedir_helper: PAM unable to create directory /home/user3: No such file or directory
サーバー上でnfsを介して共有したldaphome
の下にhome directory
のldapユーザーを作成またはコピーする必要があり、これが原因であるとはまったく思っていませんでした。ユーザーがクライアントに初めてログインしたときに、ユーザーのホームディレクトリがldaphomeの下に自動的に作成されると思いました。私は次のことを行いました。すべてのユーザーは簡単に認証され、エラーメッセージが表示されることなくホームディレクトリを自動化しました。エントリsession required pam_mkhomedir.so umask=0022
はまったく必要ないと思います。
サーバーでは、
cp -a /home/* /ldaphome/
または、/ homeの下のldapユーザーがホームディレクトリを使用できない場合、ディレクトリの作成は機能しました。
mkdir /ldaphome/ldapuser
chown -R ldapuser:ldapuser /ldaphome/ldapuser
クライアントでは、
ローカルユーザーアカウントを任意のディレクトリに移動して、/local-home
と言います。
mkdir /local-home
usermod -m -d /local-home/username username
/home
ファイルのマウントされた/etc/fstab
ディレクトリのコメントを外して、autofsが/home
をマウントできるようにします。クライアントでLDAP資格情報を使用してログを記録してみてください...動作しました!
私はリアルタイムで使用するLinuxベースのこのセットアップの初心者なので、一度に多くのユーザーがログインしてマウントすると、サーバーでNFSを使用した場合のパフォーマンスがどうなるか非常に心配です。サーバーへの負荷が少ないか、パフォーマンスが最高であることが判明した場合、これを行う他の方法はわかりません。何かあれば、誰からも聞きたいです。
ローカルアカウントと集中アカウントの混合を処理する一般的な方法は2つあります(LDAPまたはNISなど)。 3回目の更新では、そのうちの1つをカバーしています。
/home
_以外のベースディレクトリを使用します/home
_以外のベースディレクトリを使用します私は通常、オプション#1を使用して_/local
_を作成し、次に_/local/admin
_、_/local/sysadmin
_、_/local/joe
_などのホームディレクトリをローカルアカウントに設定します。次に、autofsを使用して「Update 3」で説明したのと同じ方法で、_/home
_の下の集中型/リモートホームディレクトリのマウントを制御します。
サーバーがNFSを使用してホームディレクトリをエクスポートしていると思いますか?クライアントにNFSエクスポートを手動でマウントすることは期待どおりに機能するがautofsが機能しない場合、問題はほぼ間違いなくautofs構成にあります。
Autofsの問題についてサポートが必要な場合は、_/etc/nsswitch.conf
_、/etc/(open)ldap/ldap.conf
、_/etc/ldap.conf
_および_/etc/auto.master
_および_/etc/auto.home
_(または関連するもの/どこでも)の内容を投稿してくださいautofs構成は)。