Comando sudo de 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.
Otras extensiones