Como e quando usar grupos?

2

Eu tenho apenas um usuário no meu computador e nunca defini permissões de grupo. Quando eles são úteis? Você pode me dar alguns exemplos?

    
por Peret Finctor 09.12.2015 / 01:28

1 resposta

2

Um bom exemplo é que, por padrão, o servidor web Apache é executado como usuário e grupo www-data .

Seu ID de usuário não é www-data nem seu ID de grupo padrão. Você não pode alterar arbitrariamente sua ID de usuário e manter a integridade de seu acesso, mas pode adicionar seu nome de usuário a um grupo e ter acesso a arquivos que normalmente não estão disponíveis para um usuário normal.

Você pode adicionar seu ID de usuário ao grupo www-data com o comando:

$ sudo adduser [username] [groupname]

Após esse comando, o usuário com o nome de usuário terá acesso aos arquivos com o nome do grupo. By the way, você não vai usar os suportes. Os colchetes no exemplo são para mostrar uma variável que pode ser substituída.

Agora você pode criar arquivos no seu servidor da Web que você pode editar. O próprio servidor seria capaz de fazer atualizações para os arquivos também

A propósito, você pode remover um usuário de um grupo com:

$ sudo deluser [username] [groupname]

Existem muitos outros exemplos de acesso a grupos que você pode encontrar apenas observando os vários grupos disponíveis por padrão. Você pode verificar a lista de grupos com:

$ less /etc/group

Você provavelmente notará que seu nome de usuário tem acesso a vários recursos do sistema, como plugdev (o recurso que dá acesso a dispositivos usb que você pode anexar ao seu computador). Você também pode perceber que tem acesso ao dispositivo de cdrom (o grupo cdrom ).

Um dos mais importantes é o grupo sudo , que permite usar os comandos elevados / superusuários.

An para usar o acesso ao grupo www-data

Eu usei www-data como exemplo. Por padrão, os arquivos da web são de propriedade de root. Eles não estão disponíveis para serem editados por outros usuários. Você pode especificar os arquivos para um grupo diferente de acordo com quem você deseja ter acesso para poder editar os arquivos. Então você pode dar acesso ao acesso dessas pessoas (incluindo o servidor web).

Como o servidor da Web está sendo executado com o ID do usuário e do grupo, www-data, você pode conceder ao servidor da web acesso para fazer alterações nos arquivos alterando-os para esse usuário ou grupo. Por padrão, seu servidor da Web não pode fazer alterações em nenhum dos arquivos da Web.

Se você tivesse um motivo para o seu servidor fazer alterações em determinados arquivos da Web (ou pastas), isso seria uma ocasião para alterar os arquivos (ou pastas) para esse usuário ou grupo específico.

Como criar um grupo

Agradeço que você também tenha uma oportunidade em que deseja conceder acesso específico a arquivos ou pastas específicos para você mesmo e para outros IDs de usuário. Você pode criar um grupo específico para isso e adicionar acesso a esse grupo com os comandos acima.

Uma linha de comando para criar um grupo é:

$ sudo addgroup <groupname>

Pode haver uma ocasião em que você pode escrever um programa para executar tarefas específicas. Você pode criar um ID de usuário e grupo para esse programa. Coloque os arquivos e pastas que o programa estará acessando (lendo e gravando) nesse grupo com o comando acima.

O daemon e o protocolo FTP são um exemplo. Se você quisesse permitir que as pessoas enviassem arquivos para o seu computador, você criaria um diretório específico e daria acesso de gravação via usuário ou grupo a esse diretório para que o daemon do FTP pudesse escrever nele.

Você não desejaria que o daemon do FTP pudesse gravar em qualquer parte do sistema. Então você especificaria por usuário ou grupo de acesso onde o daemon FTP pode ler ou escrever.

Nota

Observe o $ na frente dos comandos do terminal. Este é um indicador do prompt de comando da sessão de login de um usuário normal. Se o comando vier do logon raiz, o prompt padrão será o símbolo # . Quando logado como um usuário normal, você tem que prefixar seu comando com o comando sudo para elevar o acesso ao super doer. Isso não é necessário, você está logado como root. Também é fácil olhar o texto e ver com comandos precisa ser elevado, como adduser . Observe que /etc/group é (por padrão) legível pelo mundo, portanto, você não precisa do comando elevado (acesso root) para ler o conteúdo. Você precisaria para escrever para ele.

    
por L. D. James 09.12.2015 / 03:57