Referencia Rápida de Comandos Linux para Servidores y Usuarios

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 12,76 KB

Gestión de Red

Configuración de Red e Interfaces

Identificar interfaces de red y direcciones IP: ip addr show (o simplemente ip addr)

Reiniciar servicio de red (método SysVinit/obsoleto): sudo /etc/init.d/networking restart o sudo service networking restart

Nota: En sistemas modernos con systemd, usarías sudo systemctl restart networking.service o el nombre específico del servicio de red (ej. NetworkManager.service).

Configuración de Proxy

Configurar proxy a nivel de sistema (variables de entorno): Edita el archivo /etc/environment. Ejemplo de líneas a añadir:

http_proxy="http://proxy.example.com:8080/"
https_proxy="http://proxy.example.com:8080/"
ftp_proxy="http://proxy.example.com:8080/"
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"

Para editar: sudo nano /etc/environment

Configurar proxy para APT: Edita o crea el archivo /etc/apt/apt.conf o un archivo en /etc/apt/apt.conf.d/ (ej. 01proxy). Ejemplo de línea a añadir:

Acquire::http::Proxy "http://proxy.example.com:8080/";

Para editar: sudo nano /etc/apt/apt.conf

Gestión de Paquetes (APT)

Editar lista de repositorios de software: sudo nano /etc/apt/sources.list

Actualizar lista de paquetes disponibles desde los repositorios: sudo apt-get update (o sudo apt update)

Actualizar paquetes instalados a sus versiones más recientes: sudo apt-get upgrade (o sudo apt upgrade)

Instalar un paquete (ej. servidor OpenSSH): sudo apt-get install openssh-server (o sudo apt install openssh-server)

Instalar paquete de actualizaciones automáticas: sudo apt-get install unattended-upgrades

Configurar frecuencia y comportamiento de actualizaciones automáticas:

  • Editar el archivo principal de configuración: sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
  • Editar el archivo de periodicidad: sudo nano /etc/apt/apt.conf.d/10periodic (o 20auto-upgrades en versiones más nuevas)

Verificar si un paquete está instalado y su versión (ej. nombre_paquete): dpkg -l | grep nombre_paquete o de forma más específica dpkg -s nombre_paquete

Gestión de Usuarios

Creación y Eliminación de Usuarios

Crear un nuevo usuario (interactivo, recomendado): sudo adduser <nombre_usuario>

Crear un nuevo usuario (no interactivo, bajo nivel): sudo useradd <nombre_usuario> (requiere configuración manual adicional como contraseña, home, etc.)

Eliminar un usuario (conservando su directorio personal): sudo deluser <nombre_usuario>

Eliminar un usuario (sin su directorio personal, bajo nivel): sudo userdel <nombre_usuario>

Eliminar usuario y su directorio personal y archivos asociados: sudo deluser --remove-home <nombre_usuario>

Eliminar usuario, su directorio personal y todos los archivos que le pertenezcan en el sistema (¡usar con extrema precaución!): sudo deluser --remove-all-files <nombre_usuario> o sudo userdel -r <nombre_usuario> (-r elimina el home y la cola de correo)

Eliminar directorio personal de un usuario manualmente (¡con precaución!, no elimina la cuenta de usuario): sudo rm -rf /home/<nombre_usuario>

Listar todos los usuarios del sistema: cat /etc/passwd (o getent passwd)

Modificación de Atributos de Usuario

Cambiar nombre de login de un usuario: sudo usermod -l <nuevo_login> <login_actual>

Cambiar shell de un usuario (ej. a bash): sudo usermod -s /bin/bash <nombre_usuario>

Cambiar nombre de login y shell de un usuario simultáneamente: sudo usermod -l <nuevo_login> -s /bin/sh <login_actual>

Cambiar directorio personal (actualizar ruta en /etc/passwd, sin mover archivos): sudo usermod -d /home/<nuevo_directorio> <nombre_usuario>

Mover contenido del directorio personal a una nueva ubicación y actualizar ruta: sudo usermod -m -d /home/<nuevo_directorio_con_contenido_movido> <nombre_usuario>

Bloqueo y Desbloqueo de Cuentas

Bloquear (deshabilitar) cuenta de usuario (impide login con contraseña): sudo usermod -L <nombre_usuario> o sudo passwd -l <nombre_usuario>

Desbloquear (habilitar) cuenta de usuario: sudo usermod -U <nombre_usuario> o sudo passwd -u <nombre_usuario>

Políticas de Contraseña y Caducidad de Cuenta (usermod)

Establecer fecha de expiración de la cuenta (formato YYYY-MM-DD): sudo usermod -e YYYY-MM-DD <nombre_usuario>

Establecer días de inactividad tras expiración de contraseña antes de deshabilitar la cuenta (0 para desactivar): sudo usermod -f <días_inactividad> <nombre_usuario>

Políticas de Contraseña y Caducidad de Cuenta (chage)

Mostrar información de caducidad de contraseña de usuario: sudo chage -l <nombre_usuario>

Establecer máximo de días de validez de la contraseña: sudo chage -M <días> <nombre_usuario>

Establecer mínimo de días entre cambios de contraseña: sudo chage -m <días> <nombre_usuario>

Establecer días de aviso antes de caducidad de contraseña: sudo chage -W <días> <nombre_usuario>

Establecer fecha de expiración de la cuenta (formato YYYY-MM-DD): sudo chage -E YYYY-MM-DD <nombre_usuario>

Políticas de Contraseña (passwd)

Establecer máximo de días de validez de la contraseña: sudo passwd -x <días> <nombre_usuario>

Establecer días de aviso antes de caducidad de contraseña: sudo passwd -w <días> <nombre_usuario>

Establecer período de inactividad (días tras aviso) antes de bloquear cuenta si no se cambia contraseña: sudo passwd -i <días_inactividad_post_aviso> <nombre_usuario>

Gestión de Grupos

Añadir usuario a un grupo existente (principal o suplementario, interactivo): sudo adduser <nombre_usuario> <nombre_grupo>

Añadir usuario a un grupo suplementario existente (sin afectar otros grupos): sudo usermod -aG <nombre_grupo> <nombre_usuario>

Eliminar usuario de un grupo: sudo deluser <nombre_usuario> <nombre_grupo> (o sudo gpasswd -d <nombre_usuario> <nombre_grupo>)

Modificar GID (ID de Grupo) de un grupo: sudo groupmod -g <nuevo_GID> <nombre_grupo>

Modificar nombre de un grupo: sudo groupmod -n <nuevo_nombre_grupo> <nombre_grupo_actual>

Servicios de Red y Sistema

Servidor Samba

Instalación y Configuración Básica

Instalar Samba y cliente SMB: sudo apt-get install samba smbclient

Instalar utilidades CIFS (para montar recursos compartidos Samba/Windows): sudo apt-get install cifs-utils

Reiniciar servicios Samba (smbd y nmbd):

  • Con systemd: sudo systemctl restart smbd.service nmbd.service
  • Con SysVinit: sudo service smbd restart y sudo service nmbd restart (o sudo /etc/init.d/smbd restart y sudo /etc/init.d/nmbd restart)

Editar archivo de configuración de Samba: sudo nano /etc/samba/smb.conf

Visualizar el contenido del archivo de configuración de Samba: cat /etc/samba/smb.conf

Encontrar a qué paquete pertenece un archivo de configuración (ej. smb.conf): dpkg -S /etc/samba/smb.conf

Verificar la sintaxis del archivo de configuración de Samba (smb.conf): sudo testparm

Hacer copia de seguridad del archivo de configuración de Samba: sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup

Eliminar archivo de configuración de Samba (¡con precaución!, generalmente se hace antes de reprovisionar): sudo rm /etc/samba/smb.conf

Verificar contenido del directorio de configuración de Samba: ls -l /etc/samba

Gestión de Usuarios en Samba

Añadir un usuario existente del sistema a la base de datos de Samba (y establecer contraseña SMB): sudo smbpasswd -a <nombre_usuario>

Listar usuarios en la base de datos de Samba (SAM): sudo pdbedit -L -v (-v para más detalle)

Controlador de Dominio Samba AD

Provisionar un nuevo controlador de dominio Samba Active Directory (ejecutar interactivamente): sudo samba-tool domain provision

Nota: Antes de provisionar, asegúrate de que el sistema tiene una IP estática, el hostname está correctamente configurado, y no hay otro servicio DNS/Kerberos conflictivo. Es recomendable borrar o renombrar smb.conf si existe.

Durante el provisionamiento, se solicitarán datos como:

  • Realm (Nombre de dominio DNS, ej. MIDOMINIO.EJEMPLO.COM): Se ingresa con puntos, usualmente en mayúsculas.
  • Domain (Nombre NetBIOS, ej. MIDOMINIO): Se ingresa sin puntos, usualmente en mayúsculas.
  • Server Role (Rol del servidor): Generalmente dc para un controlador de dominio.
  • DNS backend: Opciones como SAMBA_INTERNAL o BIND9_DLZ.
  • DNS forwarder IP address: Opcional.
  • Administrator password: Contraseña para el usuario Administrator del dominio.

Servidor DNS (BIND9)

Instalar servidor DNS BIND9 y utilidades DNS: sudo apt-get install bind9 bind9utils dnsutils (manpages o manpages-dev son paquetes de documentación opcionales)

Servidor de Impresión (CUPS)

Instalar servidor de impresión CUPS: sudo apt-get install cups

Cliente SSH (PuTTY Tools)

Instalar herramientas de PuTTY en Linux (incluye puttygen, plink, pscp, etc.): sudo apt-get install putty-tools

Nota: El cliente gráfico PuTTY es más común en Windows. Para conexiones SSH desde Linux, se usa el comando ssh nativo.

Comandos Generales del Sistema

Cambiar al usuario root (requiere contraseña de root, si está habilitada): su o su - (- para un entorno de login completo)

Ejecutar un comando como root (requiere contraseña del usuario actual si está en el grupo sudoers): sudo <comando>

Obtener un shell de root con el entorno de root (usando sudo): sudo -i o sudo su -

Verificar puertos TCP/UDP abiertos en escucha y procesos asociados:

  • Con netstat (obsoleto pero puede estar presente): sudo netstat -tulnp
  • Con ss (más moderno): sudo ss -tulnp

Entradas relacionadas: