Trabalhar com grupos no Linux
Trabalhar com grupos no Linux é uma tarefa bastante simples, mas nem todos sabem os comandos necessários. Neste artigo vou descrever como trabalhar com grupos.
Um utilizador no sistema Linux está associado a um ou mais grupos. Desta forma podemos configurar as permissões nos ficheiros por grupo. Por exemplo para usar o comando “sudo” no Ubuntu os utilizadores têm de pertencer ao grupo “sudo”, para elevar as suas permissões. Quando queremos nos ligar a switchs através de um cabo USB, temos de pertencer ao grupo “dialout”.
Os comandos que vou utilizar neste artigo têm de correr com root. Se utiliza o Ubuntu adicione o camando sudo antes de todos os comandos propostos sempre que existir o caracter “#” nos exemplos.
Adicionado um novo Grupo
Para criar um grupo no sistema utiliza-se o comando "groupadd
“. Este comando permite-nos criar todos os grupos que sejam necessários para um determinado projeto.
Para criar um grupo corremos o seguinte comando:
# groupadd nomedogrupo
Claro que temos de substituir “nomedogrupo” pelo nome que queremos que o grupo tenha.
Atribuindo um grupo a um utilizador
Para atribuir a um determinado grupo existente um determinado utilizador existente usa-se o comando “usermo
d”. Este comando permite modificar várias propriedades de um utilizador entre elas os grupos.
Para atribuir um grupo a um utilizador corremos o seguinte comando:
# usermod -a -G nomedogrupo nomedoutilidador
Claro que temos de substituir “nomedogrupo” pelo nome de um grupo existente e “nomedoutilidador” por um utilizador existente.
Por exemplo, para atribuir grupo “sudo” ao utilizador “miguel” corremos o seguinte comando:
# usermod -a -G sudo miguel
Modificar o grupo primário
Os utilizadores no Linux podem ter vários grupos no entanto um grupo é sempre o “grupo primário” e ou outros “grupos secundários”. O sistema usa o “grupo primário” de cada utilizador para o login, para os ficheiros e diretórios criados pelo utilizador.
Para modificarmos o “grupo primário” de um utilizador corremos o seguinte comando:
# usermod -g nomedogrupo nomedoutilidador
Claro que temos de substituir “nomedogrupo” pelo nome de um grupo existente e “nomedoutilidador” por um utilizador existente.
Ver a que grupos um utilizador pertence
Para ver os grupos a que um determinado utilizador pertence corremos o seguinte comando:
$ groups nomedoutilidador
Para ver os grupos a que o nosso utilizador pertence corremos o seguinte comando:
$ groups
Para vermos o id de grupo associado a cada grupo de um determinado utilizador corremos o seguinte comando:
$ id nomedoutilidador
Para vermos o id de grupo associado a cada grupo a que pertencemos corremos o seguinte comando:
$ id
Na lista apresentada pelo comando id o “grupo primário” é o valor na variável “gid=” os “grupos secundários” são os apresentados na variável “groups=”.
Atribuindo um utilizador a vários grupos
Quando atribuímos “grupos secundários” a utilizador podemos fazê-lo de uma só vez. Para isso corremos o seguinte comando:
# usermod -a -G grupo1,grupo2,grupo3,grupo4 nomedoutilidador
Podemos atribuir quantos grupos forem necessários. Os grupos têm de ser separados por virgula.
Ver os grupos existentes no sistema
Quando necessitamos de saber os grupos existentes no sistema que estamos a trabalhar, corremos o seguinte comando:
$ getent group
O output deste comando mostra-lhe também o “id” de cada grupo bem como os utilizadores que pertencem a cada grupo.
Conclusão
Trabalhar com grupos no Linux é simples no entanto é importante perceber como funciona. É necessário saber o que estamos a fazer, pois por razões de segurança não queremos dar mais permissões do que as necessárias a um determinado utilizador.