Logue não chdir () para corrigir o diretório inicial (AD / realmd / sssd)

2

Eu sou forçado (ugh) a juntar várias máquinas linux a um domínio. Atualmente estou usando debian stable, e estou juntando as máquinas usando um script de junção que escrevi (no link para referência). A configuração usa realm e sssd para toda a mágica de união e pam_mkhomedir para criar diretórios base. Máquinas são estáveis debian.

getent passwd $USER mostra o uid / gid e o diretório home adequados definidos como /home/$DOMAIN/$USER como deveria ser.

O problema é que no logon o pam_mkhomedir.so está criando o diretório inicial no local apropriado ( /home/$DOMAIN/$USER ), mas o login tenta chdir() into /home/$USER .

A solução alternativa que estou usando atualmente é o symlinking /home/$DOMAIN to /home , que é um feio loop de links simbólicos, mas ele faz o trabalho por enquanto. Uma vez que eu possa descobrir isso, a migração deve ser bastante direta, já que há apenas uma ou duas contas do sistema para que eu possa mover o resto via script.

Como esta é uma máquina debian stable recentemente instalada, acho que é um problema do systemd, pois acredito que o daemon de login padrão seja substituído por systemd-logind ou cruft similar. Eu acho que isso é um bug em algum lugar, como login deve tentar mudar de diretório para o que o nsswitch indica é o diretório home do usuário, mas eu não sou especialista.

    
por Robert Mason 07.06.2016 / 20:13

1 resposta

0

Altamente improvável que o systemd esteja em falta aqui. O Logind não faz nada relacionado a diretórios pessoais (trata da distribuição de permissões para acessar o hardware local para logins locais, e não para logins remotos - para que as pessoas que efetuam login através do SSH não possam espiar sua webcam).

Em vez disso, é muito mais provável que você não tenha feito tudo certo.

Por favor, mostre o conteúdo de seus arquivos de configuração do PAM depois de executar o script. O mais provável é que você tenha perdido um pouco.

Tente desabilitar nscd , para garantir que não seja um problema de cache.

Verifique seu /etc/skel ; verifique se ele não contém uma referência codificada para /home/$USER .

    
por 20.06.2016 / 21:31