Skip to content

Instantly share code, notes, and snippets.

@requeijaum
Last active August 29, 2019 11:37
Show Gist options
  • Save requeijaum/14d9f34c5b7bfd6db0b0112bbb56137b to your computer and use it in GitHub Desktop.
Save requeijaum/14d9f34c5b7bfd6db0b0112bbb56137b to your computer and use it in GitHub Desktop.

ADS2 - Dia 2

Atividade 2.1

Item 1

$ 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

Item 2

$ 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

Item 3

$ cat /etc/passwd | wc -l 45

Item 4

$ 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"

Item 5

5. Qual a finalidade das contas que possuem o shell /bin/false ou /usr/sbin/nologin?

man false

man nologin

R: /bin/false retorna false para o processo de login. /usr/sbin/nologin recusa login educadamente (segundo o manual disso).

Atividade 2.1b

(estamos como root --> #)

Item 1

$ 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.

  1. Sim, pois 'x' indica que esta utilizando shadow cat /etc/passwd | grep ':x:' | wc -l 45

Item 2

cat /etc/passwd | grep ':x:'

root:x:0:0:root:/root:/bin/bash (...)

Item 3

$ sudo grep /':!:'etc/shadow

root:!:18016:0:99999:7::: speech-dispatcher:!:17737:0:99999:7:::

Item 4

Forma 1

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"

Forma 2

Também dá pra ler o método utilizado por padrão nos logins:

Terminal:

grep ^ENCRYPT_METHOD /etc/login.defs

Forma 3

grep SHA512$ /etc/login.defs

ENCRYPT_METHOD SHA512

Atividade 2.1c

(estamos como root --> #)

Item 1

Forma 1

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

Forma 2

getent group | grep aluno

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

Forma 3

$ grep [a-zA-Z0-9_]$ /etc/group

Forma 4

Expressão louca com GREP negativo - todas linhas que não terminam com ':'

cut -f1,4 -d: /etc/group | grep -v ':$'

Item 2

Quantos grupos existem no sistema?

Forma 1

getent group | wc -l Saída: 70

Forma 2

$ wc -l /etc/group

obs: o professor mostrou algo com o diff entre /etc/group e /etc/group-

Item 3

grep -v '!|*' /etc/gshadow

Atividade 2.2

(estamos como root --> #)

groupadd ads2 -g 2000

groupadd alunos

gpasswd ads2

Mudando a senha para o grupo ads2 Nova Senha : Informe a nova senha novamente :

cat /etc/group | tail -n 2

ads2:x:2000: alunos:x:2001:

FORMA 2:

groupadd ads2

groupmod -g 2000 ads2

Forma 3

addgroup --gid 2000 ads2

Item 2

getent group alunos alunos:x:2001:

Item 3

gpasswd ads2

Atividade 2.3

Forma 1

(Modo interativo...)

adduser Batata --force-badname

adduser requeijaum

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

Login aluno: requeijaum Senha: Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-58-generic x86_64) (...) requeijaum@aluno:~$

(Funciona normal!)

Forma 2

useradd rafael

passwd rafael

Digite a nova senha UNIX: Redigite a nova senha UNIX: passwd: senha atualizada com sucesso

login

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)


Agora vamos fazer o que a questão pede:

  • Adicione a conta de professor e modifique algumas coisas

useradd professor -u

grep professor /etc/passwd

professor:x:1550:1550::/home/professor:/bin/sh

#usermod professor -g [ads2,2000] -s /bin/bash -p rnpesr ^^^ (GID ou grupo)

grep professor /etc/passwd ; getent group ads2

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

Atividade 2.4

Item 1

vim /etc/bash.bashrc

adiciona a linha no final (i <- para poder escrever): exports CURSO='Administração de sistemas Linux'

:wq <- salvar e sair do vim


login usuario

[digita a senha]

$ echo $CURSO

Atividade 2.5

Atividade 2.6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment