Comandos y administración básica de Linux: usuarios, paquetes y ficheros

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 16,29 KB

Comandos de configuración básicos

  • hostnamectl: nombre del equipo y más configuraciones.
  • hostname: nombre del equipo. Se guarda en /etc/hostname.
  • hostname -I: dirección IP del equipo.
  • ifconfig: muestra y modifica la configuración de la red.
  • ip: similar a ifconfig, actualizado y más completo.
  • Fichero /etc/hosts: relaciones entre nombres de máquinas y sus direcciones IP, de forma recursiva.

Variables de entorno

Variables más comunes:

  • HOME: ruta de la carpeta personal.
  • USER: nombre de usuario.
  • SHELL: intérprete de comandos que se ejecuta.
  • HOSTNAME: nombre del equipo.
  • TERM: tipo de terminal.
  • LOGNAME: nombre de usuario de ejecución de la shell.
  • PATH: rutas donde se encuentran las órdenes a ejecutar.
  • PWD: directorio de trabajo actual.

Para visualizarlas se escribe echo $NOMBRE_VARIABLE.

Opciones de apt

  • apt install paquete: instala el/los paquete(s).
  • apt update: actualiza la lista de paquetes disponibles en los repositorios.
  • apt upgrade: actualiza los paquetes instalados.
  • apt check: verifica las dependencias.
  • apt show paquete: muestra información de un paquete.
  • apt -f o apt --fix-broken: arregla problemas de dependencias.
  • apt clean: elimina los archivos descargados.
  • apt purge paquete: elimina el paquete y sus archivos de configuración.
  • apt remove paquete: desinstala el paquete.

Opciones de dpkg

  • -i | --install: instala el paquete desde el fichero .deb.
  • -r | --remove: desinstala el paquete.
  • -P | --purge: desinstala el paquete y los archivos de configuración.
  • -s | --status: indica si está instalado o no, y su estado.
  • -l | --list: lista los paquetes e indica si están instalados.
  • -L | --list-files: muestra los archivos que contiene el paquete.
  • -S | --search: muestra los paquetes que contienen un archivo.
  • dpkg-reconfigure: configura un paquete una vez instalado.

Comandos de administración de usuarios y grupos locales

  • adduser: añade un usuario (modo asistido). Asigna un usuario a un grupo.
  • addgroup: añade un grupo (modo asistido).
  • useradd: añade un usuario (modo automático). Permite múltiples opciones.
  • groupadd: añade un grupo (modo automático).
  • deluser: elimina un usuario.
  • delgroup: elimina un grupo.
  • usermod: modifica opciones de un usuario.
  • groupmod: modifica opciones de un grupo.
  • id: muestra los grupos de un usuario con su UID y GID.
  • groups: muestra los nombres de los grupos de un usuario.
  • newgrp: cambia el grupo primario de un usuario temporalmente hasta el nuevo inicio de sesión.

Ficheros de administración de usuarios y grupos locales

  • /etc/passwd: usuarios dados de alta en el equipo.
  • /etc/group: grupos del equipo.
  • /etc/shadow: contraseñas encriptadas y configuraciones de la cuenta de usuario.
  • /etc/login.defs: valores predeterminados para los usuarios nuevos.
  • /etc/skel: contenido de los directorios para los nuevos usuarios que se crean.
  • /etc/adduser.conf: configuraciones por defecto para crear usuarios.
  • /etc/deluser.conf: configuraciones para la eliminación de cuentas de usuarios.

La gestión de cuentas de usuario se lleva a cabo a través de dos ficheros de configuración:

  • /etc/passwd, que contiene una línea por cada usuario creado en el sistema con la información relevante de cada uno.
  • /etc/shadow, que contiene la contraseña de usuarios y parámetros relacionados con la validez de dichas contraseñas.

Formato del fichero passwd

Usuario:x:ID:GID:descripción:directorio_home:Shell

La información es la siguiente:

  • Nombre del usuario: identificador de login con el que el usuario accede al sistema.
  • Campo reservado para la contraseña: en versiones antiguas de Unix se almacenaba aquí la contraseña encriptada. En versiones recientes aparece una x indicando que la contraseña se almacena en el fichero /etc/shadow. Podemos deshabilitar temporalmente el acceso a un usuario escribiendo un carácter * en este campo.
  • ID: identificador numérico del usuario. Debe ser único en el sistema.
  • GID: identificador del grupo al que pertenece el usuario por defecto.

Comandos usuarios

  • useradd: creación de usuarios.
  • passwd: cambio de contraseña.
  • groupadd: creación de grupos.
  • userdel: eliminar usuarios.
  • groupdel: eliminar grupos.
  • chown: cambio de propietarios de un fichero o directorio.
  • chgrp: cambio de grupo de un fichero.
  • umask: cambio de máscara de creación de ficheros.
  • groups: visualizar los grupos de un usuario.
  • chfn: cambio de la descripción de un usuario.
  • chsh: cambiar la shell por defecto.

Opciones comunes de useradd

  • -c descripción del usuario.
  • -d directorio home (no lo crea, debe existir, salvo que se use -m).
  • -e fecha de caducidad de la cuenta.
  • -g grupo por defecto (no lo crea, debe existir).
  • -G otros grupos.
  • -s shell por defecto.
  • -u identificador del usuario (ID, no debe existir previamente).
  • -m crea el directorio home asignado con la opción -d.

Ejemplo: useradd -d /home/alumno2 -m -g usuarios -s /bin/bash alumno2

Información sobre useradd

  • Crea el directorio /home/alumno2 con la opción -m.
  • El grupo usuarios debe existir. Si no se utiliza la opción -g, se le asigna el grupo users (GID:100) como grupo por defecto.
  • La opción -s especifica la shell, por ejemplo /bin/bash.
  • useradd crea un usuario deshabilitado: escribe un carácter exclamación ! en el campo contraseña del fichero /etc/shadow.
  • Se habilita utilizando el comando passwd, que establece una contraseña.
  • También puede habilitarse eliminando el carácter ! del fichero /etc/shadow. Si se deja el campo en blanco, permite entrar al usuario sin contraseña.

passwd

  • Cambia o crea la contraseña de un usuario.
  • El sistema pide la contraseña antigua y la nueva dos veces.
  • El usuario root puede cambiar la contraseña de cualquier usuario especificando su nombre como parámetro.
  • Existen diferentes opciones que permiten limitar la caducidad de una contraseña, deshabilitar la cuenta del usuario, etc.

Ejemplo: passwd alumno2

addgroup / userdel / groupdel

  • addgroup: añade un grupo de usuarios al sistema. El grupo se añade al fichero /etc/group.
  • userdel: borra cuentas de usuario y realiza los cambios necesarios en los ficheros de configuración de usuarios. Si se desea eliminar también el directorio home del usuario puede utilizarse la opción -r: userdel -r alumno2.
  • groupdel: borra un grupo de usuarios del sistema. El grupo se borra del fichero /etc/group.

adduser

  • adduser permite el uso de opciones como:
  • --home indica la ruta absoluta del directorio personal.
  • --ingroup grupo principal del usuario.
  • --uid identificador asignado manualmente al usuario.

Baja de usuarios con deluser

  • deluser: sólo elimina el usuario. El directorio personal, entre otras cosas, no se elimina por defecto.
  • La información a eliminar por defecto se configura en el fichero /etc/deluser.conf.
  • REMOVE_HOME: determina si se elimina el directorio personal. Valor 1 para borrar, 0 para no borrar.
  • REMOVE_ALL_FILES: elimina todos los ficheros del sistema pertenecientes al usuario eliminado.

usermod

usermod modifica los parámetros de usuarios. Opciones comunes:

  • -d cambia el directorio personal.
  • -m junto con -d mueve los ficheros del directorio personal al nuevo, y si no existe el nuevo directorio lo crea.
  • -e cambia la fecha de expiración de la cuenta.
  • -g permite cambiar el grupo principal del usuario.
  • -G cambia la lista de grupos a los que pertenece el usuario.
  • -a junto con -G añade grupos al usuario.
  • -l modifica el login de usuario. El nombre de la carpeta personal también cambia.
  • -L bloquea la cuenta. No podrá iniciar sesión hasta desbloquearla con -U.
  • -s cambia la shell por defecto.

Comandos básicos de ficheros y directorios

  • ls: muestra información sobre ficheros y directorios. Sin parámetros muestra el contenido del directorio actual.
  • pwd: muestra la ruta absoluta del directorio actual.
  • cd [directorio]: cambiar de directorio. cd .. sube a la carpeta padre.
  • mkdir [opciones] directorio/s: crear directorios.
  • touch [opciones] fichero: actualiza la fecha de acceso y modificación de ficheros. Si no existe, lo crea vacío.
  • rmdir [opciones] directorio/s: borrar directorios si están vacíos.
  • cp [opciones] fichero/s destino: copia uno o varios ficheros en otro fichero o en un directorio.
  • rm [opciones] [argumentos]: borra ficheros y directorios.
  • mv [opciones] fichero/s destino: mueve uno o más ficheros a otros ficheros o directorios. Puede usarse para renombrar ficheros.
  • tree: muestra los directorios y ficheros en forma de árbol.

Opciones comunes de ls

  • -d información del directorio, no del contenido.
  • -a muestra los archivos y directorios que comienzan por un punto.
  • -l información en formato largo.
  • -i muestra el número de i-nodo del fichero.
  • -c información ordenada por día y hora de creación.
  • -r muestra la información en orden inverso.
  • -R muestra los directorios por debajo del actual de forma recursiva.

Opciones comunes de cp

  • -a preserva atributos y copia recursivamente (también permite ver nombres que empiezan por un punto).
  • -f fuerza la copia.
  • -i pregunta antes de sobrescribir.
  • -R o -r copia directorios de forma recursiva.

Opciones comunes de rm y mv

  • rm -d borra el directorio aunque no esté vacío.
  • rm -i pregunta antes de borrar cada fichero o directorio.
  • rm -r o rm -R borra directorios y su contenido de forma recursiva.
  • mv -u mueve sólo si el destino no existe o es anterior.
  • mv -i pregunta antes de sobrescribir.
  • mv -f fuerza la sobrescritura.

De uso de archivos de texto

  • cat [fichero/s]: muestra el contenido de los ficheros y concatena.
  • more fichero/s: muestra el contenido de los ficheros de forma paginada (usar barra espaciadora para avanzar).
  • less fichero/s: similar a more, permite usar las flechas de cursor.
  • head [opciones] fichero/s: muestra las primeras líneas (por defecto 10).
  • tail [opciones] fichero/s: muestra las últimas líneas (por defecto 10).
  • wc: salida con número de líneas, número de palabras y número de bytes.
  • grep [opciones] patrón [fichero/s]: muestra las líneas que contienen un cierto patrón.
  • cut [opciones] [fichero/s]: muestra sólo ciertas columnas o campos de las líneas.
  • sort [opciones] [fichero/s]: ordena el contenido de los ficheros.

Opciones útiles

  • head/tail: -n muestra las n primeras/últimas líneas en vez de 10.
  • grep: -r busca recursivamente en directorios, -i case-insensitive, -v muestra las líneas que no contienen el patrón.
  • cut: -c muestra caracteres especificados, -d usa un delimitador, -f muestra campos indicados, -s no muestra líneas sin delimitador.
  • sort: -r orden inverso, -m mezcla ficheros ya ordenados, -u elimina líneas repetidas.

Utilidades sobre archivos y directorios

  • file nombre: muestra el tipo de fichero.
  • stat: información detallada del fichero.
  • find: busca ficheros en el árbol de directorios según criterios.
  • locate: busca ficheros por nombre usando una base de datos propia.
  • which: ruta absoluta de un comando o aplicación.
  • whereis: localiza ficheros ejecutables relacionados con un comando.
  • ln: crea enlaces a ficheros o directorios.
  • du [opciones] [argumento/s]: muestra el espacio que ocupa cada fichero o directorio. -b muestra el tamaño en bytes.
  • df [opciones]: muestra el espacio libre en los dispositivos de almacenamiento y particiones montadas. -a muestra todos, incluso de tamaño 0.

Uso de redirecciones

  • > redirecciona la salida estándar a un fichero de texto (sobrescribe).
  • >> redirecciona la salida estándar, añadiendo la información al final del fichero.
  • 2> redirecciona la salida de errores a un fichero de texto.
  • 2>> redirecciona la salida de errores añadiendo la información al final del fichero.
  • < redirecciona la entrada estándar desde el fichero que se indica.
  • &> redirecciona la salida estándar y la de errores a un fichero de texto (sobrescribe).
  • &>> redirecciona la salida estándar y la de errores añadiendo la información al final del fichero.

Entradas relacionadas: