Eu tenho dois servidores Ubuntu que compartilham diretórios pessoais. O diretório /home do server1 é montado como o diretório /home no server2. Tenho um problema ao tentar conceder acesso a ambos os servidores a uma nova pessoa. Eu uso o comando adduser em cada servidor com o mesmo nome de usuário. Porém o UID não corresponde quando faço isso, portanto o usuário acaba não tendo permissão para arquivos em seu diretório inicial quando ele é acessado com a conta do server2.
No servidor 1 onde o usuário foi criado junto com seu diretório inicial. (As coisas parecem bem)
selah@server1:~$ tail -n 2 /etc/passwd
dfulgon:x:1083:1087:,,,:/home/dfulgon:/bin/bash
swartp:x:1085:1089:,,,:/home/swartp:/bin/bash
selah@server1:~$ ll -a /home/dfulgon | tail -n 3
-rw-rw---- 1 dfulgon dfulgon 25 Jun 2 13:41 .my.cnf~
-rw-r--r-- 1 dfulgon dfulgon 675 Jun 2 13:35 .profile
drwxrwxr-x 2 dfulgon dfulgon 4096 Jun 2 14:27 .ssh/
No servidor 2 onde uma conta de usuário com o mesmo nome foi criada, mas o diretório inicial do outro servidor é usado: (As permissões estão confusas, apontando para o usuário errado)
selah@server2:~$ tail -n 2 /etc/passwd
bslf:x:1083:1087:,,,:/home/bslf:/bin/bash
dfulgon:x:1087:1091:,,,:/home/dfulgon:/bin/bash
selah@server2:~$ ll -a /home/dfulgon | tail -n 3
-rw-rw---- 1 bslf bslf 25 Jun 2 13:41 .my.cnf~
-rw-r--r-- 1 bslf bslf 675 Jun 2 13:35 .profile
drwxrwxr-x 2 bslf bslf 4096 Jun 2 14:27 .ssh/
Existe uma boa maneira de superar esse problema e, ao mesmo tempo, manter a conveniência dos diretórios pessoais compartilhados?
Responder1
A coisa mais fácil a fazer é criar suas contas em algum banco de dados central. Hoje em dia, quase todo mundo tem algum tipo de banco de dados ldap para isso. Mas se você quiser seguir o método inseguro da velha escola, também pode dar uma olhada no NIS. (não).
Outra opção é usar uma ferramenta de gerenciamento de configuração para criar suas contas e manter os UIDs sincronizados. Assim, você pode criar suas contas com o puppet e definir o UID/GID específico que deseja.
Você pode fazer algumas coisas com o mapeador de ID NFS para traduzir IDs entre sistemas, mas isso pode se tornar um pesadelo de gerenciamento.
Responder2
A solução que vamos usar:
Verifique os arquivos /etc/passwd e escolha o próximo GID e UID apropriados. Em seguida, especificando-os durante o processo de criação do usuário desta forma.
addgroup -g $GID $username
adduser -g $GID -u $UID $username