Última atualização em
O acesso a arquivos em um servidor Linux multiusuário ou PC pode ser um pouco complicado. Saber como criar e adicionar usuários a um grupo pode ser um salva-vidas. Aqui está como.
Se você estiver gerenciando um servidor com vários usuários, há um malabarismo que acompanha isso. Gerenciar quem pode ler e gravar em um diretório versus quem pode apenas ler os arquivos requer algumas ferramentas extras. No Linux, isso é feito com grupos. Vamos ver como gerenciá-los, especialmente como você pode adicionar um usuário a um grupo no Linux.
Um guia para iniciantes para permissões de arquivo do Linux
Em primeiro lugar, esses exemplos são todos testados sob distribuição Linux Ubuntu. No entanto, todos eles devem funcionar da mesma forma, independentemente do tipo de Linux que você está executando.
O gerenciamento de acesso a arquivos e diretórios no Linux funciona com um conjunto de permissões. Se você olhar para eles, digitando ls -l na linha de comando, fica assim:
O primeiro dígito geralmente estará em branco ou, para diretórios, você verá um d. Depois disso, você verá 3 dígitos para permissões de usuário, 3 para permissões de grupo e 3 para todos os outros. Esses dígitos (quase sempre letras) representam ler (r), escrever (C), e executar (x). Esse último não é apenas para executar programas, lembre-se. Sem permissões de execução, os usuários não podem entrar em um diretório.
Com isso em mente, podemos ver que o exemplo acima é um diretório. O proprietário do diretório (jeff) tem acesso total (ler, escrever e executar). Membros do grupo ao qual o diretório pertence (jeff) pode mudar para esse diretório e ler seus arquivos, mas não gravar. O mesmo vale para todos os outros usuários, já que as últimas 3 permissões o definem como legível e executável no mundo.
Por que devo usar grupos no Linux?
Digamos que você tenha um diretório ao qual vários usuários precisam acessar. O problema aqui, porém, é que alguns usuários precisam de acesso total de leitura e gravação. Outros, você só quer poder ler arquivos lá, não criá-los.
Por exemplo, vamos supor que temos cinco usuários (jeff, olívia, bruce, firme, e Samantha). Dois deles, usuários jeff e Samantha, são editores e precisam ser capazes de ler e gravar nos arquivos em um diretório. Por outro lado, os usuários olívia, bruce, e firme exigem acesso de leitura a um diretório diferente para que possam ler os arquivos, mas não fazer alterações.
Criando seus grupos e diretórios de grupos
Para fazer isso, você criaria dois grupos, leitores e editores. Supondo que você já tenha criado os usuários, é hora de criar os grupos. Faremos isso usando o adicionar grupo comando.
leitores addgroup. editores addgroup.
Você pode confirmar que os grupos foram criados emitindo o comando menos /etc/grupo.
Em seguida, vamos criar nossos dois diretórios, leitores e editores. Esses comandos farão o truque.
sudo mkdir /READERS. sudo mkdir /EDITORES.
Feito isso, é hora de definir as permissões de acesso para os diretórios. Você atribuirá cada diretório ao seu grupo apropriado e, em seguida, definirá as permissões.
sudo chown -R :readers /READERS. sudo chown -R :editores /EDITORES.
Esses comandos alteram a propriedade do grupo para cada diretório.
sudo chmod -R g-w /READERS. sudo chmod -R o-x /READERS.
O g nos primeiros comandos diz ao Linux que queremos alterar as permissões do grupo. Este comando impede que os usuários no leitores grupo de gravar no diretório. O segundo comando remove o x pouco de outras (Note o o pouco antes -x) para esse diretório. Isso impede que membros que não sejam do grupo acessem qualquer um dos arquivos contidos nele.
Após esses comandos, apenas o dono do diretório (root) e os membros do leitores grupo pode acessar os arquivos dentro do /READERS diretório.
A seguir, vamos configurar o /EDITORS diretório para permitir acesso de gravação aos membros do grupo editores. Ninguém mais, exceto root, terá acesso aos arquivos.
sudo chmod -R g+w /EDITORS. sudo chmod -R o-x /EDITORS.
Observe que desta vez, o primeiro comando está adicionando o C bit para as permissões do diretório. É isso que permitirá ao grupo editores para gravar nos arquivos. Agora, o root terá acesso total ao /EDITORS diretório, o editores grupo poderá gravar nos arquivos internos e ninguém mais poderá acessar os arquivos.
Adicionando um usuário a um grupo no Linux
Até agora, esses comandos não vão realizar muito. Os grupos estão vazios, então precisamos adicionar nossos usuários aos seus respectivos grupos. Para começar, adicionaremos usuários jeff e Samantha ao editores grupo.
sudo usermod -a -G editores jeff. sudo usermod -a -G editores samantha.
Em seguida, adicionaremos usuários olívia, bruce, e firme ao leitores grupo.
sudo usermod -a -G leitores olivia. sudo usermod -a -G leitores bruce. sudo usermod -a -G leitores stacey.
É assim que, no Linux, adicionar um usuário a um grupo. Agora nossos usuários têm acesso aos arquivos de que precisam. Você pode verificar quais usuários são membros de cada grupo revisando o /etc/group Arquivo. Deve ser semelhante a este.
Controle de acesso mais avançado no Linux
Agora, digamos que você queira que seus membros do grupo de editores tenham acesso de gravação ao diretório /DATA. Ao mesmo tempo, seus editores precisam de acesso total de leitura/gravação ao diretório. Isso é um pouco mais complicado, já que o Linux só permite que um grupo de cada vez se aproprie de um arquivo ou diretório.
Felizmente, há uma maneira. Usando listas de controle de acesso (ACLs), você pode conceder acesso de leitura a um grupo e a outro de leitura/gravação. Veja como você pode dar aos membros do leitores agrupar o acesso correto.
sudo setfacl -m g: leitores: rx -R /DATA.
Agora, vamos dar editores acesso de leitura e escrita.
sudo setfacl -m g: editores: rwx -R /DATA.
Há um pouco mais isso pode ser feito com listas de controle de acesso, mas este é um excelente começo.
Vários usuários jogam bem juntos no Linux, mas tenha cuidado
Isso demonstra como você pode conceder acesso a diretórios para vários usuários. Lembre-se, porém, que cada usuário em um computador pode apresentar seus próprios riscos de segurança. Também é importante definir políticas adequadas em relação à força e segurança da senha.
Eduque seus usuários sobre como definir senhas fortes. Também não precisam ser sequências aleatórias de letras, números e símbolos. Eles também podem use uma senha segura, mas somente se sua política permitir. Você também deve certificar-se de que cada usuário saiba como alterar sua senha.