Vejo alguns dos usuários que posso encontrar no /home
diretório em centos, mas não o resto dos usuários.
Usuários listados no /home
diretório, posso fazer login como esses usuários com o comando
su username
Para encontrar o restante dos usuários, tive que usar o comando:
cut -d: -f1 /etc/passwd
Para fazer login como um desses usuários, preciso usar o comando
sudo -u username
Qual é a diferença?
Responder1
Se você executar um comando semelhante ao seu:
$ cut -d: -f1,6,7 /etc/passwd
root:/root:/bin/bash
bin:/bin:/sbin/nologin
daemon:/sbin:/sbin/nologin
adm:/var/adm:/sbin/nologin
lp:/var/spool/lpd:/sbin/nologin
sync:/sbin:/bin/sync
shutdown:/sbin:/sbin/shutdown
halt:/sbin:/sbin/halt
mail:/var/spool/mail:/sbin/nologin
operator:/root:/sbin/nologin
games:/usr/games:/sbin/nologin
...
gareth:/home/gareth:/bin/bash
...
você notará que as únicas contas com um /home
diretório são aquelas em que a) a segunda coluna acima tem um caminho para um diretório dentro /home
e b) tem um shell na terceira coluna ( /bin/bash
).
Todos os outros usuários não podem efetuar login porque possuem um shell de /sbin/nologin
, que como o nome indica não permite login, ou possuem um shell que é um comando específico, como /sbin/halt
.
Você pode executar comandos como outros usuários ou até mesmo executar um shell:
$ sudo -u daemon whoami
daemon
$ sudo -u daemon bash
$ whoami
daemon
$ echo $HOME
/
mas você não terá um diretório inicial dentro do /home
.
Mais importante ainda, você não pode fazer login em um prompt de login ou com su
ou ssh
nessas contas porque o shell está /sbin/nologin
e suas senhas terão sido desativadas (procure por a !!
ou a *
na 2ª coluna de sudo less /etc/shadow
).
Essas contas são todassistemacontas usadas por serviços como e-mail ou dhcp ou usadas para desligar o sistema.
Você realmente não deveria estar executando comandos, pois esses usuários usam o sudo
.