Edite o diretório inicial para um usuário LDAP no Linux

2

Eu tenho um usuário LDAP que acessa um servidor com base no atributo apropriado do host LDAP via sssd. Este usuário não aparece em / etc / passwd porque ele não é local. Como modifico a localização do seu diretório pessoal se ele já tiver efetuado login e ele foi criado no local padrão? RHEL 6 É apenas usermod -d /new/location -m ?

    
por Gregg Leventhal 23.12.2013 / 19:49

3 respostas

1

Isso é realmente incrivelmente fácil. Se o seu nsswitch é arquivos ldap; basta adicionar uma entrada para eles em / etc / passwd e modificar o parâmetro que você quiser. Se eles ainda não existirem em / etc / passwd, você poderia fazer getent passwd <username> | sed 's|/home/<username>|/home/remoteusers/<username>|g' >> /etc/passwd , por exemplo, para alterar seu diretório home da raiz de / home para uma subpasta de home chamada remoteusers. A ressalva é que você não pode usar useradd ou usermod, você deve editar o arquivo com um editor.

    
por 07.01.2014 / 16:54
1

Eu não acredito que o usermod do RHEL (ou qualquer ferramenta NSS padrão) suporte a alteração do conteúdo do NSS. Você provavelmente precisará realmente modificar o conteúdo do LDAP e, em seguida, mover seu diretório pessoal. Possíveis ferramentas para você: diradm (veja o fork do v2 no Gentoo esp.), ldapvi , cpu , ldapscripts (pode ser apenas debian)

    
por 25.12.2013 / 10:06
0

Eu sei que esse segmento é antigo. No entanto, eu tropecei nele enquanto tentava a mesma coisa no CentOS 7. Eu imagino que o processo é o mesmo. Eu precisava alterar vários diretórios de usuários de /home/USER para /home/ldap-users/USER .

Primeiro, crie um arquivo ldif com as alterações que você deseja fazer. Eu nomeei o meu changehomedirs.ldif . Talvez seja necessário alterar sua ou dependendo de qual unidade organizacional você coloca seus usuários. Eu chamei meu pessoal.

Em seguida, escrevi um script para percorrer cada usuário LDAP um de cada vez e usei o sed para substituir a palavra USER no arquivo changehomedirs.ldif para o usuário atual no loop e redirecionar a saída para um arquivo temporário chamado tmp .ldif.

Em seguida, usei o comando ldapmodify para fazer as alterações usando a opção -f para ler as alterações desejadas no arquivo tmp.ldif. O exemplo está na imagem abaixo.

Este é apenas um sistema de teste, por isso a senha não é sensível por natureza.

    
por 21.07.2017 / 17:52