Usuarios e grupos
Usuarios e grupos de usuarios
Linux é un sistema operativo multiusuario. Para que múltiples usuarios poidan usalo dunha forma segura e ordenada, é necesario que o sistema dispoña de mecanismos de administración e seguridade para protexer os datos de cada un, así como para protexer e asegurar o correcto funcionamento do sistema.
Contas de usuario
Polo tanto, para poder utilizar o sistema operativo Linux é necesario dispor dunha conta de usuario que se compón de nome de usuario (login) e de clave (password). Se o usuario se equivoca ao introducir o seu nome ou a súa clave, o sistema denegaralle o acceso e non poderá entrar.
As contas de usuario créaas o administrador que é un usuario especial chamado root (ou un usario con permisos de root). Os usuarios deben pertencer polo menos a un grupo de usuarios, xa que obrigatoriamente deben ter asignado un grupo principal ou grupo primario.
Unha vez dentro do sistema o usuario pode utilizalo e executar todas as aplicacións que lle sexan permitidas, así como ler, modificar ou borrar aqueles ficheiros sobre os cales teña permiso. As contas de usuario proporcionan unha ruta para almacenar os seus documentos e o seu perfil xeralmente dentro do cartafol /home/nome-usuario
e comunmente denominada cartafol home do usuario, así como un intérprete de comandos (shell) que lle permite executar aplicacións.
Cando o usuario lanza unha aplicación, o sistema cárgaa en memoria e execútaa. Ás aplicacións que se están executando nun momento determinado denomínaselles procesos. Os procesos en execución pertencen a algún usuario. O sistema asigna aos procesos o usuario que os executa. Por exemplo, se o usuario alumno
executa a aplicación Firefox, na lista de procesos do sistema aparecerá un novo proceso chamado Firefox con propietario alumno
. Obrigatoriamente, todos os procesos do sistema pertencen a algún usuario. Para ver todos os procesos en execución no sistema pódese teclear o seguinte:
ps -aux
Para ver os procesos en tempo real pódese executar o comando top:
top
Cando se crea un novo ficheiro, o propietario será o usuario que o creou e o grupo será o grupo principal de devandito usuario. Obrigatoriamente, todos os ficheiros do sistema pertencen a algún usuario e a algún grupo. Co seguinte comando podemos ver o usuario e o grupo ao que pertence un ficheiro determinado.
ls -l
A conta de usuario tamén permite acceder ao sistema de forma remota accedendo desde outro equipo pola rede. Os permisos que ten o usuario cando utiliza o sistema presencialmente son os mesmos que ten cando o fai remotamente. O habitual é utilizar os servidores de forma remota xa que é a única forma de que varios usuarios o utilicen de forma simultánea.
Cada usuario ten un número diferente que é o identificador de usuario (uid = User IDentifier). Internamente o sistema traballa co uid, non co nome do usuario. Normalmente aos usuarios que creemos asígnanselles uids desde 1000 en diante. Os números uid menores que 100 resérvanse para usuarios especiais do sistema.
En Linux, por defecto, a información dos usuarios gárdase no ficheiro /etc/passwd. É un ficheiro de texto que pode visualizarse con calquera editor uo tecleando:
more /etc/passwd
Cada liña dese ficheiro almacena os parámetros dun usuario e só pode modificalo o administrador (root). O significado de cada liña é o seguinte:
nome_de_usr : clave : número_de_usuario : número_de_grupo : comentario : directorio : shell
As calves de cada usuario gárdanse encriptadas cun sistema de codificación irreversible, no ficheiro /etc/shadow que tamén é un ficheiro de texto.
Grupos
Para poder administrar os permisos dos usuarios dunha forma máis flexible, o sistema permite a organización de usuarios en grupos e establecer permisos aos grupos. Por exemplo, se nun centro educativo o grupo "profesores" ten acceso a certos directorios, cando demos de alta un profesor novo, tan só teremos que engadirlo ao grupo "profesores" para que poida acceder a todos eses directorios. É o que se denomina administración de permisos por grupos.
Todos os usuarios pertencen polo menos a un grupo que é o grupo principal do usuario, tamén chamado grupo primario do usuario, pero poden pertencer a máis grupos. No caso de que pertenzan a máis grupos, estes serán grupos secundarios.
Algunhas restricións sobre os usuarios e grupos son as seguintes:
- Todo usuario debe pertencer a un grupo principal obrigatoriamente.
- Os grupos poden conter varios usuarios.
- Os grupos de usuarios só poden conter usuarios, nunca poderán conter a outros grupos.
O sistema codifica os grupos de usuarios cun número diferente a cada un que é o identificador de grupo (gid = Group IDentifier). Internamente o sistema traballa co gid, non co nome do grupo. Normalmente aos grupos que creemos asígnanselles gids desde 1000 en diante. Os números gid menores que 100 resérvanse para grupos especiais do sistema.
Por defecto, a información dos grupos dun sistema gárdase no ficheiro /etc/group. É un ficheiro de texto que pode visualizarse con calquera editor. Cada liña almacena os parámetros do grupo e os usuarios que contén. Só pode modificalo o administrador (root). As claves dos grupos gárdanse encriptadas cun sistema de codificación irreversible, no ficheiro /etc/gshadow que tamén é un ficheiro de texto.
Usuario root
O usuario root, ás veces chamado superusuario, é o usuario administrador do sistema. Está identificado co número de usuario cero (uid=0) e ten permisos sobre todo o sistema sen ningún tipo de restrición. O usuario root pode acceder a calquera ficheiro, executar, instalar e desinstalar calquera aplicación, modificar os ficheiros de configuración do sistema e administrar usuarios. Polo tanto o usuario root ten control total sobre todo o sistema.
Administración de usuarios e grupos
A administración de usuarios e grupos soamente pode realizala o usuario root utilizando os comandos de xestión de usuarios. As tarefas e os comandos para realizalas son:
- useradd. Creación de usuarios.
- usermod. Modificación de usuarios.
- userdel. Eliminación de usuarios.
- groupadd. Creación de grupos.
- groupmod. Modificación de grupos.
- groupdel. Eliminación de grupos.
- adduser. Engadir usuarios a un grupo.
- deluser. Quitar usuarios dun grupo.
Creación de usuarios
O comando useradd
permite engadir un usuario. A sintaxe é:
useradd [opcións] nome-usuario
Entre as opcións máis destacables temos:
- -g: Grupo principal que queremos que teña o usuario (debe existir).
- -d: Cartafol
home
do usuario. Adoita ser/home/nome-usuario
- -m: Crea o cartafol
home
se é que non existe. - -s: Intérprete de comandos (shell) do usuario. Adoita ser /bin/bash
Por exemplo, se desexamos crear un usuario chamado alumno1
con grupo principal alumnos
, con cartafol /home/alumno1
e intérprete de comandos /bin/bash
, executaremos o seguinte comando:
useradd -g alumnos -d /home/alumno1 -m -s /bin/bash alumno1
Deste xeito creariamos ao usuario alumno1 e o seu cartafol home
. Tan só quedará establecer a súa clave co comando passwd
:
passwd alumno1
O sistema preguntará dúas veces a clave que queremos asignar a alumno1. O comando useradd
permite crear moitos usuarios automaticamente mediante scripts. Recoméndase que o nome de usuario sexa en minúsculas e ademais de letras tamén pode conter números e algún signo como guións normais e guións baixos. Linux distingue entre maiúsculas e minúsculas, é dicir, Alumno1 é distinto de alumno1.
Modificación de usuarios
Utilízase o comando usermod
e permite cambiar o nome do usuario, o seu cartafol home, o seu intérprete de comandos, os grupos aos que pertence e algúns outros parámetros. O seguinte cambia o home do usuario alumno1 a /home/cartafol_alumno1, no canto de /home/alumno1:
usermod -d /home/cartafol_alumno1 alumno1
Eliminación de usuarios
Realízase co comando userdel seguido do nome do usuario. Coa opción -r eliminará tamén o seu cartafol home:
userdel -r alumno1
Creación de grupos
O comando groupadd
permite engadir un grupo indicando como parámetro o nome do grupo. Por exemplo, se desexamos crear un grupo chamado 'alumnos' executaremos:
groupadd alumnos
Modificación de grupos
O comando groupmod
permite modificar o nome dun grupo ou o gid do mesmo. A sintaxe é:
groupmod [-g novo-gid] [-n novo-nome] nome-grupo
Para cambiar o gid do grupo profesores
groupmod -g 2000 profesores
Eliminación de grupos
Realízase co comando groupdel
seguido do nome do grupo:
groupdel profesores
Se algún usuario tivese devandito grupo como grupo primario, o comando groupdel non eliminará o grupo.
Engadir usuarios a un grupo
Utilízase o comando adduser
seguido do nome do usuario e do nome do grupo ao que queremos engadirlo:
adduser juan profesores
Quitar usuarios dun grupo
Utilízase o comando deluser
seguido do nome do usuario e do nome do grupo do que queremos quitarlo:
deluser juan profesores
Outros comandos relacionados
- pwd
- sudo login
- exit
- finger
--Arribi 12:11 6 oct 2009 (BST)