我最近在karmic和lucid桌面客户ldap client authentication上设置了Ubuntu ldap client authentication ,ldap服务器在10.04 LTS服务器上运行, 这是我为客户端设置所遵循的链接,可能这也适用于11.04。 我可以使用ldap用户帐户login到客户端,而且在客户端上,我使用了一个inputsession required pam_mkhomedir.so umask=0022 skel=/etc/skel在pam.d / common-session中自动创build主目录在客户端计算机上当用户第一次login时。 我想有一种方法可以将客户端的主目录同步到服务器,反之亦然,这样用户就可以将他们的文档login到客户端。
我有下面的任务需要完成:
我尝试使用autofs但问题是与客户端计算机上的本地用户帐户(pipe理员,来宾),也被同步或覆盖(我不希望他们挂载)当我把条目* server:/ldaphome/&在/etc/auto.home中获得ldap用户的主目录同步(在/etc/autofs.master包含entry /home /etc/autofs.home /etc/autofs.master )。
任何人都有任何诡计可以做到这一点或以任何其他方式,以便我可以login到客户端同时使用ldap和本地用户凭据的主目录为ldap用户同步? 我知道很多大师在这里,他们的风格怎么会这样呢?
更新:1
我尝试在客户端上的其他目录(ldaphome)以外的其他目录autofs automounting,我试图链接在同一客户端上的ldaphome/$USER和home/$USER ,以便当服务器上的ldaphome在客户端上挂载ldaphome时,用户的主目录home / $ USER将由于符号链接而同步。 所以我编辑了/etc/profile.d/custom.sh文件,并在login时将ln -sf "/ldaphome/$USER" "/home/$USER"链接到这些目录。 我意识到符号链接不能按预期的方式工作,因为它在/ home / $ USER / $ USER下创build链接名称。
DROPPED THIS SYMLINK METHOD!
更新:2
除了在客户端更改本地用户的主目录,并在autofs自动安装home目录,但是我打算保护的客户端上的同一本地pipe理用户也可以作为服务器(admin,guest)上的用户帐户使用, …
更新:3
我妥协只是将已经存在的本地用户帐户( usermod -m -d /local-home/admin admin )移动到不同的主目录,然后在客户端上设置自动挂载。 我又一次陷入了问题,一旦客户端通过ldapauthentication,它不会从服务器获取主文档,但只有在客户端上手动挂载( mount ldapserver:/ldaphome/test /home/test ) mount ldapserver:/ldaphome/test /home/test 。 客户是karmic …
客户端configuration :
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/&
我在服务器上共享ldaphome (192.168.1.2)。 现在的问题是我有/home作为客户端上的一个单独的分区,我卸载它在fstab和挂载它可以在autofsconfiguration中看到ldaphome。 当我尝试使用ldaplogin时,authentication成功后,再次进入login屏幕。 当我停止autofs服务时,它通常会login创build主目录,因为我在session required pam_mkhomedir.so umask=0022 / common-session中使用了session required pam_mkhomedir.so umask=0022 。
当我尝试第一次login任何新的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
有两种处理混合本地和集中帐户(无论是LDAP或NIS或其他)的常见方法。 你的第三个更新涵盖其中之一。
/home基本目录 /home基本目录 我通常使用选项#1和创build/local然后设置我的本地帐户有主目录,如/local/admin , /local/sysadmin , /local/joe等我然后使用autofs来控制安装集中/远程/home下的主目录与您在“Update 3”中描述的方式大致相同。
我认为你的服务器正在用NFS导出主目录? 如果手动挂载客户端上的NFS导出工作正常,但autofs不会,你的问题几乎肯定是你的autofsconfiguration。
为了解决autofs问题,请发布/etc/nsswitch.conf和/etc/auto.master和/etc/auto.home (或任何/无论相关的autofsconfiguration)。
你看过pam_mount吗? 这是我目前使用的,虽然我的用例与你的略有不同。 这个博文给出了一个相当好的过程概述,它是面向SAMBA服务器,但如果你忽略了它与NFS(这是我使用的)工作的Samba特定的部分,并将与10.04。 我在11.04没有试过。
我不得不在ldaphome下创build或复制ldap用户的home directory ,我通过nfs在服务器上共享,我根本没有想到这应该是原因。 当用户第一次login客户端时,我认为用户的主目录是在ldaphome下自动创build的。 我做了以下的事情,每个用户都很容易validation和自动化他们的主目录,没有错误消息提示,我认为inputsession required pam_mkhomedir.so umask=0022根本不需要:
在服务器上,
cp -a /home/* /ldaphome/
或者,如果home目录对于/ home下的ldap用户不可用,则创build目录工作。
mkdir /ldaphome/ldapuser chown -R ldapuser:ldapuser /ldaphome/ldapuser
在客户端,
移动本地用户帐户到任何目录说/local-home通过,
mkdir /local-home
usermod -m -d /local-home/username username
/etc/fstab文件中取消挂载的/home目录的注释,让autofs挂载/home 。 尝试在客户端使用ldap凭据进行日志logging…工作!
由于我是基于Linux实时使用的初始设置,所以我非常担心服务器上的NFS性能如何,因为许多用户一次login和挂载。 我不知道这样做的其他方式,如果任何有较less的服务器负载或certificate是最好的性能。 如果有什么我非常有兴趣听到任何人。