no sistema, por exemplo /home/daniel. Ele poderia ser chamado por outro nome
como /minha_pasta, por exemplo, e isso não afetaria em nada a estrutura do
sistema.
Já o diretório /root é a pasta pessoal do superusuário root, sobre o qual ve-
remos mais detalhes no capítulo seguinte.
5.3
Os diretórios /proc e /sys
O diretório /proc contém arquivos temporários de processos em execução no sis-
tema. Em outras palavras, é um diretório virtual usado pelo kernel. Nele são man-
tidos configurações atuais do sistema e dados estatísticos. Mais adiante veremos detalhes sobre processos.
55
5.3. Os diretórios /proc e /sys
Casa do Código
Assim como o diretório /proc, o /sys armazena quase o mesmo conteúdo
porém de forma mais organizada para podermos administrar.
Á medida que formos avançando, vamos conferir na prática alguns dos princi-
pais diretórios vistos aqui.
56
Capítulo 6
Administração de usuários
O Linux é um sistema multiusuário, ou seja, que pode ser usado por vários usuários simultaneamente, sem que um interfira nas atividades do outro, nem consiga alterar seus arquivos. Um bom exemplo para entender melhor seria um servidor web
compartilhado, baseado em Linux, que hospeda alguns milhares de sites, cada um
administrado por um usuário diferente.
As restrições implementadas no sistema de permissões são muito eficientes. Esse
esquema de permissões é fundamental para o funcionamento do sistema por com-
pleto. As permissões consistem em um conjunto de três regras: leitura, escrita e
execução. É graças a esse esquema de permissões que não vemos sistemas Linux
infectados por malwares ou vírus.
Neste capítulo, aprenderemos sobre gestão de usuários e vamos entender deta-
lhadamente como funcionam as permissões.
6.1. Gerenciando usuários
Casa do Código
6.1
Gerenciando usuários
Para entender sobre o controle de usuários, vamos dividir esta seção em três catego-rias:
1) Super Usuário (sudo) ou Administrador;
2) Usuário de Sistema;
3) Usuário Comum.
Usuário Administrador e sudo
No sistema, esse usuário é chamado de root. Ele é responsável por controlar
todo o sistema e não possui restrições. Sempre que executamos algum programa ou
tarefa que necessite de poderes administrativos, precisamos do root, que é chamado por meio do comando sudo.
Por exemplo, sempre que formos instalar um programa ou atualizar todo o sis-
tema, usaremos o comando sudo para ter as permissões de root e conseguir efetuar
essas tarefas.
Veja o que acontece ao tentar executar uma tarefa que precisa das permissões do
usuário root:
daniel@casadocodigo:~$ apt-get update
E: Could not open lock file
/var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file
/var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory
(/var/lib/dpkg/), are you root?
daniel@casadocodigo:~$
Podemos notar várias mensagens de alerta informando que a permissão para
a tarefa foi negada e, no final, ele pergunta se somos o usuário root. O correto
seria executar com o comando sudo para que o nosso usuário seja tratado com os
privilégios do usuário root.
Veja o que acontece ao executarmos a mesma instrução usando o comando
sudo:
58
Casa do Código
Capítulo 6. Administração de usuários
daniel@casadocodigo:~$ sudo apt-get update
[sudo] password for daniel:
Note que foi solicitada uma senha para o nosso usuário, que é a mesma que
cadastramos no processo de instalação. Ao confirmá-la, o comando apt-get
update funcionará normalmente, pois o nosso usuário faz parte do mesmo grupo
do usuário root. Entenderemos
mais adiante sobre grupos de usuários.
Não se preocupe ainda com o exemplo do comando apt-get, veremos o que
ele faz no próximo capítulo.
Usuários de sistema
São usuários que não necessitam logar no sistema eles existem para contro-
lar serviços e normalmente não possuem senhas. Um bom exemplo é o usuário
www-data, que pode ser usado para administrar servidores web como Apache e
Nginx.
Veremos mais sobre usuários de sistema nos capítulos sobre administração e ser-
viços.
Usuários comuns
São as contas criadas para o utilizadores do sistema. Essencialmente, eles podem
executar tarefas básicas como criar e editar documentos, navegar na internet, assistir vídeos etc. A conta daniel é um exemplo de usuário comum, diferente da conta
root que é utilizada para administrar o sistema.
6.2
Permissões
Nesta seção abordaremos o suficiente para termos uma referência sobre permissões
de arquivos e usuários. As permissões são opções que permitem um usuário ter
controle de acesso, leitura, gravação e execução de arquivos.
Existem três tipos de permissões: r (leitura), w (escrita) e x (execução).
Arquivos disponíveis somente para leitura podem ser abertos e ter seu conteúdo
visualizado, assim como pastas com o mesmo tipo de permissão podem ter os arqui-
vos listados.
Arquivos que possuem permissão de escrita podem ser alterados o usuário,