OpenLdap sincroniza o diretório inicial entre o cliente e o servidor

7

Eu configurei recentemente o Ubuntu ldap client authentication em clientes de desktop kármic e lúcidos e o servidor ldap está sendo executado em um servidor 10.04 LTS e este é o link que eu segui para a configuração do cliente e provavelmente isso também funciona para o 11.04. Consegui fazer login em clientes com as contas de usuário ldap e também, nos clientes, usei uma entrada session required pam_mkhomedir.so umask=0022 skel=/etc/skel em pam.d / common-session para criar automaticamente o diretório inicial em computadores clientes quando o usuário faz login pela primeira vez. Tempo. Eu acho que haveria uma maneira de sincronizar o diretório inicial de cliente para servidor e vice-versa para que os usuários tenham seus documentos em que nunca o cliente que eles fazem login.

Eu tenho a tarefa abaixo a ser feita:

  1. Sincronize os diretórios iniciais entre o cliente e o servidor (assim como o perfil móvel nas janelas).

Eu tentei com autofs , mas o problema é com contas de usuários locais (admin, guest) em computadores clientes que também são sincronizados ou sobrescritos (o que não quero que sejam montados) quando coloco a entrada * server:/ldaphome/& em /etc/auto.home para sincronizar o diretório inicial do usuário do ldap (incluindo a entrada /home /etc/autofs.home in /etc/autofs.master ).

Alguém tem algum truque para fazer isso ou com qualquer outra forma para que eu possa acessar clientes com credenciais de usuário local e ldap tendo o diretório inicial sincronizado para usuários de ldap ?. Eu sei que muitos mestres estão aqui, como alguém faria isso com seu estilo?.

Atualização: 1

Eu tentei o autofs automounting de um diretório diferente (ldaphome) diferente de home em um cliente e tentei vincular o ldaphome/$USER e home/$USER no mesmo cliente para que quando o ldaphome no servidor fosse montado no ldaphome on cliente, o diretório home do usuário home / $ USER será sincronizado por causa do symlink. Então, eu editei /etc/profile.d/custom.sh file e coloquei ln -sf "/ldaphome/$USER" "/home/$USER" para vincular esses diretórios ao login. Percebi que links simbólicos não funcionam como esperado para o diretório, pois está criando um nome de link em / home / $ USER / $ USER.

DROPPED THIS SYMLINK METHOD!

Atualização: 2

Não é nada diferente de alterar o diretório pessoal do usuário local em clientes e montar automaticamente o diretório home em autofs , mas o mesmo usuário administrador local em clientes que eu estou tentando proteger também está disponível como contas de usuário no servidor (admin, guest) ...

Atualização: 3

Eu comprometi apenas mover ( usermod -m -d /local-home/admin admin ) as contas de usuário locais já existentes para o diretório home diferente e, em seguida, configurei o automount para home no cliente. Mais uma vez eu caí em problema, uma vez que o cliente é autenticado pelo ldap, ele não está buscando os documentos iniciais do servidor, mas funciona somente se eu montá-lo manualmente ( mount ldapserver:/ldaphome/test /home/test ) no cliente. O cliente é karmic ...

Configuração do cliente :

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/&

Eu compartilhei ldaphome no servidor (192.168.1.2). Agora o problema é que eu tenho /home como uma partição separada no cliente e eu o desmontei em fstab e o montei com o ldaphome que você pode ver na configuração do autofs. Quando tento fazer o login com o ldap, após a autenticação bem-sucedida, ele volta novamente para a tela de login. Quando paro o autofs service, ele normalmente faz login na criação do diretório home, pois usei session required pam_mkhomedir.so umask=0022 em pam.d / common-session.

Quando tento fazer o login pela primeira vez com qualquer nova conta do ldap, aparece o seguinte erro:

    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
    
por user53864 18.10.2011 / 11:55

3 respostas

1

Eu tive que criar ou copiar home directory dos usuários do ldap sob ldaphome , que eu compartilhei no servidor via nfs, e eu não esperava que essa fosse a causa. Eu pensei que o diretório pessoal do usuário será criado automaticamente no ldaphome quando o usuário fizer login no cliente pela primeira vez. Eu fiz o seguinte e todo usuário é facilmente autenticado e automouted seu diretório home sem nenhuma mensagem de erro e acho que a entrada session required pam_mkhomedir.so umask=0022 não é necessária:

No servidor,

cp -a /home/* /ldaphome/

Ou se o diretório home não estiver disponível para o usuário ldap em / home, criando o diretório trabalhado.

mkdir /ldaphome/ldapuser
chown -R ldapuser:ldapuser /ldaphome/ldapuser

No cliente,

  • Mova a conta de usuário local para qualquer diretório, digamos /local-home ,

    mkdir /local-home

usermod -m -d /local-home/username username

  • Se o diretório pessoal for uma partição separada, descomente o diretório /home montado no arquivo /etc/fstab para permitir que o autofs seja montado em /home .

Tente fazer login com as credenciais do ldap no cliente ... funcionou!

As I'm the beginner of this setup on linux based in real time use, I'm very much concerned that how the performance would be with NFS on the server as many users login and mount at a time. I don't know other way of doing this if any which has less load towards server or which proves to be best in performance. If there is any I'm very much interested to hear from anybody.

    
por 27.10.2011 / 17:59
5

Existem duas maneiras comuns de lidar com uma mistura de contas locais e centralizadas (seja LDAP ou NIS ou qualquer outra coisa). Sua terceira atualização cobre uma delas.

  1. As contas locais usam um diretório que não seja /home base para residências
  2. LDAP / central usa um diretório que não seja /home base para residências

Eu geralmente uso a opção 1 e crie /local , depois configurei minhas contas locais para ter diretórios pessoais como /local/admin , /local/sysadmin , /local/joe etc. Eu então uso o autofs para controlar a montagem de diretórios centralizados / diretórios home remotos sob /home da mesma maneira que você está descrevendo em "Atualização 3".

Presumo que seu servidor esteja exportando diretórios pessoais com o NFS? Se a montagem manual da exportação NFS no cliente funcionar como esperado, mas o autofs não funciona, seu problema é quase certamente sua configuração autofs.

Para obter ajuda com seu problema de autofs, poste o conteúdo de /etc/nsswitch.conf , /etc/(open)ldap/ldap.conf , /etc/ldap.conf e /etc/auto.master e /etc/auto.home (ou o que for / onde quer que as configurações autofs relevantes estejam).

    
por 22.10.2011 / 06:23
1

Você examinou o pam_mount ? É o que estou usando atualmente, embora meu caso de uso seja um pouco diferente do seu. Esta postagem do blog oferece uma boa visão geral do processo, ele é voltado para um servidor SAMBA, mas se você ignorar as partes específicas do samba, ele funcionará com o NFS (é o que eu uso) e funcionará com o 10.04. Eu não tentei em 11.04.

    
por 26.10.2011 / 18:01