delete user com id não exclusivo

3

Eu criei um usuário com ID não exclusivo passando a opção -o -u 1000 -m para o comando useradd . Então agora eu tenho dois usuários com o mesmo id, mas com nomes diferentes e diretórios home diferentes. Eu pensei que isso poderia ser uma solução para criar um novo ambiente limpo (para fins de teste) e preservar as mesmas permissões de acesso para alguns diretórios e arquivos de desenvolvimento.

Embora a criação e o login do usuário em seu próprio ambiente de área de trabalho tenham sido bem-sucedidos, um dos aplicativos, iniciados manualmente do terminal, estava usando o diretório inicial do usuário original. Então, a partir de idea.sh as scantligt_2 ainda estava usando o diretório home do usuário scantlight .

como isso é possível? Por que este aplicativo ainda está usando o diretório home do usuário original, mesmo se eu o inicie como segundo uso?

aqui está o conteúdo de algumas variáveis de ambiente.

$> echo $HOME
/home/scantlight_2

$> echo $USER
scantlight_2

$> cd ~
$> pwd
/home/scantlight_2

e depois de todos os testes,
É seguro excluir o usuário "scantlight_2" com o comando userdel ou devo fazê-lo manualmente do arquivo /etc/shadow para evitar conflitos?

EDITAR: O idea.sh é o script inicial do IDE "IntelliJ IDEA". Eu fiz uma rápida recursiva grep através do conteúdo do diretório bin e nenhum uso do comando getent foi feito. Abaixo está o comando que eu usei.

grep -r -i "getent|passwd" ./idea_install/bin

Obrigado.

    
por Scantlight 01.11.2015 / 15:28

1 resposta

3

A maioria dos programas que precisam se preocupar com nomes de usuários fará uma pesquisa getent() para encontrar o UID e usá-lo a partir de então - isso porque os usuários são identificados pelo uid, o número. O nome não é muito mais que impressão bonita e conveniência.

Por exemplo, execute id 1000 ou getent passwd 1000 e eles exibirão apenas a primeira entrada para esse uid.

Não é seguro usar userdel ou deluser ou qualquer comando semelhante para excluir esse segundo usuário.

Isso ocorre porque eles provavelmente excluirão o usuário do primeiro com o uid 1000 que encontrarem.

Em vez disso, você precisa editar os arquivos passwd e group manualmente:

  • vipw e vipw -s para editar /etc/passwd e /etc/shadow
  • vigr e vigr -s para editar /etc/group e /etc/gshadow
por 01.11.2015 / 15:54

Tags