Linux.Usuarios y Grupos.

En todo sistema operativo debe de haber mínimo un usuario para hacer las cosas cotidianas y un solo usuario administrador, superusuario o root para realizar ciertas tareas de administración y configuración que puedan afectar al sistema. Los usuarios comunes no pueden hacer todo tipo de tareas, para eso sirve el superusuario, nunca viene nada mal un poco de seguridad.

No es nada recomendable usar para todo este usuario, porque no existen limitaciones y puedes cargarte el sistema, siempre se debe usar con precaución.

El sistema guarda información de todos los usuarios que pueda haber, ésta se encuentra almacenada en /etc/passwd. Veamos la información que sale:

cat /etc/passwd 

No nos fijemos en este comando, lo veremos mas adelante, sólo quiero mostrar lo información que contiene

Mucha información junta, ¿verdad?. Esto se lee con el siguiente patrón:

usuario:clave:UID:GID:GECOS:directorio:intérprete.

  • usuario: Es el nombre de usuario.
  • Clave: Es la clave del usuario. Por norma general apararecerá siempre una x.
  • UID: Es el identificador de usuario que usa el sistema.
  • GID: Es el identificador que usa el sistema para grupo principal al que pertenece el usuario.
  • GECOS: Aqui normalmente se guarda información extra del usuario, como por ejemplo el nombre completo. Este campo es opcional.
  • directorio: Es la carpeta principal de se ubica cuando iniciamos sesión con el usuario.
  • Intéprete: Especifica el intérpretes de comandos (bash, sh…).

Si en algún caso en la clave apareciera “::”, eso significa que el usuario no tiene clave. En términos generales eso no está bien, todo usuario debe tener una clave como seguridad.

Si en el intérprete aparece “/sbin/nologin” eso significa que son usuarios que no pueden iniciar sesión, ya que son reservados para el sistema.

¿Como se añaden usuarios?.

  • useradd. Con este comando creamos un usuario, pero hay que ponerle algunos parámetros mas, vamos a verlos:
  • m. Crea un directorio personal para este usuario.
  • g. El grupo principal o primario al que pertenece el usuario.
  • G. Grupos adicionales a los que pertenece el usuario.
  • s. Indica el intérprete de comandos que usará el usuario. El más usual es bash, pero existen otros como el sh, ksh...etc.
  • p. Añade una contraseña a la nueva cuenta.

Con todo esto dicho, el comando para crear un usuario quedaría de la siguiente manera;

useradd -g users -G audio,video,optical -p -s /bin/bash <usuario nuevo>

Cada grupo adicional se debe poner separados por comas o dará un error en el comando.

¿Que son los grupos? ¿Para que sirven?.

Los grupos sirven para definir que cosas podemos dar acceso a un usuario y que cosas no dentro de un grupo. Veamos los grupos que normalmente se usan:

  • audio. Permite el acceso a todo los dispositivos de sonido que pudieran haber:
  • camera. Permite acceso a cámaras digitales.
  • floppy. Permite el acceso a disqueteras.
  • games. Permite el acceso a juegos y programas de entretenimiento.
  • lp. Permite el acceso a impresoras y trabajos de impresión.
  • network. Permite el cambio de configuración de redes.
  • optical. Permite el acceso a unidades ópticas como unidades de CD y DVD.
  • power. Permite acceso a la administración de energía, como hibernación y suspensión.
  • scanner. Acceso a dispositivos que puedan escanear.
  • storage. Da la capacidad de acceso a unidades atraíbles.
  • video. Permite el acceso a dispositivos de captura de vídeo.
  • wheel. Es un grupo importante al que hay que prestar una atención diferente. Cualquier usuario que metamos en este grupo tiene la capacidad de hacer tareas administrativas a través del comando sudo sin ser superusuario.

¡Me confundí!, ¿Puedo modificar el usuario?.

usermod 

Funciona exactamente igual que el comando useradd, pero tiene algunos parámetros mas:

  • L. Bloquea un usuario.
  • U. Desbloquea un usuario.

No me convence mi contraseña, ¿La puedo cambiar?.

passwd <usuario>
  • Este comando es muy simple, solo hay que indicarle cual es el usuario que queremos cambiar la contraseña. Hay que tener en cuenta que solo te permite cambiar la contraseña propia, si quieres cambiar la de otro usuario debes ser usuario administrador para conseguirlo.

Me están sobrando usuarios por doquier, ¿Como los borro?.

userdel <usuario>
  • Sólo hay que destacar la opción -r para borrar el directorio personal del usuario en cuestión. Fácil, ¿verdad?. En la simpleza esta lo hermoso. Creo que no hace falta decir que para realizar esto se necesita permisos administrativos, ¿no?.

Anteriormente hemos visto una series de grupos en los cuales pueden pertenecer cualquier usuario. Hay muchos mas grupos, como son por ejemplo, root, bin,…etc. Estos grupos son del sistema y rara vez hay que meter a algún usuario, pero por lo general aquí no se mete ni Cristo.

Todos estos grupos y muchos que quedan, se almacenan en “/etc/group”.

Existe la posibilidad de crear nuevos grupos:

groupadd <grupo> #Crea un grupo.

Ahora quiero modificarlo el nombre porque me he confundido.

groupmod -n <nombre grupo nuevo > <nombre grupo antiguo>

Ahora quiero borrarlo, me di cuenta que no lo necesito.

groupdel <grupo> #Con esto eliminamos el grupo.

Para tener un poco de información del usuario que estamos utilizando, podemos usar estos dos comandos:

users #Muestra los usuarios que están accediendo a nuestro Linux.
groups <usuario> #Nos va a enseñar la lista de grupos a la que pertenece el usuario en cuestión.

¿Como cambio de usuario?

su <nombre de usuario> Nos pedirá la contraseña del usuario en cuestión.

¿Como puedo ser superusuario?.

su ó su <root>. Nos pedirá la contraseña como seguridad.

Vamos a empezar a utilizar comandos mas serios en la consola. Lo primero ejecutarla, nos vamos a Inicio/Aplicaciones/Sistema/Terminal y le hacemos click.

Lo primero que nos encontramos es una pantalla negra y fea y algo escrito como esto;

[ismaelroyano79@ismael-lnx ~]$

¿Que significa esto?. Pues nos está mostrando información del equipo; nombre de usuario@nombre del equipo.

  • ~. Este signo quiere decir que estoy en el directorio personal del usuario, es decir, /home/<usuario/.
  • $. Este signo significa que soy un usuario normal. Si ese signo fuera almohadilla # seríamos usuario root o superusuario. Sería algo así
[root@ismael-lnx ismaelroyano79]#

Vamos a mirar que hay dentro.

  • ls. Este comando nos muestra la información que hay dentro de una carpeta. Vamos a ejecutarla:

Como nos encontramos en /home/ismaelroyano79, nos mostrará las carpetas que pueda tener dentro de éste. Vamos a hacer que nos muestre más información;

ls -all

¡Alaaaa, cuanta información!, ¿Que significa?.

  • La primera columna son los permisos de la carpeta o del archivo.
  • La segunda columna muestra el número de enlaces que tiene cada archivo o directorio.
  • La tercera columna es el propietario.
  • La cuarta columna es el grupo al que pertenece el archivo o carpeta.
  • La quinta columna es el tamaño que alberga.
  • La siguiente información es la fecha y hora de la creación del archivo o carpeta.
  • Todo archivo o directorio que tenga un punto delante (.) significa que es oculto.

También podemos usar el comando ls indicándole el camino de donde queremos ver la información;

ls /etc -all

Vamos a movernos por donde queramos.

El comando que se utiliza para movernos por las carpetas es cd. Veamos algunas formas de utilizarlo:

cd /home/ismaelroyano79/Music #Podemos indicar diferentes carpetas y subcarpetas.
cd .. #Esto sirve para ir al directorio anterior.
cd ../Pictures #Podemos combinar el volver a la carpeta anterior y ir hacia otra de distinto nivel. Vamos a imaginar que estamos en /home/ismaelroyano79/Music. Sabemos que en /home/ismaelroyano79 hay 4 carpetas mas, Music, Pictures, Downloads y Movies. Lo que hace este comando es volver a /home/ismaelroyano79 y meternos en /home/ismaelroyano79/Pictures.

Si nos perdemos por un momento y no sabemos en que carpeta estamos, podemos ejecutar “pwd” y nos visualizará el camino donde nos encontramos en ese momento.

pwd

Continúa por ¿Me da usted su permiso?.