![excluir usuário com ID não exclusivo](https://rvso.com/image/76428/excluir%20usu%C3%A1rio%20com%20ID%20n%C3%A3o%20exclusivo.png)
Criei um usuário com -o -u 1000 -m
opção de passagem de ID não exclusiva para useradd
o comando. Agora tenho dois usuários com o mesmo ID, mas com nomes e diretórios pessoais diferentes.
Pensei que esta poderia ser uma solução para criar um novo ambiente limpo (para fins de teste) e preservar as mesmas permissões de acesso a alguns diretórios e arquivos de desenvolvimento.
Embora a criação e o login do usuário em seu próprio ambiente de desktop tenham sido bem-sucedidos, um aplicativo, iniciado manualmente a partir do terminal, estava usando o diretório inicial do usuário original. Então, começando idea.sh
comoscantligt_2ainda estava usando o diretório inicial do usuáriopenumbra.
Como isso é possível? por que este aplicativo ainda está usando o diretório inicial do usuário original, mesmo que eu o tenha iniciado 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 userdel
o comando ou devo fazê-lo manualmente a partir do /etc/shadow
arquivo para evitar alguns conflitos?
EDIT: Este idea.sh
é o script inicial do IDE "IntelliJ IDEA". Fiz uma recursiva rápida grep
através do conteúdo do diretório bin e nenhum uso do comando getent foi feito. Abaixo está o comando que usei.
grep -r -i "getent|passwd" ./idea_install/bin
Obrigado.
Responder1
A maioria dos programas que precisam se preocupar com nomes de usuário fará uma getent()
pesquisa para encontrar o UID e o usará a partir de então - isso porque os usuários são identificados pelo uid, o número. O nome não é muito mais do que uma impressão bonita e conveniência.
Por exemplo, execute id 1000
ou getent passwd 1000
e eles exibirão apenas a primeira entrada desse uid.
Não é seguro usar userdel
nenhum deluser
comando semelhante para excluir esse segundo usuário.
Isso ocorre porque eles provavelmente excluirão oprimeirousuário com uid 1000 que encontrar.
Em vez disso, você precisa editar os arquivos passwd e group manualmente:
vipw
evipw -s
para editar/etc/passwd
e/etc/shadow
vigr
evigr -s
para editar/etc/group
e/etc/gshadow