Como você criaria um usuário com o campo HOME_DIR em / etc / passwd completamente em branco?

1

O mais próximo que posso chegar é:

useradd --home / -r --shell /sbin/nologin someuser

Mas isso cria uma entrada em / etc / htpasswd que se parece com isso:

someuser:x:100:100::/:/sbin/nologin

Eu quero que '/' tenha ido, para que fique assim:

someuser:x:100:100:::/sbin/nologin

Que é alcançável através do usermod:

usermod -d '' someuser

Mas acho que isso é um pouco atrasado.

Alguma idéia?

    
por mattis 17.11.2010 / 16:41

2 respostas

1

Em primeiro lugar, devo concordar com Jim que você deve ser muito claro sobre sua motivação para criar tais contas de usuário.

Isso foi dito:

useradd -d /REPLACEME someuser && perl -p -i -e 's/\/REPLACEME//;' /etc/passwd



Isso pressupõe, é claro, que / REPLACEME não seja usado em nenhum outro lugar como um diretório inicial válido. A expressão mais complexa, mas mais precisa:

's/(someuser:.*:)\/REPLACEME(:.*)/$1$2/'

irá garantir que apenas o usuário criado pelo useradd acima seja modificado.

    
por 17.11.2010 / 21:57
0

Realmente, não é para trás. Uma conta sem diretório de login não pode fazer login diretamente. Pode possuir recursos e arquivos. O que você está tentando fazer?

O useradd reclama sem --home?

Você pode adicionar usuários diretamente com o vi ou o vim. Mas você tem que ser dolorosamente cuidadoso. Você também adicionou grupos antecipadamente.

    
por 17.11.2010 / 18:41