Nenhum produto encontrado nessa seleção.
Ao contrário do que muitos pensam, trabalhar com usuários, grupos e permissões no Linux é bem mais simples do que podem imaginar. Para este tutorial vou utilizar o Ubuntu para demonstrar como as coisas são precisas no Linux, diferente de outros sistemas operacionais pagos e que tornam este processo algo bem mais complexo.
No Linux, todos os diretórios e arquivos são marcados com permissões para seu proprietário, seu grupo e “todos”. Tais permissões são “read” (ler), “write” (escrever) e “execute” (executar). Se pegarmos apenas as iniciais nessa mesma ordem, teremos “rwx”.
Essas permissões têm valores binários que podem ser combinados para determinar diferentes tipos de acessos para diferentes usuários e grupos. Por exemplo, um usuário poderia ler (r) e executar (x) um arquivo, mas não poderia escrever (w) nele, por outro lado, outro usuário poderia ter controle total (rwx) nesse mesmo arquivo, podendo até mesmo apagá-lo da pasta.
Um usuário que tem controle total em determinado arquivo, terá os bits de cada uma das permissões ligados (com valor 1):
rwx 111
Utilizando a conversão de binário para decimal, sabemos que 111 daria 7 (sete), portanto, essa é a maior permissão que um usuário poderia ter em um arquivo ou diretório.
Se um usuário não tem determinada permissão, o bit referente àquela permissão estará desligado (valor 0). Por exemplo, um usuário que não pode escrever em um arquivo ou diretório teria a seguinte permissão:
r-x 101
Novamente, utilizando a conversão de binário para decimal, 101 seria 5.
Como temos três possibilidades diferentes (rwx) e dois estados (0 ou 1), podemos ter 8 combinações diferentes de permissões em arquivos e diretórios Linux. São elas:
rwx 111 = 7 (Ler, escrever e executar) rw- 110 = 6 (Ler e escrever) r-x 101 = 5 (Ler e executar) r-- 100 = 4 (Ler) -wx 011 = 3 (Escrever e executar) -w- 010 = 2 (Escrever) --x 001 = 1 (Executar) --- 000 = 0 (Nenhuma permissão)
Observe que um traço “-” representa o bit desligado daquela permissão, ou seja, sem permissão. Além disso, diretórios recebem um “d” inicial. Exemplo:
drwx
Agora que você entendeu como as permissões funcionam, vamos ver como tais permissões são aplicadas a arquivos e pastas.
Permissões para proprietário, grupo e todos
No Linux sempre temos três tipos permissões, que são para o proprietário do arquivo ou diretório (o cara que o criou), para o grupo e para todos. Portanto, temos três combinações de “rwx” divididas em três grupos.
Por exemplo, uma pasta poderia ter a seguinte permissão:
# Exemplo drwxr-x--- usuário grupo
Veja o exemplo acima detalhado abaixo:
- d: É um diretório (pasta)
- rwx: Permissão do proprietário do diretório (7 – controle total)
- r-x: Permissão do grupo do diretório (5 – Ler e executar)
- —: Permissão para todos (0 – sem premissões)
- usuario: O Proprietário do arquivo
- grupo: O grupo do arquivo
Perceba que em uma única linha tudo é descrito para você, ou seja, permissões do proprietário, grupo e todos, além dos nomes do proprietário e do grupo.
Para visualizar as permissões de qualquer coisa dentro do Linux, tanto para arquivos quando diretórios utilizamos o comando “ls -l” ou “ls -l /caminho/da/pasta“.
ls -l /caminho/da/pasta
Veja um exemplo na imagem abaixo:
Vou pegar uma linha da imagem acima e detalhar para você entender melhor:
-rw-rw-r-- 1 todoespacoonline todoespacoonline 5 Jun 5 4:30 a ^^ ^ ^ ^ ^ ^ ^ ^ ^ || | | | | | | | | || | | | | | | | Nome do arquivo || | | | | | | Data da última modificação || | | | | | Tamanho do arquivo || | | | | Grupo do arquivo ou diretório || | | | Proprietário do arquivo || | | Número de links || | Permissões para "todos" (rwx) || Permissões para o grupo (todoespacoonline) |Permissões para o proprietário do arquivo (todoespacoonline) Se é um arquivo (-) ou diretório (d)
Isso é exibido para todos os arquivos e diretórios da pasta que você escolheu.
Alterando permissões de arquivos e pastas no Linux
Utilizamos o comando chmod para alterar permissões de arquivos e pastas no Linux. Este comando tem o seguinte formato:
chmod [permissões] [arquivo/diretório] [-R]
Para [permissões] eu devo indicar quais serão as permissões para o proprietário, para o grupo e para todos utilizando os números que representam a permissão que desejo. Por exemplo, se eu quero que o proprietário tenha permissão total, o grupo apenas de leitura e execução e todos nenhuma, eu teria que indicar 750.
Para [arquivo/diretório] eu simplesmente indico o caminho do local onde desejo alterar as permissões.
O [-R] é opcional, caso você esteja alterando permissões de diretórios, ele indicará que o chmod deverá alterar as permissões de todos os arquivos dentro daquele diretório de maneira recursiva. Caso você não o utilize, nenhum arquivo dentro do diretório terá suas permissões alteradas, apenas o diretório pai.
Observação: Somente o Superusuário poderá alterar permissões de arquivos e pastas, portanto, é necessário utilizar sudo antes do comando. Exemplo:
sudo chmod 750 pasta/ -R
Veja um exemplo real na imagem abaixo:
Tudo é bastante preciso no Linux, ou seja, agora que é proprietário daquela pasta terá controle total, que for do grupo daquela pasta terá apenas leitura e execução e que não fizer parte desse círculo não terá permissão nenhuma.
Alterando o proprietário e grupo de arquivos e diretórios
Agora que você já está fera nas permissões do Linux, podemos começar a manipular quem é dono e qual é o grupo de determinado arquivo ou pasta.
Para alterar o proprietário de um arquivo ou pasta qualquer, utilizamos o comando “chown” (change owner). Este comando tem a seguinte sintaxe:
chown [novo proprietário] [caminho/da/pasta/arquivo] [-R]
Para [novo proprietário] utilizamos o nome de usuário do novo proprietário.
Para [caminho/da/pasta/arquivo] indicamos o caminho da pasta ou do arquivo que queremos alterar.
O [-R] serve para pastas e indica “modo recursivo”, ou seja, altere a pasta e todos os arquivos dentro dela. Ele é opcional.
Por exemplo, vou mostrar como está as permissões de uma pasta na imagem abaixo. Repare no proprietário.
Agora vou executar o seguinte comando:
sudo chown todoespacoonline /home/todoespacoonline/Área\ de\ Trabalho/teste/ -R
Veja agora como ficou o resultado:
Agora o usuário “todoespacoonline” é dono da pasta e de todos os arquivos dentro dela.
Para modificar o grupo de arquivos e pastas dentro do Linux, utilizamos o comando “chgrp” (change group) com a seguinte sintaxe:
chgrp [novo grupo] [caminho/pasta/arquivo] [-R]
O [novo grupo] é o nome do novo grupo, [caminho/pasta/arquivo] é o caminho da pasta ou arquivo e [-R] indica para alterar todos os arquivos dentro daquela pasta.
Por exemplo, agora vou alterar apenas o grupo de um único arquivo com o comando:
sudo chgrp todoespacoonline teste/i.jpg
Veja como ficou o resultado:
Agora o grupo do arquivo i.jpg também é todoespacoonline.
Observação: Sempre que você cria um usuário dentro do Linux, um grupo também será criado com o mesmo nome daquele usuário.
Gerenciando usuários no Linux
Criar usuários no Linux é mais simples ainda, você só precisa digitar:
sudo adduser nomeusuario
E o sistema irá perguntar algumas informações para você. Veja um exemplo na imagem abaixo:
Neste processo todo, você já preenche todos os dados daquele usuário, até mesmo a senha para ele. Caso queira alterar a senha desse usuário posteriormente, utilize o comando:
sudo passwd nomeusuario
Veja:
E a senha do usuário será alterada de maneira simples assim!
Se você precisa ver todos os usuários presentes no sistema, simplesmente olhe no arquivo /etc/passwd. Por exemplo:
cat /etc/passwd
Assim você vai ver, além dos usuários que você criou, milhares de outros usuários que o sistema e programas utilizam.
Para apagar qualquer usuário do Linux, utilize userdel, exemplo:
sudo userdel nomeusuario
Veja:
E pronto, agora aquele usuários não existe mais.
Para adicionar qualquer usuário em um novo grupo, utilize novamente adduser, porém agora mencione o grupo que deseja.
sudo adduser nomeusuario nomegrupo
E agora o usuário”nomeusuario” está no grupo “nomegrupo“.
Por exemplo, se eu quiser dar o privilégio de utilização do “sudo” (superusuário) para qualquer usuário ficaria assim:
sudo adduser nomeusuario sudo
Veja o resultado:
Tome cuidado com isso, pois o usuário agora poderá executar praticamente tudo dentro do sistema utilizando “sudo comando…“.
Para remover um usuário de qualquer grupo, utilize deluser, veja:
sudo deluser nomeusuario sudo
E agora o usuário não faz mais parte daquele grupo.
Agora vamos ver como gerenciar grupos no Linux.
Gerenciando grupos no Linux
Para criar qualquer grupo no Linux, basta utilizar addgroup, veja:
sudo addgroup financeiro
Veja o resultado:
Para apagar qualquer grupo utilize delgroup, veja:
sudo delgroup financeiro
O resultado:
Já falamos como adicionar e remover usuários de um grupo, agora veja como listar todos os usuários que estão no mesmo grupo.
Primeiramente, lembre-se que todos os grupos do Linux estão gravados no arquivo “/etc/group”, portanto, você pode listar os dados desse arquivos assim:
cat /etc/group
E o resultado seria algo parecido com a imagem abaixo:
Para listar usuários de um grupo em específico, digite o seguinte:
grep nomegrupo /etc/group
Por exemplo, veja todos os usuários do grupo sudo do meu Ubuntu:
Tudo é bem simples e direto assim!
Vídeo tutorial
Abaixo um vídeo tutorial para ajudar ainda mais no seu aprendizado:
Link do vídeo: https://youtu.be/S2h92LNcEz8
Espero ter ajudado!