$ cat /etc/passwd | grep bash root:x:0:0:root:/root:/bin/bash aluno:x:1000:1000:Aluno,,,:/home/aluno:/bin/bash aluno2:x:1001:1001::/home/aluno2:/bin/bash
$ getent passwd root aluno root:x:0:0:root:/root:/bin/bash aluno:x:1000:1000:Aluno,,,:/home/aluno:/bin/bash
$ grep 'root|aluno:' /etc/passwd root:x:0:0:root:/root:/bin/bash aluno:x:1000:1000:Aluno,,,:/home/aluno:/bin/bash
$ for user in root aluno ; do cat /etc/passwd | grep $user ; done root:x:0:0:root:/root:/bin/bash aluno:x:1000:1000:Aluno,,,:/home/aluno:/bin/bash aluno2:x:1001:1001::/home/aluno2:/bin/bash
$ cat /etc/passwd | wc -l 45
$ cat /etc/passwd | grep aluno aluno:x:1000:1000:Aluno,,,:/home/aluno:/bin/bash aluno2:x:1001:1001::/home/aluno2:/bin/bash
$ groups aluno2 aluno2 : financeiro
R: "financeiro"
5. Qual a finalidade das contas que possuem o shell /bin/false ou /usr/sbin/nologin?
R: /bin/false retorna false para o processo de login. /usr/sbin/nologin recusa login educadamente (segundo o manual disso).
(estamos como root --> #)
$ for command in pwconv pwunconv ; do which $command ; done ; file /etc/shadow /usr/sbin/pwconv /usr/sbin/pwunconv /etc/shadow: regular file, no read permission
Todos esses arquivos existem e o sistema não deixa um usuário comum ler.
- Sim, pois 'x' indica que esta utilizando shadow cat /etc/passwd | grep ':x:' | wc -l 45
root:x:0:0:root:/root:/bin/bash (...)
$ sudo grep /':!:'etc/shadow
root:!:18016:0:99999:7::: speech-dispatcher:!:17737:0:99999:7:::
Vamos corrigir... o shadow usa senhas geradas pelo mkpasswd e usa a biblioteca Crypt $ man crypt [linha 93]
form:
$id$salt$encrypted
id identifies the encryption method used instead of DES and this then
determines how the rest of the password string is interpreted. The
following values of id are supported:
ID | Method
─────────────────────────────────────────────────────────
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
Então '$6' no campo de senha do shadow significa "SHA-512"
Também dá pra ler o método utilizado por padrão nos logins:
Terminal:
ENCRYPT_METHOD SHA512
(estamos como root --> #)
Quais usuários são membros de mais de um grupo? Dar o comando: getent /etc/group e procurar a saída adequada. No caso: aluno2
adm:x:4:syslog,aluno cdrom:x:24:aluno sudo:x:27:aluno dip:x:30:aluno plugdev:x:46:aluno lpadmin:x:116:aluno aluno:x:1000: sambashare:x:126:aluno
$ grep [a-zA-Z0-9_]$ /etc/group
Expressão louca com GREP negativo - todas linhas que não terminam com ':'
Quantos grupos existem no sistema?
getent group | wc -l Saída: 70
$ wc -l /etc/group
obs: o professor mostrou algo com o diff entre /etc/group e /etc/group-
(estamos como root --> #)
Mudando a senha para o grupo ads2 Nova Senha : Informe a nova senha novamente :
ads2:x:2000: alunos:x:2001:
FORMA 2:
groupadd ads2
groupmod -g 2000 ads2
Forma 3
addgroup --gid 2000 ads2
getent group alunos alunos:x:2001:
gpasswd ads2
(Modo interativo...)
Adicionando o usuário requeijaum' ... Adicionando novo grupo 'requeijaum' (1003) ... Adicionando novo usuário
requeijaum' (1003) ao grupo requeijaum' ... Criando diretório pessoal
/home/requeijaum' ...
Copiando arquivos de '/etc/skel' ...
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha atualizada com sucesso
Modificando as informações de usuário para requeijaum
Informe o novo valor ou pressione ENTER para aceitar o padrão
Nome Completo []: Rafael F S Requião
Número da Sala []: 666
Fone de Trabalho []: 3210-1234
Fone Residencial []: 3212-1234
Outro []: 99283-1234
chfn: nome com caracteres não-ASCII: 'Rafael F S Requião'
A informação está correta? [S/n] S
Login aluno: requeijaum Senha: Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-58-generic x86_64) (...) requeijaum@aluno:~$
(Funciona normal!)
Digite a nova senha UNIX: Redigite a nova senha UNIX: passwd: senha atualizada com sucesso
Login aluno: rafael Senha: Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-58-generic x86_64) (...) Sem diretório, logando com HOME=/ $
(Falta o resto para o usuário funcionar - precisa da shell e de outras informações)
- Adicione a conta de professor e modifique algumas coisas
professor:x:1550:1550::/home/professor:/bin/sh
#usermod professor -g [ads2,2000] -s /bin/bash -p rnpesr ^^^ (GID ou grupo)
professor:x:1550:2000::/home/professor:/bin/bash ads2:x:2000: ^^^^ temos o GID do grupo ads2, para comprovar
(Falta:)
-
Configure a data de expiração da senha da conta professor para daqui a 7 dias. date -s 2019-09-03
-
Altere a data do sistema e teste a validade da senha da conta professor.
-
Restaure a data correta do sistema.
-
Adicione o número de telefone “99999-9999” ao cadastro do usuário professor. Utilize o comando finger para confirmar se a informação foi adicionada corretamente.
-
Desabilite a conta do usuário professor, em seguida teste o acesso ao sistema. O que aconteceu? Existe alguma informação nos logs do sistema? Habilite a conta do usuário professor.
-
Configure o usuário professor como administrador do grupo ads2.
-
Faça o login com a conta professor e adicione o usuário criado para você no item “a” como membro do grupo ads2.
(Leia como fazer... aí embaixo, haha)
FORMA 2:
useradd -u 1550 -s /bin/bash -g ads2 professor
passwd professor
usermod -e 2019-09-02 professor
date -s 2019-09-03
adiciona a linha no final (i <- para poder escrever): exports CURSO='Administração de sistemas Linux'
:wq <- salvar e sair do vim
[digita a senha]
$ echo $CURSO