Usuários podem ter o acesso liberado a diretórios/arquivos execução de
programas de acordo com o grupo que pertencem. Este é um recurso valioso na
administração de sistemas Unix que se bem usado,
aumenta as
restrições de acesso e segurança no acesso/utilização de programas em um
ambiente de trabalho. Usuários de sistema tendem a usar o usuário
root
para fazer tarefas como conexão com internet,
utilização da placa de som, modem, etc. e as vezes nem sabem que isso pode ser
feito através do mesmo usuário adicionando este a um grupo específico.
Esta tarefa pode ser feita com o comando adduser usuário
grupo
ou editando manualmente os arquivos
/etc/group
e /etc/gshadow
. Podemos
ter as seguintes situações facilitadas com o uso de grupos:
-
Usar a placa de som. Os dispositivos usados pela placa de som como
/dev/audio
,/dev/dsp
,/dev/sndstat
, etc. normalmente tem permissão leitura/gravação para o usuárioroot
e grupoaudio
(cheque com o comandols -la /dev/audio
). Para autorizar determinados usuários usar a placa de som basta adiciona-los neste grupo:adduser usuario audio
. -
Conectar a Internet. Normalmente o utilitário ppp tem as permissões SUID
root
e grupodip
. Adicionamos o usuário a este grupo:adduser usuario dip
. Agora ele poderá conectar/desconectar a internet sem a intervenção do usuárioroot
.OBS Certamente o usuário terá acesso aos arquivos de configuração da discagem do ppp e conseqüentemente a senha de conexão internet, e esta senha é a mesma usada no e-mail primário do provedor (com o mesmo nome da conta). Esta mesma situação pode acontecer com outros programas que autorize o acesso a grupos, é importante que conheça bem as permissões do programa e entender se existem riscos.
-
Utilizar o modem. Um bom grupo para permitir a utilização do modem é
dialout
. O dispositivo utilizado pelo modem (não seu link) deve ter permissões leitura/gravação para o usuárioroot
e grupodialout
. Cadastrando o usuário neste grupo autorizará a utilização do modem:adduser usuario dialout
. -
Permitir que diversos usuários compartilhem um mesmo diretório. Isto é útil quando muitas pessoas estão desenvolvendo um mesmo projeto. Siga estes passos:
-
Crie um novo grupo no sistema: groupadd gp1, a opção -g permite selecionar manualmente a GID. Opcionalmente você poderá usar um grupo já existente no sistema (veja o arquivo
/etc/group
). -
Crie o diretório que será usado para armazenar os arquivos deste grupo de usuários:
mkdir projeto1
). -
Mude o dono/grupo do diretório:
chown root.gp1 projeto1/
-
De permissões de leitura/gravação para o dono/grupo do diretório, vamos também incluir a permissão SGID para que todos os arquivos criados dentro deste diretório pertençam ao mesmo grupo e não ao grupo primário do usuário, assim todos os usuários terão acesso:
chmod 2770 projeto1
-
Agora cadastre os usuários que deverão ter acesso ao diretório
projeto1/
no grupogp1
, somente estes usuários e o root terão acesso ao diretório (permissões 2770). -
É interessante também mudar a "umask" do usuário de
022
para002
(ou equivalente) para que os novos arquivos criados tenham permissão de leitura/gravação para o grupogp1
. Caso contrário, lembre-se de modificar as permissões de seus arquivos manualmente. Um ótimo comando para fazer isso (sem afetar diretórios) é:find . -type f -user usuario1 -exec chmod 0660 \{\} \;
. Este comando parece estranho mas é excelente! umchmod -R 0660
afetaria até os diretórios, imagine o caos.
-
A maioria das distribuições Linux vem com uma boa política de grupos para permitir um controle eficaz de recurso. Se você quer saber quais arquivos em seu sistema pertencem a determinado grupo (útil para saber o que o usuário terá acesso se adiciona-lo àquele grupo) execute o comando:
find / -group nome_do_grupo
Copyright © 1999-2020 - Gleydson Mazioli da Silva