Índice de conteúdo:
Aqui vamos fazer uso de permissões e grupos, pelo que estes posts poderão ser de alguma utilidade para melhor entendimento:
- Criar Directórios em Terminal Linux do simples ao complexo
- Como criar Novos Utilizadores em Linux via Terminal
- Criar Grupos em Linux
- Permissões em Linux - Forma Numérica
Para que compartilhar pastas?
Compartilhar uma pasta em Linux é uma forma de disponibilizar a vários usuários os mesmos documentos. Isto pode ser útil, seja por razões de colaboração, seja para compartilhar ficheiros ou para fazer backup.
Neste laboratório vamos compartilhar uma pasta com um grupo e para isso vamos fazer o seguinte:- Criar em /home/ uma pasta com o nome DesenvolvimentoWeb, e dentro da pasta DesenvolvimentoWeb vamos criar duas outras pastas: Documentos e Imagens. Nessas pastas colocaremos os ficheiros que queremos disponibilizar ao grupo
- Criar um grupo com o nome desenvolvedores
- Criar dois usuários: desenvolvedor-1 e desenvolvedor-2
- Adicionar ao grupo os usuários que queremos dar acesso ao mesmo, neste caso serão os usuários desenvolvedor-1 e desenvolvedor-2.
- Alterar a propriedade da pasta para o grupo.
- Definir as permissões na pasta para que o grupo tenha o acesso desejado.
Como compartilhar uma pasta
Aqui vamos seguir com exemplos o passo-a-passo de como compartilhar diretórios. Estou usando o Linux Fedora 38, se você usa uma outra distribuição Linux, também pode funcionar.
Criar a pasta a ser partilhada e as subpastas:
# mkdir /home/DesenvolvimentoWeb
# mkdir /home/DesenvolvimentoWeb/Documentos
# mkdir /home/DesenvolvimentoWeb/Imagens
A pasta DesenvolvimentoWeb e subpastas poderiam também ser criadas desta forma:
# mkdir -p /home/DesenvolvimentoWeb/{Documentos,Imagens}
Atenção à opção -p, também não deverá haver espaço entre a vírgula e o nome das pastas.
Vamos colocar uma imagem e um documento de texto nas pastas para efeito de teste:
Para o documento de teste, vamos criar um documento com o nome de documento-de-teste.txt da seguinte forma:
# echo "Estamos com esta mensagem testando a partilha de uma pasta num grupo com dois utilizadores" > /home/DesenvolvimentoWeb/Documentos/documento-de-teste.txt
Para a imagem de teste, copie uma imagem para a pasta Imagens. Aqui o meu nome de utilizador é administrador, o teu poderá ser outro.
# cp /home/administrador/Transferências/grupos-1.png /home/DesenvolvimentoWeb/Imagens/
Criar o grupo:
# groupadd desenvolvedores
Criar dois utilizadores:
# useradd -c "desenvolvedor-1" -m -d /home/desenvolvedor-1 desenvolvedor-1
# useradd -c "desenvolvedor-2" -m -d /home/desenvolvedor-2 desenvolvedor-2
Criar password para desenvolvedor-1 e fazer o mesmo para desenvolvedor-2:
# passwd desenvolvedor-1
# passwd desenvolvedor-2
Adicionar utilizadores ao grupo:
# usermod -aG desenvolvedores desenvolvedor-1
# usermod -aG desenvolvedores desenvolvedor-2
Podia-se também criar os utilizadores e incluí-los logo no grupo de desenvolvedores usando a opção -G seguido do nome do grupo:
# useradd -c "desenvolvedor-1" -G desenvolvedores -m -d /home/desenvolvedor-1 desenvolvedor-1
# useradd -c "desenvolvedor-2" -G desenvolvedores -m -d /home/desenvolvedor-2 desenvolvedor-2
Alterar a propriedade da pasta:
# chgrp desenvolvedores /home/DesenvolvimentoWeb
Definir as permissões na pasta:
# chmod 770 /home/DesenvolvimentoWeb
Vamos fazer um teste
Agora vamos logar como desenvolvedor-1
$ su - desenvolvedor-1
Digite a palavra-passe para o desenvolvedor-1.
Agora vamos ver se o desenvolvedor-1 consegue acessar a nossa pasta DesenvolvimentoWeb.
$ cd /home/DesenvolvimentoWeb/Documentos
$ cat documento-de-teste.txt
$ cd /home/DesenvolvimentoWeb/Imagens
Como estamos em forma de texto, podemos ver a imagem com o seguinte comando
$ display grupos-1.png
Podemos fazer o mesmo para testar como desenvolvedor-2, mas desta vez vamos usar a forma gráfica.
Vista geral dos utilizadores do sistema
Utilizador desenvolvedor-2 com o qual vamos fazer o teste usando GUI (Interface Gráfica do Utilizador)
Vista geral dos diretórios em /home/
Vista das pastas em /home/DesenvolvimentoWeb/
Vista do documento em /home/DesenvolvimentoWeb/Documentos/
Vista da imagem em /home/DesenvolvimentoWeb/Imagens/
Podemos acessar a pasta em /home/DesenvolvimentoWeb/ mas também podemos criar um link simbólico dentro da nossa pasta /home/desenvolvedor-1/Documentos e ter ali disponível o conteúdo da pasta partilhada:
Para isso, na Pasta Pessoal do utilizador desenvolvedor-1, entramos na pasta Documentos com o primeiro comando; com o segundo criamos um link simbólico e com o terceiro comando listamos as informações do ficheiro no atual diretório.
$ cd Documentos
$ ln -s /home/DesenvolvimentoWeb
$ ls -l
Apresentação gráfica do nosso link simbólico. Daqui podemos acessar todos os documentos contidos na pasta compartilhada.
Para remover um utilizador do grupo:
# gpasswd -d desenvolvedor-2 desenvolvedores
Para remover um grupo:
# groupdel desenvolvedores
*****************************************
Até agora, os documentos partilhados por cada utilizador podem ser apagados ou renomeados por um outro utilizador pertencente ao grupo.
Para que haja maior proteção para a integridade do documento de cada elemento do grupo, vamos usar uma permissão especial usada em directórios Linux: o sticky bit. Com isto, só o root ou o dono de cada documento ou directório poderá apagar ou editar o documento ou directório.
# ls -l /home | grep DesenvolvimentoWeb
Então vamos adicionar esta permissão especial na pasta partilhada DesenvolvimentoWeb:
# chmod +t /home/DesenvolvimentoWeb
# ls -l /home | grep DesenvolvimentoWeb
Comparando esta imagem com a imagem acima, pode-se verificar a existência de um T no final do grupo de permissões, o que indica que foi aplicada a permissão especial na pasta partilhada.
Vários posts foram aqui feitos nos quais foram abordados temas como criação de diretórios, permissões em ficheiros, criação de utilizadores e criação de grupos, entre outros. Neste ponto, considerei que seria interessante se houvesse um post onde colocaríamos em prática uma parte do que tem vindo a ser abordado neste Blog. No que foi aqui tratado usamos como exemplo um grupo de trabalho, mas o princípio pode ser aplicado a qualquer tipo de grupo, como por exemplo, um grupo familiar. Espero que tenhas desfrutado do laboratório. Obrigado pela visita.