Usuarios e grupos

De Manuais Informática - IES San Clemente.
Revisión del 13:11 6 oct 2009 de Arribi (discusión | contribs.) (→‎Outros comandos relacionados)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

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)