Digamos que eu crie um usuário chamado "falso" usando o adduser
comando Como posso garantir que esse usuário NÃO seja uma opção viável de login, sem desativar a conta. Em resumo, quero que a conta seja acessível via su - bogus
, mas não quero que seja acessível através de um prompt de login regular.
Pesquisando, parece que preciso desativar a senha do usuário, mas passwd -d bogus
isso não ajudou. Na verdade, isso piorou as coisas, porque agora eu podia entrar no falso sem sequer digitar uma senha.
Existe uma maneira de desativar logins regulares para uma determinada conta?
Nota: Só para esclarecer, sei como remover um usuário das opções de menu das telas gráficas de login, como o gdm, mas esses métodos simplesmente ocultam a conta sem realmente desabilitar o login. Estou procurando uma maneira de desativar completamente o login regular, incluindo o modo de texto.
fonte
-d
é a bandeira para excluir a senha. Isso é diferente de desativá-lo (referido como bloqueio, veja a resposta do Chade).Respostas:
é o que você quer.
Isso bloqueará a conta do usuário. Mas você ainda será capaz de
mas você terá que fazer
su - user
o root.Como alternativa, você pode realizar a mesma coisa adicionando
!
a à senha do usuário/etc/shadow
(isso é tudo o quepasswd -l
acontece nos bastidores). Epasswd -u
vai desfazer isso.fonte
passwd -l
opção, você deve estar ciente de que o usuário pode efetuar login usando outro token de autenticação (por exemplo, uma chave SSH).--disabled-password
opção dadaadduser
? Será que a criação de um usuário sem--disabled-password
e depois correndopasswd -l
em que o usuário alcançar o mesmo resultado como correradduser
com--disabled-password
, em primeiro lugar?A página de manual
passwd(1)
diz sobrepasswd -l
:assim
me parece a maneira correta de desativar uma conta que um usuário não deve mais usar (por exemplo, porque ele deixou a empresa).
fonte
passwd -l
ele bloqueia assh
conexão de um usuário eusermod --expiredate 1
não!passwd -l
não bloqueia mais asssh
conexões de um usuário eusermod --expiredate 1 user
bloqueia. Porman passwd
você também pode usarchage -E 0 user
para bloquear um usuário. Depois de aplicarusermod
ouchage
eu sou capaz desudo su user
usermod --expiredate 0 [LOGIN]
também funciona, define a data de vencimento para 1º de janeiro de 1970, enquanto um 1 define para 2 de janeiro de 1970.Existem dois métodos para impedir que um usuário possa fazer login:
/etc/passwd
passwd
comando com o-l
comutadorNo segundo caso, o usuário pode efetuar login usando outro token de autenticação (por exemplo, uma chave SSH).
Método 1
vi /etc/passwd
Agora você está no
passwd
arquivo, pressione Inspara editar o arquivo.Altere a linha abaixo com a
nologin
opção (/bin/bash
significa que o usuário pode fazer login).para isso.
nologin
significa que o usuário não pode fazer login.(ou com / bin / sbin / nologin)
Método # 2
Para bloquear o usuário:
passwd -l username
Para desbloquear o usuário:
passwd -u username
fonte
/usr/sbin/nologin
vez de/bin/nologin
.É uma tarefa bastante fácil, basta fazer algumas alterações no
/etc/passwd
arquivo.Simplesmente você precisa alterar o shell, que geralmente é por padrão . Ou
/bin/bash
seja, você pode fazer o login usando esse shell ou alterá-lo para . É aconselhável alterá-lo para porque está desatualizado./bin/nologin
/bin/false
/bin/nologin
/bin/false
fonte
Definir
/bin/false
como um shell em/etc/passwd
fonte
/bin/false
, evita o uso de su para atuar como esse usuário. Além disso, o uso/bin/false
não produz nenhum erro nem outra dica do que deu errado - nos casos em que alguém deseja impedir que mesmo su seja usado para obter um shell como esse usuário, o shell deve ser alterado para o/sbin/nologin
que produz um erro.su
ainda é possível para os usuários com/bin/false
conchas empasswd
- basta usar a opção--shell
:su - --shell /bin/sh bogus
./usr/sbin/nologin
tem o mesmo efeito que/bin/false
, mas também mostra uma mensagem informativa útil.Quando bloqueamos o usuário usando o
passwd -l user
comando, "!!
" são indicados no/etc/shadow
arquivo. Mas ainda podemos mudar para um shell de usuário a partir da conta raiz, mas não podemos mudar para uma conta de usuário por outros usuários normais.Nós também pode desabilitar a conta, fornecendo
/bin/nologin
ou/bin/false
no/etc/passwd
arquivo. Portanto, o usuário pode não conseguir fazer login.fonte
Você pode usar o comando
fonte