exclui uma conta de usuário do sistema se o daemon não for mais necessário?

2

Em um cenário incomum, eu tenho que me livrar de uma conta específica de usuário do sistema chamada 'lp' (line printing deamon) em um sistema openSUSE.

Posso comentar a linha dessa conta em /etc/passwd sem entrar em um estado de sistema inconsistente?

Background : o nome de usuário da conta está em conflito com o nome da conta que desejo usar no SAMBA. Eu realmente não preciso da função de impressão de linha, pois não sei se essa conta é usada por outros processos essenciais.

Alguém mais já teve experiência com a remoção de contas do sistema?

    
por Master of Celebration 15.07.2013 / 20:13

4 respostas

3

Eu executaria um find rápido no sistema para ver se há arquivos pertencentes a esse usuário, lp anterior.

$ find -user lp

Se isso retornar algum arquivo, você pode voltar a rastrear esses arquivos usando o gerenciador de pacotes do OpenSUSE. Acredito que usa o RPM para que um comando como esse funcione:

$ rpm -qf /path/to/file/find/found

Isso lhe dará a oportunidade de decidir se esses pacotes podem ser excluídos. A exclusão desses pacotes provavelmente removerá a conta de usuário lp como parte da desinstalação.

Se nenhum pacote for encontrado, essa conta poderá ser removida de /etc/passwd , /etc/shadow , & %código%. Você verificou se a conta tinha algum grupo associado, não sabia?

Um comando como esse informará quais grupos estão associados a esse usuário:

$ id lp
uid=4(lp) gid=7(lp) groups=7(lp)

Um método mais fácil de remover o usuário seria usar um dos comandos internos. Eles normalmente são um comando assim: /etc/group .

Por exemplo:

 $ sudo userdel lp

Um caminho a seguir

Comentário abaixo do OP (@MasterofCelebration):

Well, I found some packages belonging to essential functions (e.g. ghostscript, filesystem) which I do not necessarily like to remove.. So I thought about changing the account name and adding a new account for the desired user (leaving the system account’s UID to its new name, e.g. ‘lprint’). The tricky part now is that I do not know what will actually happen with the new user’s home directory used by e.g. “printing applications” or other common used stuff although I don’t need that at all (I don’t even need the home directory of the new user, it’s for SAMBA purposes only).

Eu deixaria todos os pacotes identificados como associados ao usuário userdel <username> sozinho.

A parte complicada é que o nome de usuário lp provavelmente está sendo chamado por um arquivo de configuração ou dois, além de possivelmente possuir arquivos no disco.

Veja o que eu faria:

  1. Eu deixaria o antigo UID sozinho por lp . Altere seu nome de lp para lp .
  2. Faça sua nova conta com um novo UID e vá em frente e chame-o de lpold .
  3. Faça uma pesquisa por lp no diretório lp e veja se é possível identificar quaisquer arquivos de configuração que chamem explicitamente /etc , se forem encontrados, altere-os para lp .

Ao fazer isso, você não precisará tocar nos arquivos no disco, eles aparecerão automaticamente como pertencentes a lpold . Também permitirá que você separe os arquivos no disco de lpold e o novo lpold .

O único risco com o qual você precisa se contentar agora é que pode haver um serviço iniciado como usuário lp , que agora seria seu novo lp e não o antigo. A pesquisa através de lp deve eliminar isso.

    
por 15.07.2013 / 20:38
3

Comentar a conta em /etc/passwd e /etc/shadow irá efetivamente excluir o usuário. O mesmo para /etc/group e /etc/gshadow .

Esteja ciente de que, se o usuário for o proprietário dos arquivos, esses arquivos serão atribuídos a um UID não atribuído, que não causa dano, mas é feio e pode ser indesejável (ou seja, esse UID pode ser reutilizado posteriormente e pertencem então ao novo usuário). Melhor usar find primeiro para encontrar e excluir arquivos de propriedade desse usuário.

De qualquer forma, eu não faria isso. E se você precisar instalar o CUPS algum dia? Você fará seu usuário CUPS admin? Pense também que seus scripts de distribuição dentro dos pacotes podem operar com o lp name: ou seja, um serviço pode permitir que lp tenha direitos de ler / gravar alguns arquivos (por quê? Eu não sei, mas pode acontecer).

Em suma, você pode, mas no geral não é uma boa idéia pegar usuários do sistema de sua distribuição Linux e dar a eles um uso diferente do que eles foram projetados.

    
por 15.07.2013 / 20:25
2

Eu não faria isso, especialmente em uma das contas tradicionais de baixa numeração, como lp . Se você quiser adicionar suporte à impressora - como o CUPS - você terá problemas ... e lembre-se, o CUPS pode muito bem ser uma dependência para pacotes que você instalará no futuro. Mesmo se você não instalar algo como o CUPS, lp tem sido um usuário padrão (em sistemas Unix) por décadas, então os pacotes podem depender dele e pode haver partes do sistema que o usam de qualquer maneira. Além disso, o lp user / group pode pertencer a grupos por padrão e / ou a arquivos, diretórios e dispositivos próprios.

Seria melhor encontrar outro nome para o usuário que você deseja criar.

    
por 15.07.2013 / 21:08
1

Eu acho que você pode apenas fazer um backup de /etc/passwd e /etc/shadow e executar o userdel ... Eu não sei o SUSE (eu uso Ubuntu e Debian), mas eu não acho que você vai encontrar problemas.

BTW, você não pode usar pdbedit ou smbpasswd para dar ao seu samba outro usuário lp? O sistema realmente está em conflito?

    
por 15.07.2013 / 20:20