Como automatizar a criação de diretórios no NFS-Server?

3

Eu criei e configurei um ambiente de teste de 3 máquinas virtuais:

  1. Um servidor FreeIPA que fornece autenticação krb5
  2. Um servidor NFS usando o servidor 1 para proteger-se
  3. Um cliente que monta automaticamente diretórios de usuário do servidor nfs

O problema é que quando eu adiciono um usuário ao meu domínio kerberos (usando a interface web FreeIPA neste caso) eu ainda tenho que conectar ao servidor de arquivos para criar um diretório home para o usuário. É certo que este é um processo simples, mas adiciona complexidade ao processo de criação do usuário e torna impossível delegar a tarefa a pessoas não técnicas, porque eu teria que conceder-lhes acesso ao servidor de arquivos.

Minha primeira ideia foi criar um cronjob que busca a lista de usuários e cria casas perdidas. O problema é que isso deixa um período de tempo após a criação, onde a conta não está funcionando, o que pode causar problemas.

TL; DR: Qual é a melhor prática para criar automaticamente diretórios específicos do usuário (residências) em um servidor NFS autônomo?

    
por Richard 11.07.2015 / 14:18

2 respostas

2

Aqui estão algumas maneiras de fazer isso, mas eu evitava usar o termo "melhor prática".

  1. Cron Job Isso vai funcionar - eu fiz isso antes. Por que não funcionaria? Faça com que ele seja executado periodicamente durante o horário comercial e avise os novos usuários de que sua conta estará pronta para uso após X minutos.
  2. Centralize corretamente o gerenciamento de contas Crie um script / interface que use os comandos do IPA, adicione diretórios pessoais e qualquer outra coisa (por exemplo, caixa de correio) em um servidor de gerenciamento seguro, em vez de fazê-lo manualmente por meio do GUI. Esta é a opção que eu sugeriria se você tivesse os recursos.
  3. Use um terminal de "primeiro login" Crie uma estação de trabalho segura dedicada (se os usuários estiverem todos muito próximos) ou um servidor para os usuários efetuarem login pela primeira vez, usando a configuração do jordanm para criar automaticamente um diretório inicial.
por 19.07.2015 / 08:40
3

Uma solução para esse problema é usar pam_mkhomedir para criar seu diretório pessoal no primeiro login em um sistema. A descrição no manpage:

   The pam_mkhomedir PAM module will create a users home directory if it 
   does not exist when the session begins. This allows users to be 
   present in central database (such as NIS, kerberos or LDAP) without 
   using a distributed file system or pre-creating a large number 
   of directories. The skeleton directory (usually /etc/skel/) is used 
   to copy default files and also sets a umask for the creation.

Um exemplo da página de manual:

  A sample /etc/pam.d/login file:

         auth       requisite   pam_securetty.so
         auth       sufficient  pam_ldap.so
         auth       required    pam_unix.so
         auth       required    pam_nologin.so
         account    sufficient  pam_ldap.so
         account    required    pam_unix.so
         password   required    pam_unix.so
         session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0022
         session    required    pam_unix.so
         session    optional    pam_lastlog.so
         session    optional    pam_mail.so standard
    
por 11.07.2015 / 16:03