Professional Documents
Culture Documents
/etc/passwd
Describe todas las características de las cuentas de usuario y sistema. Este
archivo se actualiza cada vez que creamos, borramos o modificamos un usuario
Pág. 1
ADMINISTRACIÓN EN LINUX 2
(login), pero puede ser modificado directamente por el usuario root (aunque no
es aconsejable hacerlo).
En él aparecen todos los usuarios que van a poder iniciar sesión en el sistema.
Cada línea contiene información relativa a un usuario, en campos separados por
el carácter “:”.
Ejemplo:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
jorge:x:500:500:Jorge González,c/Prim 11, 965867345:/home/jorge:/bin/bash
pepe:x:501:501::/home/pepe:/bin/bash
luis:x:502:502::/home/luis:/bin/bash
usu1_proy1::503:503::/home/usu1_proy1:/bin/bash
usu2_proy1:x:504:503::/home/usu2_proy1:/bin/bash
usu_proy1::505:503::/home/usu_proy1:/bin/bash
Pág. 2
ADMINISTRACIÓN EN LINUX 3
/etc/group.
Este archivo se actualiza cada vez que creamos, borramos o modificamos un
grupo.
En él aparecen todos los grupos del sistema. Al igual que el fichero de usuarios
está formado por un conjunto de líneas que tienen el siguiente formato:
grupo:contraseña:gid:miembro1,miembro2,miembro3, ...
Ejemplo:
root:x:0:root,pepe,luis
bin:x:1:bin
jorge:x:500:
pepe:x:501:luis,jorge
luis:x:502:pepe,jorge
grupo_proyecto1:x:503:
- En los grupos del sistema (en nuestro ejemplo root y bin), el último campo
contiene la lista de usuarios que tienen asociado este grupo como primario o
secundario.
- En los grupos creados después de la instalación (jorge, pepe, luis y
grupo_proyecto1), el último campo contiene la lista de usuarios que tienen
asignado este grupo como grupo secundario, pero no como grupo primario.
Pág. 3
ADMINISTRACIÓN EN LINUX 4
Por ejemplo, la cuarta linea de /etc/passwd nos dice que el usuario ‘pepe’
pertenece al grupo 501. En /etc/group vemos que el grupo 501 se llama
también ‘pepe’.
- Los grupos secundarios sólo se pueden ver en /etc/group, por lo que habrá
que buscar en la última columna de este campo todas las filas en las que
aparece el nombre del usuario en cuestión.
Por ejemplo, el usuario ‘pepe’, aparece en la cuarta columna de las líneas del
fichero /etc/group correspondientes a los grupos root y luis, por lo que estos
son sus grupos secundarios.
Nota: Como veremos más adelante, todo esto también se puede hacer con el
comando groups.
/etc/login.defs.
Este archivo contiene información que se toma por defecto a la hora de crear
nuevos usuarios y grupos.
# *REQUIRED*
# Directorio en que se almacena el correo del usuario
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Nº de días de validez de la contraseña.
# PASS_MIN_DAYS Nº de días durante los cuales está prohibido cambiar la
contraseña.
# PASS_MIN_LEN Nº de caracteres mínimos de la contraseña.
# PASS_WARN_AGE Nº de días antes de la expiración de la contraseña, que
se visualizará un mensaje de advertencia.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN5
PASS_WARN_AGE 7
#
# Valores mínimos y máximos para el identificativo de usuario (UID).
#
UID_MIN 1000
UID_MAX 60000
#
# Valores mínimos y máximos para el identificativo de grupo (GID).
#
GID_MIN 100
Pág. 4
ADMINISTRACIÓN EN LINUX 5
GID_MAX 60000
#
# Inicialización de configuración del login.
# UMASK Máscara de creación del directorio home.
# ...
UMASK 022
USERADD
Crear usuarios.
Sintaxis:
useradd [opciones] nombre_usuario
Opciones:
Pág. 5
ADMINISTRACIÓN EN LINUX 6
Ejemplo:
ADDUSER
Permite añadir usuarios al sistema.
Sintaxis:
adduser [opciones] nombre_usuario
Pág. 6
ADMINISTRACIÓN EN LINUX 7
Nota: Algunos aspectos del comportamiento por defecto de este comando pueden
cambiarse modificando adecuadamente su archivo de configuración,
/etc/adduser.conf; así, por ejemplo, para la máscara de creación del directorio
home se usa DIR_MODE, etc.
Opciones:
Nota: Puede invocarse también como addgroup, en cuyo caso permite añadir
grupos al sistema. Para más información ejecutar man adduser.
USERMOD
Permite modificar la información del usuario.
Sintaxis:
usermod [opciones] nombre_usuario
Opciones:
Ejemplo:
$usermod -s /bin/bash -c Periquito -l periquito perico
CHFN
Pág. 7
ADMINISTRACIÓN EN LINUX 8
Sintaxis:
chfn [opciones] nombre_usuario
Opciones:
CHSH
Permite modificar facilmente la shell utilizada por el usuario al ingresar en el sistema.
Sintaxis:
chsh [opciones] [nombre_usuario]
Opciones:
USERDEL
Borrar usuarios
Sintaxis:
userdel [-r] nombre_usuario
Opciones:
Nota: Otra forma de borrar todos los ficheros de un usuario que se va a eliminar
es mediante la orden:
# find / -user <nombre_usuario> -exec rm {} \;
Ejemplo:
Pág. 8
ADMINISTRACIÓN EN LINUX 9
Login:root
$cd /home
$ls
usuario1 ...
usuario2 periquito_palotes
$ userdel -r periquito
$ls
usuario1
usuario2
....
GROUPADD
Sirve para crear grupos.
Sintaxis:
groupadd [opciones] nombre_grupo
Opciones:
–g GID Otorga al nuevo grupo el GID indicado, en vez del número correlativo
que le corresponde.
Ejemplos:
$groupadd usuarios_proyecto4
/* Crea el grupo usuarios_proyecto4 con el GID 504 (siguiente nº libre) */
GROUPMOD
Modifica la definición de un grupo
Sintaxis:
groupmod [opciones] nombre_grupo
Opciones:
Pág. 9
ADMINISTRACIÓN EN LINUX 10
Nota: Se puede modificar tanto el GID como el nombre del grupo aunque el grupo esté
asignado como grupo primario de un usuario.
$ su - root
$groupmod –g 523 pru
/*Cambiamos el GID del grupo ‘pru’ a 523. Pero el usuario ‘usuario’ estaba
asignado al grupo 505 y no puede cambiar. Como el grupo 505 ya no existe,
el usuario se queda sin grupo. Los ficheros pertenecerán al grupo ‘505’,
inexistente */
login:usuario
$ls
rwxrwxrwx usuario 505 …………….. fich1
rwxrwxrwx usuario 505 …………….. fich2
- En cambio, si cambiamos el nombre del grupo, no pasa nada (al hacer “ls” se ve
que ha cambiado el nombre del grupo al que pertenecen los ficheros).
Ejemplo:
$ groupadd pru2 (GID 506)
$ useradd –g pru2 usuario2
$ passwd usuario2
login: usuario2
$ touch fich1 fich2
$ ls
rwxrwxrwx usuario2 pru2 …………….. fich1
rwxrwxrwx usuario2 pru2 …………….. fich2
$ su - root
$groupmod –n pruebas2 pru2
login:usuario2
$ls
rwxrwxrwx usuario pruebas2 …………….. fich1
rwxrwxrwx usuario pruebas2 …………….. fich2
GROUPDEL
Borrar grupos
Sintaxis:
groupdel nombre_grupo
Pág. 10
ADMINISTRACIÓN EN LINUX 11
Ejemplo:
$groupdel usuarios_proyecto4
Nota: Al borrar un grupo todos los ficheros que pertenecen a dicho grupo quedan
sin él. No hay utilidades que de manera automática transfieran o eliminen los
archivos (y usuarios) que pertenecen a un grupo dado. Puede usarse la siguiente
orden para cambiarlos de grupo:
# find / -gid [gid] –exec chgrp nuevo_gid {} \;
GROUPS
Para conocer los grupos a los que pertenece un usuario (tanto primarios como
secundarios)
Sintaxis:
groups nom_usuario.
Ejemplo:
En el siguiente ejemplo, el usuario ‘rosa’ pertenece al grupo ‘usuarios_proy4’ (como
grupo primario), pero también a los grupos root y usuarios.
$ groups rosa
rosa: usuarios_proy4 root usuarios
ID
Permite conocer los UIDs de los usuarios y ver los grupos a los que pertenecen
Sintaxis:
id [opciones] [nom_usuario]
Opciones:
Seguridad en Linux.
Pág. 11
ADMINISTRACIÓN EN LINUX 12
Dado que Linux ha sido diseñado para soportar múltiples usuarios, ofrece
muchos modos de acceder al sistema, además de diversas herramientas y
órdenes relativas a la seguridad.
Pág. 12
ADMINISTRACIÓN EN LINUX 13
El archivo /etc/shadow.
Todos los usuarios del sistema pueden visualizar el contenido del fichero
/etc/passwd, por lo que cualquier usuario tiene acceso a todas las contraseñas,
aunque estén encriptadas.
Linux utiliza una llamada al sistema, crypt, para codificar las contraseñas y
aunque resulta difícil descifrarla, no es imposible. Además, en el fichero
/etc/passwd hay más información de los usuarios como el uid, gid, etc., por lo
que está facilitando información al exterior.
Pág. 13
ADMINISTRACIÓN EN LINUX 14
Ejemplo:
root:$1$9p5c6c7E$3TwupixFk5RUztaT8i6.f.:11634:0:99999:7:::
bin:*:11634:0:99999:7:::
jorge:$1$Bkqh8wvo$9skkc0R9bhFXX.NdsQxmG1:11634:0:99999:7:::
pepe:!!:11640:0:99999:7:::
luis:!!:11640:0:99999:7:::
usu1_proy1:$1$7GA6Ev32$YZKQROB6tZFhzGur3u.sC/:11640:0:99999:7:::
usu2_proy1:$1$I0XDkjBq$SMpiTM1MsNYKEU6YXa6zW/:11640:0:99999:7:::
usu_proy1:$1DkjBqMpiTM1MsNYKEU6YXa6zW/:11640:0:99999:7:::
El archivo /etc/gshadow.
Es el análogo a /etc/shadow para el fichero de grupos /etc/group.
La opción “–“ permite obtener la configuración del entorno del usuario al que se
cambia. (Sin ella, nos encontraremos todavía en nuestro propio entorno de
sistema, utilizando nuestras variables de entorno, intérprete de comandos,
editor por defecto, rutas y máscara de archivos). Si se omite el
“nombre_usuario” se asume por defecto a root. Es posible usar la opción –c para
Pág. 14
ADMINISTRACIÓN EN LINUX 15
Para evitar la entrada como superusuario existe el comando sudo, que permite
ejecutar programas como si fuésemos otro usuario. Su sintaxis simplificada es:
sudo [-u nombre_usuario] programa
Si no se indica el usuario se supone que es root.
Para poder utilizar los usuarios correspondientes, éstos deben estar incluidos en
el archivo de configuración /etc/sudoers. Este puede editarse con el comando
visudo. En general, si se quiere asignar a un usuario todos los privilegios de
root hay que añadir en el fichero /etc/sudoers la línea:
usuario ALL=(ALL) ALL
Para ver más detalles consultar la páginas del manual de sudo y sudoers.
Sintaxis:
passwd [opciones] nombre_usuario
Opciones:
–l Permite bloquear cuentas, esto es, desactivarlas temporalmente
Pág. 15
ADMINISTRACIÓN EN LINUX 16
CHAGE
Permite modificar algunas opciones relativas a la contraseña de un usuario.
Sintaxis:
chage [opciones] nombre_usuario
Opciones:
PWCONV
Permite activar las contraseñas sombra para los usuarios del sistema.
Sintaxis:
pwconv
PWUNCONV
Permite desactivar las contraseñas sombra para los usuarios del sistema.
Sintaxis:
pwunconv
Pág. 16
ADMINISTRACIÓN EN LINUX 17
Nota: Los comandos grpconv y grpunconv son análogos a éstos dos últimos
pero aplicados a los grupos del sistema.
PWCK
Permite comprobar la consistencia de los ficheros /etc/passwd y /etc/shadow.
Sintaxis:
pwck [opciones] [passwd shadow]
Verifica aspectos como: número correcto de campos; único nombre de usuario; usuario
y grupo válidos; grupo primario, directorio inicial y shell de conexión válidos.
Opciones:
–r Ejecuta el comando en modo solo lectura. Esto significa que se responderá
“no” a todas las cuestiones que requieran cambios, sin la intervención del
usuario
–s Ordena las entradas de los ficheros por UID. En este caso no tiene lugar
ningún tipo de chequeo, solo se realiza la ordenación.
GRPCK
Permite comprobar la consistencia de los ficheros de grupo /etc/group y /etc/gshadow.
Sintaxis:
grpck [opciones] [group gshadow]
Para realizar los cambios de permisos se utiliza el comando chmod. (Ver más
adelante)
Nota: Recordad también que los directorios siempre deben tener activado el bit
de ejecución, de lo contrario no funcionarán.
Pág. 17
ADMINISTRACIÓN EN LINUX 18
El bit setuid se utiliza para permitir que un usuario que ejecuta un comando
(un proceso) se convierta en el propietario de ese proceso durante la ejecución.
Esto permite que usuarios sin permisos para modificar ciertos ficheros puedan
hacerlo a través de un programa que tenga el bit setuid activado, y que realice
esa modificación. (Para un directorio no tiene validez)
Lo mismo sucede con el bit setgid. Se utiliza para que durante la ejecución de
un fichero el usuario que lo ejecuta tenga los mismos permisos que el grupo al
que pertenece el fichero. Se sustituye el permiso de ejecución de grupo por una
‘s’ (o una ‘S’ si no estuviera activado el permiso de ejecución)
Por ejemplo:
$ chmod g+s resumen
-rwsr-sr-- resumen
El sticky bit sirve para permitir el acceso a todos los usuarios del sistema. Al
activarse se sustituye el permiso de ejecución de los “otros” por una ‘t’ (o una
‘T’ si no estuviera activado el permiso de ejecución).
Por ejemplo:
$ chmod o+t resumen
-rwsr--r-t resumen
Pág. 18
ADMINISTRACIÓN EN LINUX 19
Nota: Si no están activos los permisos de ejecución (lo que puede observarse por
la presencia de las letras mayúsculas en los permisos) los bits adicionales
correspondientes no tienen ningún efecto, al impedirlo los permisos
correspondientes.
Ejemplos:
rws rwS r-- = 110 111 110 100 (6764 en octal)
rwx rws –wT = 011 111 111 010 (3772 en octal)
Sintaxis:
chmod [opciones] modo-absoluto fichero(s)
chmod [opciones] modo-simbólico fichero(s)
Opciones:
–v Aporta información detallada
–R Se aplica a un directorio y sus contenidos, recursivamente.
Pág. 19
ADMINISTRACIÓN EN LINUX 20
El simbolo “+” sirve para añadir permisos y el símbolo “-” para quitar permisos. La
igualdad sirve para asignar unos permisos dados (como la forma absoluta pero con
caracteres o símbolos)
Ejemplos:
CHOWN
Permite cambiar el propietario a un fichero o grupo de ficheros.
Sintaxis:
chown [opciones] nuevo-propietario fichero(s)
Nota: Esta orden solo puede ser ejecutada por root o por el propietario de los
ficheros que se van a ceder al nuevo propietario.
Opciones:
–v Obtiene información detallada
Pág. 20
ADMINISTRACIÓN EN LINUX 21
Ejemplo:
chown luis *.bat # Cede todos los ficheros *.bat a luis
CHGRP
Permite cambiar el grupo a un fichero o conjunto de ficheros.
Sintaxis:
chgrp nuevo-grupo fichero(s)
Nota: Para realizar estos cambios los ficheros nos deben pertenecer (o ser root,
por supuesto) y debemos pertenecer también al nuevo-grupo.
Ejemplo:
chgrp usuarios agenda pruebas
# Cambia los ficheros agenda y pruebas al grupo usuarios
UMASK
Permite determinar qué permisos se asociarán por defecto a los ficheros o directorios
creados.
Sintaxis:
umask [-S] mascara
Para entender esta orden hay que tener en cuenta que cada usuario posee una
máscara de permisos. Esta máscara, expresada en notación octal, indica qué permisos
no se desea que tenga el recurso creado. Por defecto, la máscara de root es 022 y la
máscara de los demás usuarios suele ser 002 o 022.
Pág. 21
ADMINISTRACIÓN EN LINUX 22
Ejemplos:
Una solución mejor es utilizar una cola de impresión (spool). Este método
consiste en guardar los datos a imprimir en un fichero temporal y que un
proceso en segundo plano se dedique a gestionar la impresión enviando los
trabajos a la impresora.
Pág. 22
ADMINISTRACIÓN EN LINUX 23
El fichero /etc/printcap
Es el archivo que contiene toda la información de configuración de la impresora
o impresoras de nuestro sistema.
Este archivo tiene un bloque para cada impresora instalada en nuestra máquina
(que no tiene porque estar instalada físicamente, ya que puede ser una
impresora de la red Linux). Cada bloque, tiene una serie de campos separados
por el carácter :, donde cada campo especifica una característica de la
impresora. En teoría, todos los campos deberían ir en la misma línea, pero se
Pág. 23
ADMINISTRACIÓN EN LINUX 24
pueden usar varias líneas indicándolo con el carácter \. (Para ver el significado
de cada campo consultar man printcap)
lp|canon:\
:sd=/var/spool/lpd/lp:\
:mx=0:\
:sh:\
:lp=/dev/lp1:\
:if=/var/spool/lpd/lp/filter:
LPR
Esta orden se usa para imprimir un fichero. Más concretamente, para enviar trabajos a
la cola de impresión
Sintaxis:
lpr [opciones] [nombre_fichero ... ]
Si no se especifica un nombre de fichero, lpr asume que la entrada será efectuada por
la entrada estándar (normalmente el teclado o la salida de otro programa). Esto
permite que el usuario redirija la salida de un programa al dispositivo de impresión.
Opciones:
Nota: Por defecto, los comandos trabajan con una impresora llamada lp. La
variable de entorno PRINTER puede modificarse para utilizar otra impresora
como predeterminada.
Ejemplos:
$ cat fichero.txt | lpr
Un ejemplo de interacción con lpr podría ser algo como
Pág. 24
ADMINISTRACIÓN EN LINUX 25
LPQ
Permite consultar los trabajos que están actualmente en una cola de impresión
particular.
Sintaxis:
lpq [opciones] [nº trabajo ... ] [usuario ... ]
Opciones:
Ejemplo:
El siguiente ejemplo muestra los trabajos de la impresora Epson propiedad del usuario
asm13:
$ lpq –PEpson asm13
lp is ready and printing
Rank Owner Job Files Total Size
active asm13 31 prueba.txt 682048 bytes
LPRM
Elimina los trabajos de la cola de impresión.
Sintaxis:
lprm [opciones] [nºtrabajo, ...]
Opciones:
Ejemplos:
$ lprm 31
Cancelaría el trabajo 31 (prueba.txt) en la impresora por defecto.
$ lprm -
Pág. 25
ADMINISTRACIÓN EN LINUX 26
Cancelaría todos tus trabajos; si eres root cancelaría todos los trabajos de
todos los usuarios.
LPC
Permite administrar los trabajos de las impresoras deseadas.
Sintaxis:
lpc [opciones] [comando] [impresora]
Comandos:
Nota: Si se desea que los comandos afecten a todas las impresoras del sistema,
se debe utilizar all en el campo [impresora].
LPRng
Es una implementación posterior de LPD con mejoras en diferentes aspectos.
Los comandos que emplea son prácticamente los mismos. No los trataremos
aquí.
Pág. 26
ADMINISTRACIÓN EN LINUX 27
Una de las bases y, a la vez puntos fuertes, de CUPS es el protocolo que usa,
IPP (Internet Printing Protocol). Este protocolo es una extensión del protocolo
HTTP, lo que quiere decir que se puede usar fácilmente en entornos de red de lo
más heterogéneos. Aparte, incluye todas las características que se podrían
desear en un sistema de impresión moderno: listas de acceso, autenticación,
cuotas, servicios de directorio y encriptación.
Pág. 27
ADMINISTRACIÓN EN LINUX 28
Nota: Además del interfaz web pueden usarse, igualmente, otras herramientas
gráficas de administración como: XPP (X Printing Panel), kprinter
(Administrador de impresión de KDE), foomatic-gui (Herramienta de
configuración de impresoras de GNOME), etc., y, como no, comandos en modo
texto como los que se describen en la siguiente sección.
LPADMIN
Configura las impresoras y clases cups.
Sintaxis:
lpadmin [–E] [–h servidor] –d destino
lpadmin [–E] [–h servidor] –p impresora [opcion(es)]
lpadmin [–E] [–h servidor] –x destino
Pág. 28
ADMINISTRACIÓN EN LINUX 29
Nota: Cuando se usa la opción –E antes de las opciones –d, –p o –x, hace que se
use encriptación en la conexión con el servidor.
Opciones:
Ejemplos:
lpadmin -x laserjet4
/* Elimina la impresora laserjet4 */
LPSTAT
Permite ver el estado de una o varias impresoras.
Sintaxis:
lpstat [opciones]
Opciones:
Pág. 29
ADMINISTRACIÓN EN LINUX 30
LPINFO
Muestra información sobre los controladores o dispositivos instalados en el sistema.
Sintaxis:
lpinfo [opciones]
Opciones:
LPOPTIONS
Visualiza o establece las opciones de las impresoras y los valores predeterminados.
Sintaxis:
lpoptions [opciones]
Opciones:
Nota: A pesar de que el sistema que proporciona CUPS sea mejor que el LPD
tradicional, sigue habiendo muchos programas que usan este último, por lo que
CUPS proporciona una serie de librerias para poder usar los comandos BSD de
los sistemas tradicionales como LPD y LPRng: lpr, lpq, lprm, etc. En Debian, el
paquete de compatibilidad se llama cupsys-bsd.
Pág. 30