Como administrar grupos con gpasswd

Esta guía mostra como administrar grupos usando o comando gpasswd. Cada ficheiro e cartafol dentro de Linux ten permisos de usuario, grupo e propietario. Ao controlar quen ten acceso a un grupo pode controlar o que acontece cos ficheiros e cartafoles do seu sistema sen ter que establecer permisos para cada usuario.

Un pouco de permisos

Abra un terminal e dentro do seu cartafol persoal cre un cartafol chamado contas usando o comando mkdir do seguinte xeito:

contas mkdir

Agora execute o seguinte comando ls que mostraralle os permisos para a carpeta que acaba de crear.

ls -lt

Verás algo así:

drwxr-xr-x 2 túaname contas de nome 4096 teu nome

Os bits nos que estamos interesados ​​son os permisos que no exemplo anterior son "drwxr-xr-x". Tamén estamos interesados ​​nos 2 valores "yourname".

Falemos primeiro sobre os permisos. O "d" significa o directorio e permítenos saber que as contas son un directorio.

O resto dos permisos divídese en 3 seccións: "rwx", "rx", "rx". A primeira sección de 3 caracteres son os permisos que ten o propietario dun obxecto. A segunda sección de 3 personaxes son os permisos que ten quen pertence ao grupo e, finalmente, a última sección son os permisos que todos teñen.

A "r" significa "ler", o "w" significa "escribir" e "x" significa "executar".

Polo tanto, no exemplo anterior o propietario leu, escribiu e executou os permisos para o cartafol de contas mentres que o grupo e todos os demais só teñen permisos de lectura e execución.

No exemplo, o primeiro "yourname" é o propietario do elemento eo segundo "yourname" é o grupo primario para o cartafol de contas.

Para facer máis útil esta guía, engade un par de contas máis ao seu sistema usando os seguintes comandos de adduser :

sudo adduser tim sudo adduser tom

Pediráselle que configure un contrasinal para cada un deles e introduza outra información. Pode fuxir con só o contrasinal e regresar polo resto dos campos.

Agora que tes 3 contas, execute o seguinte comando para cambiar o propietario do cartafol da túa conta.

contas de sudo chown tom

Agora execute nuevamente o comando ls.

ls -lt

Os permisos agora serán os seguintes:

drwxr-xr-x tom yourname

Poderás navegar na carpeta de contas usando o comando cd da seguinte forma:

contas de cd

Agora proba crear un ficheiro co seguinte comando:

proba táctil

Recibirás o seguinte erro:

toque: non se pode tocar 'proba': permiso denegado

O motivo diso é que Tom é o propietario e leu, escribe e executa permisos pero só forma parte do grupo e só ten permisos de grupo.

Navega de novo ao cartafol persoal e cambia os permisos para as contas escribindo os seguintes comandos:

cd .. sudo chmod 750 contas

Agora execute nuevamente o comando ls:

ls -lt

Os permisos para o cartafol de contas agora serán os seguintes:

drwxr-x ---

Isto significa que o propietario ten permisos completos, os usuarios co grupo "yourname" terán permisos de lectura e execución e todos os demais non terán permisos.

Próbao. Navegue ao cartafol de contas e execute nuevamente o comando touch:

contas de cd proba táctil

Aínda ten os permisos para navegar na carpeta pero non ten os permisos para crear ficheiros. Se fose só un usuario normal non podes entrar no cartafol de contas.

Para probar isto, cambia ao usuario Tim e navega ata o cartafol de contas do seguinte xeito:

su - tim cd / home / yourname / accounts

Recibirás un erro de permiso denegado.

Entón, por que usar permisos de grupo e non establecer permisos individuais para todos os usuarios? Se tes un departamento de contas que todos deberían ter acceso a certas follas de cálculo e documentos, pero ninguén máis na empresa debería establecer os permisos para todas as persoas nas contas, pode establecer os permisos para o cartafol nun grupo chamado contas e, a continuación, engade os usuarios ao grupo.

Por que isto é mellor que establecer permisos de usuarios individuais? Se un usuario sae do departamento, só pode eliminalos do grupo en vez de traballar os seus permisos nunha serie de cartafoles.

Como crear un grupo

Podes usar o seguinte comando para crear un grupo:

sudo addgroup contas

Como engadir un usuario a un grupo

sudo gpasswd -a contas de nome de usuario

O comando anterior pódese usar para engadir un único usuario ao grupo de contas.

Para engadir unha lista de usuarios como membros do grupo, execute o seguinte comando:

sudo gpassword -M yourname, tom, tim accounts

Cando un usuario foi engadido a unha conta, o usuario pode engadir o grupo á súa lista de grupos secundarios executando o seguinte comando:

contas newgrp

Calquera usuario que non pertenza ao grupo deberá introducir o contrasinal do grupo.

Como cambiar o grupo primario para unha carpeta

Agora que temos un grupo cun usuario pode asignar ese grupo á carpeta de contas empregando o seguinte comando chgrp:

contas de contas sudo chgrp

As primeiras contas son o nome do grupo e as segundas contas son o nome do cartafol.

Como comprobar se un usuario pertence a un grupo

Pode comprobar se un usuario pertence a un grupo executando o seguinte comando:

grupos

Isto devolverá a lista de grupos aos que pertence un usuario.

Como cambiar o contrasinal do grupo

Para cambiar o contrasinal do grupo pode executar o seguinte comando:

sudo gpasswd

Pediráselle que introduza un contrasinal para o grupo e repita.

Agora podes engadir usuarios a un grupo da forma especificada anteriormente ou un novo usuario pode unirse ao grupo simplemente executando o seguinte comando e introducindo o contrasinal correcto:

newgrp

Obviamente, non quere dar a contrasinal do grupo a ninguén polo que é mellor engadir o usuario ao grupo vostede mesmo.

Como limitar os grupos a só os membros especificados

Se non queres que alguén que sabe o contrasinal para unirse a un grupo pode executar o seguinte comando:

sudo gpasswd -R

Establecer un usuario como administrador

Pode configurar usuarios como administradores dun grupo. Isto permite ao usuario engadir e eliminar usuarios dun grupo en particular e tamén cambiar o contrasinal

Para facelo executar o seguinte comando:

sudo gpasswd-contas de tom

Como eliminar unha contraseña de grupo

Pode eliminar o contrasinal dun grupo empregando o seguinte comando:

sudo gpasswd -r contas

Como eliminar un usuario do grupo

Para eliminar un usuario do grupo, execute o seguinte comando:

sudo gpassword -d tom accounts

Como dar un grupo Ler, escribir e executar permisos nun ficheiro ou cartafol

Ata agora, os usuarios do grupo de contas teñen acceso ao cartafol de contas, pero realmente poden facer calquera cousa porque só teñen permisos de lectura e execución.

Para proporcionar permisos de escritura ao grupo pode executar o seguinte comando:

contas de sudo chmod g + w

Resumo

Esta guía introduciu algúns comandos para axudarche a configurar os permisos no teu sistema Linux. Tamén pode usar o comando useradd para configurar usuarios e usuarios do grupo.