SUDO

          Concede permissões de comandos do superusuário (root) a
          usuários comuns.

              




1 - Como usuário lino crie um diretório com o nome de (super_usuario), digite:

lino@KATRINA:~$ mkdir /root/super_usuario



2 - Veja que o usuário lino não tem permissão de criar diretório fora de seu próprio
      home/lino



3 - Use o comando sudo, pois ele lhe dá permissão de superusuário, digite:

lino@KATRINA:~$ sudo mkdir /root/super_usuario



4 - Digite a senha do usuário lino



5 - Veja que a mensagem diz que o usuário lino não está no arquivo sudoers



EXPLICAÇÃO
sudoers
É a lista de usuários sobre o que eles podem executar.

6 - Configure o arquivo sudoers e dê a permissão para o usuário lino criar
     diretório fora do seu home/lino, saia do usuário lino, digite:

lino@KATRINA:~$ logout



7 - Entre no arquivo sudoers. Como usuário root, digite:

KATRINA:~# visudo



EXPLICAÇÃO
visudo Editor de arquivo do sudoers.

8 - Observe o arquivo sudoers



9 - Vá até a linha n° 15, digite:

:15



10 - Tecle Insert, End e Enter, observe que por padrão só o usuário root tem
        todas as permissões.



11 - Primeiro abra outro terminal (Control+Shift+n) e localize o caminho
       executável do mkdir para ser dada a permissão de uso para o usuário
       lino. Em outro terminal digite:

KATRINA:~# type mkdir



12 - Observe que o executável do mkdir fica dentro do diretório /bin



13 - Abra novamente o visudo e adicione a linha abaixo:
       Obs.: No primeiro terminal, dê a permissão do usuário lino de executar só o mkdir
       por meio do caminho exibido acima. Digite o texto abaixo:

lino    localhost = (root) /bin/mkdir



14 - Salve o arquivo, digite:

Esc :x



15 - Logue-se como usuário lino e crie o diretório super_usuario dentro do /root, digite:

lino@KATRINA:~$ sudo mkdir /root/super_usuario



16 - Digite a senha do usuário lino



17 - Veja que aparentemente nada ocorreu



18 - Agora liste o diretório root e veja se realmente foi criado o diretório super_usuario,
       digite:

lino@KATRINA:~$ ls /root/



19 - Veja que o diretório foi criado com sucesso



20 - Remova o diretório criado, digite:

lino@KATRINA:~$ sudo rm -r /root/super_usuario/



21 - Observe que surge a mensagem que o usuário lino não tem permissão para
        executar este comando



22 - Dê a permissão de remoção para o usuário lino, logue-se como root e digite:

KATRINA:~# visudo



23 - Vá até a linha n°16, digite:

:16



24 - Tecle Insert, End e digite:

lino    localhost = (root) /bin/rm



25 - Salve o arquivo, digite:

Esc :x



26 - Logue-se como lino e remova o diretório super_usuário. Como lino, digite:

lino@KATRINA:~$ sudo rm -r /root/super_usuario/



27 - Digite a senha do usuário lino



28 - Observe que o diretório foi removido com sucesso



29 - Liste o diretório /root para ter certeza de que o diretório super_usuario foi
       removido com sucesso, digite:

lino@KATRINA:~$ ls /root/



30 - Veja o resultado



31 - Para não ter de ficar toda hora trocando a permissão de comando para o usuário,
       podemos definir o diretório inteiro do /bin e assim todos os comandos dentro deste
       diretório vão funcionar normalmente com o sudo. Como superusuário (root) digite:

KATRINA:~# visudo



32 - Vá até a linha n°16, tecle Insert, End e digite:

lino    localhost = (root) /bin/



33 - Salve o arquivo, logue-se como lino e crie um diretório com o nome de
       super_diretorio. Como usuário lino, digite:

lino@KATRINA:~$ sudo mkdir /programas/super_diretorio



34 - Digite a senha do usuário lino



35 - Observe que o diretório foi criado



36 - Veja que quando um comando é solicitado, é pedido a senha de usuário, tire esta
       senha. E toda vez que o usuário digitar qualquer comando do diretório  /bin, o
       comando fará sua execução sem precisar do password. Como root, digite:

KATRINA:~# visudo



37 - Vá até a linha n°16, digite:

:16



38 - Tecle Insert, End e digite:

lino    localhost=(root)NOPASSWD:/bin/



39 - Salve o arquivo, digite:

Esc :x



40 - Logue-se como lino e remova o diretório super_usuario, digite:

lino@KATRINA:~$ sudo rm -r /programas/super_diretorio/



41 - Observe que o diretório é removido sem solicitação de senha



42 - Vamos dar todas as permissões para o usuário lino. Como superusuário root
       até a linha n°16 do arquivo sudoers e digite:

lino    ALL=(ALL)NOPASSWD:ALL



43 - Salve o arquivo e como usuário lino, digite:
       Obs.: Salve seus programas que estiverem abertos antes de digitar o comando
       abaixo:

lino@KATRINA:~$ sudo reboot



44 - Tome muito cuidado ao dar esta permissão! certifique-se de que o usuário é de
       confiança, pois agora o usuário lino tem a permissão de todos os comandos.
_____________
MAN SUDOERS


45 - No terminal, digite:

KATRINA:~# man sudoers



46 - Observe o manual sudoers



47 - Tecle q
para sair do manual


_____________
MAN VISUDO

48 - No terminal, digite:

KATRINA:~# man visudo



49 - Observe o manual visudo



50 - Tecle q
para sair do manual,


_____________
MAN SUDO

51 - No terminal, digite:

KATRINA:~# man sudo



52 - Observe o manual sudo



53 - Tecle q
para sair do manual sudo



______________


EXERCÍCIOS

54 - Crie os seguintes usuários:
joao
miguel
hugo
adriano
fernando
laerte

55 - Dê as seguintes permissões:

Usuário joão: Todas as permissões.
Usuário miguel: Todas as permissões.
Usuário hugo: Permissão de criar diretórios, remover diretórios e reiniciar a máquina.
Usuário adriano: Permissão só de criar diretórios e desligar a máquina.
Usuário fernando: Permissão só de copiar e mover diretórios.
Usuário laerte: Permissão de criar arquivos com o cat, criar diretórios e remover diretórios.
GUIA DE REFERÊNCIA RÁPIDA

FUNÇÃO COMANDOS
SUDOERS: Arquivo de configuração do sudo.
VISUDO: Editor do arquivo de configuração do sudo.
SUDO: Concede permissão de comandos do super- usuário (root) para usuários comuns.
CRIAR DIRETÓRIO
sudo mkdir /root/super_usuario

ARQUIVO SUDOERS
visudo

ABRIR OUTRO SHELL CONSOLE
CTRL+SHIFT+n

VERIFICAR EXECUTÁVEL DO COMANDO
type mkdir

CRIAR DIRETÓRIO
lino     localhost = (roo) /bin/mkdir
sudo mkdir /root/super_usuario

REMOVER DIRETÓRIO
lino     localhost = (roo) /bin/mkdir
sudo rm -r /root/super_usuario/

LIBERAR /BIN/
lino    localhost = (root) /bin/

SEM SENHA
lino    localhost=(root)NOPASSWD:/bin/

REINICIAR
sudo reboot
VÍDEO AULA
Assista à vídeo aula passo a passo.

Todos os direitos reservados para:

Cícero M. Soares

cicero@treinalinux.com.br
Fone: +55 11 5676-2898
Estrada do Alvarenga, 3051 - São Paulo - SP - Brasil