Comando sudo de Linux

Linux 命令大全Manual completo de comandos de Linux

sudo significa Super User DO, permite a los usuarios autorizados ejecutar comandos como otro usuario (normalmente el usuario root), es decir, los comandos ejecutados mediante sudo parecen ser ejecutados directamente por root.

Permisos de uso: usuarios que aparecen en /etc/sudoers.

Sintaxis

sudo [选项] 命令

Por ejemplo:

sudo apt update          # 以 root 权限更新软件包列表
sudo vim /etc/hosts     # 编辑需要 root 权限的文件

Descripción de parámetros:

  • -i: Simular un inicio de sesión inicial, cargando el entorno del usuario objetivo.
  • -s: Ejecutar shell
  • -uuser: Ejecutar como el usuario especificado
  • -l: Listar los comandos sudo que el usuario actual puede ejecutar
  • -v: Verificar las credenciales del usuario (extender la sesión sudo)
  • -k: Revocar la caché de credenciales sudo

Ejemplos

Ejecutar un solo comando con permisos de root:

sudo apt update
sudo systemctl restart nginx
sudo mkdir /opt/myapp

Cambiar al shell del usuario root:

sudo -i    # 登录shell,加载root环境变量
sudo -s    # 非登录shell
sudo su -  # 另一种方式

Ejecutar un comando como otro usuario:

sudo -u username command
sudo -u postgres psql  # 以 postgres 用户运行 psql

Verificar los permisos disponibles:

sudo -l

Editar archivos del sistema:

sudo nano /etc/hosts
sudo vim /etc/nginx/nginx.conf

Archivo de configuración

La configuración de sudo se almacena en el archivo /etc/sudoers, y debe editarse con el comando visudo:

sudo visudo

Ejemplos de configuración comunes:

# 允许用户免密码执行所有命令
username ALL=(ALL) NOPASSWD: ALL

# 允许用户组执行特定命令
%wheel ALL=(ALL) /bin/systemctl, /usr/bin/apt

Preguntas frecuentes

El usuario no está en el archivo sudoers:

# 需要 root 用户将目标用户加入 sudo 组:
usermod -aG sudo username  # Ubuntu/Debian
usermod -aG wheel username # CentOS/RHEL

Ajuste del tiempo de caché:

Modificar timestamp_timeout en /etc/sudoers (en minutos):

Defaults timestamp_timeout=30

Diferencia entre su y sudo

Característica su sudo
Contraseña requerida Contraseña del usuario objetivo Contraseña del usuario actual
Duración de la sesión Hasta exit manual Comando individual o caché de corta duración
Complejidad de configuración Simple Requiere configurar sudoers
Seguridad Requiere conocer la contraseña de root Control de permisos más granular
Auditoría Limitada Registros más detallados

El comando su es simple y directo, pero en la administración de sistemas moderna, sudo suele ser la opción más recomendada porque ofrece mejor seguridad y capacidad de auditoría.

Linux 命令大全Manual completo de comandos de Linux

Otras extensiones