quando você administra uma máquina Linux que abriga vários usuários, pode haver momentos em que você precisa ter mais controle sobre esses usuários do que as ferramentas básicas de usuário oferecem. Esta idéia vem à tona especialmente quando você precisa gerenciar permissões para certos usuários. Digamos, por exemplo, que você tem um diretório que precisa ser acessado com permissões de leitura/escrita por um grupo de usuários e apenas permissões de leitura para outro grupo. Com o Linux, isso é inteiramente possível., Para fazer isso acontecer, no entanto, você deve primeiro entender como trabalhar com os usuários, através de grupos e listas de controle de acesso (ACLs).
vamos começar do início com os usuários e trabalhar o nosso caminho para os ACLs mais complexos. Tudo o que você precisa para fazer isso acontecer será incluído em sua distribuição Linux de escolha. Nós não vamos tocar no básico dos usuários, como o foco neste artigo é sobre grupos.,
Para o propósito desta peça, eu vou assumir as seguintes:
Você precisa criar dois usuários com nomes de usuário:
-
olivia
-
nathan
Você precisa criar dois grupos:
-
leitores
-
editores
Olivia precisa ser um membro do grupo de editores, enquanto nathan precisa ser um membro do grupo de leitores. Os leitores do grupo só precisam ter permissão de leitura para o diretório / dados, enquanto os editores do grupo precisam ter permissão de leitura e escrita para o diretório /dados., Isto, é claro, é muito mínimo, mas vai dar-lhe a informação básica que você precisa para expandir as tarefas para atender às suas necessidades muito maiores.vou demonstrar na plataforma do servidor Ubuntu 16.04. Os comandos serão universais-a única diferença seria se a sua distribuição de escolha não faz uso do sudo. Se este for o caso, você terá que primeiro su para o usuário root para emitir os comandos que requerem sudo nas demonstrações.
criando os usuários
a primeira coisa que precisamos fazer é criar os dois usuários para o nosso experimento., A criação do utilizador é tratada com o comando useradd. Em vez de simplesmente criar os usuários, precisamos criá-los com seus próprios diretórios domésticos e, em seguida, dar-lhes senhas.
A primeira coisa que fazemos é criar os usuários. Para fazer isso, emitir os comandos:
sudo useradd -m oliviasudo useradd -m nathan
agora criamos nossos usuários. Se você olhar no diretório / home, você vai encontrar suas respectivas casas (porque nós usamos a opção-m, que cria um diretório home).
de seguida, cada usuário deve ter uma senha., Para adicionar senhas à mistura, você emitiria os seguintes comandos:
sudo passwd oliviasudo passwd nathan
quando executar cada comando, ser-lhe-á pedido para introduzir (e verificar) uma nova senha para cada utilizador.é isso, seus usuários são criados.
criando grupos e adicionando usuários
Agora vamos criar os grupos leitores e editores e, em seguida, adicionar usuários a eles. Os comandos para criar os nossos grupos são:
addgroup readersaddgroup editors
é isso. Se você emitir o comando less /etc / group, você verá nossos grupos recém-criados listados (Figura 1).,
Com os nossos grupos criados, precisamos adicionar os nossos utilizadores. Nós vamos adicionar usuário nathan grupo de leitores com o comando:
sudo usermod -a -G readers nathan
vamos adicionar o usuário olivia para o grupo de editores com o comando:
sudo usermod -a -G editors olivia
Agora estamos prontos para começar a gerenciar os usuários a grupos.,
dando aos grupos permissões para pastas
digamos que você tem o diretório / leitores e você precisa permitir que todos os membros do grupo de leitores tenham acesso a esse diretório., Primeiro, altere o grupo da pasta com o comando:
sudo chown -R :readers /READERS
em seguida, remova a permissão de gravação do grupo com o comando:
sudo chmod -R g-w /READERS
Agora podemos remover a outros x bits do /LEITORES de diretório (para evitar que qualquer usuário não no grupo de leitores de aceder a qualquer arquivo dentro) com o comando:
sudo chmod -R o-x /READERS
neste momento, apenas o dono do diretório (raiz) e os membros do grupo de leitores podem aceder a qualquer arquivo dentro de /LEITORES.,
digamos que você tem o diretório / editores e você precisa dar aos membros do grupo de editores Permissão para ler e escrever para o seu conteúdo. Para isso, seria necessário o seguinte comando:
sudo chown -R :editors /EDITORSsudo chmod -R g+w /EDITORSsudo chmod -R o-x /EDITORS
neste ponto, qualquer membro do grupo de Editores pode acessar e modificar arquivos dentro. Todos os outros (menos root) não têm acesso aos arquivos e pastas dentro /editores.
o problema com o uso deste método é que você só pode adicionar um grupo a um diretório de cada vez. É aqui que as listas de controlo de acesso dão jeito.,
usando listas de controle de acesso
Agora, vamos ficar complicados. Digamos que você tem uma única pasta—/Dados—e você quer dar aos membros do grupo de leitores permissão de leitura e membros dos editores do grupo permissões de leitura/escrita. Para fazer isso, você deve aproveitar o comando setfacl. O comando setfacl define as listas de controlo de acesso aos ficheiros e pastas.,
A estrutura deste comando parece-se com esta:
setfacl OPTION X:NAME:Y /DIRECTORY
onde a opção é as opções disponíveis, X é u (para o utilizador) ou g (para o grupo), o nome é o nome do utilizador ou grupo, e directório é o directório a ser usado. Vamos usar a opção-m para modificar. Por isso, o nosso comando para adicionar o leitor de grupo para o acesso de leitura ao directório /DATA seria o seguinte:
sudo setfacl -m g:readers:rx -R /DATA
agora qualquer membro do grupo de leitores pode ler os ficheiros contidos no /DATA, mas não os pode modificar.,
Para dar aos membros dos editores grupo de permissões de leitura/gravação (mantendo as permissões de leitura para o grupo de leitores), gostaríamos de emitir o comando;
sudo setfacl -m g:editors:rwx -R /DATA
O comando acima daria qualquer membro dos editores grupo permissão de leitura e gravação, mantendo as permissões só de leitura para o grupo de leitores.
todo o controlo de que necessita
E aí está. Você pode agora adicionar membros a grupos e controlar o acesso desses grupos a vários diretórios com todo o poder e flexibilidade que você precisa., Para ler mais sobre as ferramentas acima, execute os comandos:
-
homem usradd
-
homem addgroup
-
homem usermod
-
homem sefacl
-
homem chown
-
man chmod
Saiba mais sobre o Linux através da “Introdução ao Linux” curso de Linux Foundation e edX.