Ubuntu

OpenLdap 在客戶端和伺服器之間同步主目錄

  • September 13, 2013

我最近ldap client authentication在 karmic 和 lucid 桌面客戶端上設置了​​ Ubuntu,ldap 伺服器在 10.04 LTS 伺服器上執行,是我為客戶端設置所遵循的連結,可能這也適用於 11.04。我可以使用 ldap 使用者帳戶登錄客戶端,並且在客戶端上,我使用session required pam_mkhomedir.so umask=0022 skel=/etc/skelpam.d/common-session中的條目在使用者第一次登錄時自動在客戶端電腦上創建主目錄。我想有一種方法可以將主目錄從客戶端同步到伺服器,反之亦然,這樣使用者就可以在他們登錄的客戶端上擁有他們的文件。

我還有以下任務要完成:

  1. 在客戶端和伺服器之間同步主目錄(就像 Windows 中的漫遊配置文件一樣)。

我試過了,但問題是客戶端電腦上的本地使用者帳戶(管理員、來賓)在我將條目放入以獲取 ldap 使用者的主目錄autofs時也會被同步或覆蓋(我不希望它們被掛載)同步(包括條目)。* server:/ldaphome/&``/etc/auto.home``/home /etc/autofs.home``/etc/autofs.master

任何人都有任何技巧可以做到這一點或使用任何其他方式,以便我可以使用 ldap 和本地使用者憑據登錄到客戶端,並為 ldap 使用者同步主目錄?我知道很多大師都在這裡,如何以他們的風格做到這一點?

更新:1

我嘗試在客戶端上autofs自動掛載不同的目錄(ldaphome)home,並嘗試在同一客戶端上鍊接ldaphome/$USERhome/$USER,以便當伺服器上的 ldaphome 在客戶端上掛載 ldaphome 時,由於符號連結,使用者的主目錄 home/$USER 將同步. 所以我編輯了/etc/profile.d/custom.sh文件並放置ln -sf "/ldaphome/$USER" "/home/$USER"在登錄時連結這些目錄。我意識到符號連結對目錄沒有按預期工作,因為它在 /home/ 下創建連結名稱 $ USER/ $ 使用者。

DROPPED THIS SYMLINK METHOD!

更新:2

home除了更改客戶端上本地使用者的主目錄並自動掛載目錄之外,感覺別無他法,autofs但我想要保護的客戶端上相同的本地管理員使用者也可用作伺服器上的使用者帳戶(管理員,來賓).. .

更新: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/&

ldaphome我在伺服器(192.168.1.2)上共享。現在的問題是我/home在客戶端上有一個單獨的分區,我將它解除安裝fstab並使用 ldaphome 安裝它,您可以在 autofs 配置中看到。當我嘗試使用 ldap 登錄時,在成功驗證後,它再次進入登錄螢幕。當我停止autofs服務時,它通常會登錄創建主目錄,就像我session required pam_mkhomedir.so umask=0022在 pam.d/common-session 中使用的那樣。

當我第一次嘗試使用任何新的 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 或其他)。您的第三次更新涵蓋其中之一。

  1. 本地帳戶使用非/home基本目錄作為主目錄
  2. LDAP/central 使用非/home基本目錄作為主目錄

我通常使用選項 #1 並創建/local然後設置我的本地帳戶以在其中擁有主目錄,例如/local/admin, /local/sysadmin,/local/joe等。然後我使用 autofs 來控制集中/遠端主目錄的掛載,/home就像您在“更新 3"。

我認為您的伺服器正在使用 NFS 導出主目錄?如果在客戶端上手動掛載 NFS 導出按預期工作,但 autofs 沒有,那麼您的問題幾乎可以肯定是您的 autofs 配置。

如需幫助解決您的 autofs 問題,請發布、/etc/nsswitch.conf和和(或任何/任何相關 autofs 配置所在的位置)的內容。/etc/(open)ldap/ldap.conf``/etc/ldap.conf``/etc/auto.master``/etc/auto.home

你看過pam_mount嗎?這就是我目前正在使用的,儘管我的案例與你的略有不同。這篇博文很好地概述了該過程,它面向 SAMBA 伺服器,但如果您忽略 samba 特定部分,它可以與 NFS(這是我使用的)一起使用,並且可以與 10.04 一起使用。我沒有在 11.04 上嘗試過。

引用自:https://serverfault.com/questions/322480