¿Qué tan universal es sudo?

Pregunta:

Estaba escribiendo algunas instrucciones sobre cómo instalar algo (relacionado con TeX; si no lo preguntas, no arruinaré tu día proporcionando más detalles) y usé sudo para instalar en todo el sistema. Alguien comentó que no creían que sudo estuviera disponible en todas las distribuciones de Linux (o Unix).

¿Hay distribuciones de Unix que no tienen sudo y, de ser así, cuáles son? ¿Existe un comando "Obtener privilegios de superusuario" reconocido universalmente que esté en todos los sistemas?

Respuesta:

sudo no puede considerarse universal:

  • Red Hat Enterprise Linux : sudo se instala de forma predeterminada en Red Hat Enterprise Linux y sus derivados, 1 pero solo se instala listo para usar en RHEL 7 y versiones posteriores.

    Red Hat Enterprise Linux 7 agregó una nueva opción a la pantalla de instalación donde crea el primer usuario no root , una casilla de verificación etiquetada "Hacer que este usuario sea administrador". Su propósito no está documentado en esa página de la guía de instalación, pero uno de sus efectos es permitir que ese usuario ejecute cualquier comando a través de sudo . Lo hace agregando ese usuario al grupo de la wheel , que puede ejecutar cualquier comando en la configuración del paquete sudo estándar.

    Red Hat Enterprise Linux 3 a 6 también instaló sudo de forma predeterminada, 2 pero hasta RHEL 7, se envió configurado de manera que solo el root pudiera ejecutar comandos a través de él. La forma más fácil de solucionar esto es agregar uno o más usuarios al grupo de la wheel , luego ejecutar visudo como root y descomentar la línea %wheel ALL=(ALL)...

  • Debian : a partir de Debian 9, una instalación mínima incluye sudo .

    En Debian 7 y 8, tenía que seleccionar el conjunto de paquetes " Utilidades del sistema estándar " durante la instalación para obtener sudo . Si instala sudo esa manera, el instalador del sistema operativo agregará automáticamente el usuario no administrativo que creó anteriormente en el proceso de instalación al grupo sudo , que tiene permiso para ejecutar todos los comandos.

    En Debian 6 y versiones anteriores, tenía que instalar sudo través de apt-get después de la instalación y configurarlo manualmente para otorgar a los usuarios no root la capacidad de usarlo.

  • FreeBSD : sudo no está instalado por defecto en FreeBSD. Tienes que construirlo desde Ports.

  • NetBSD : Igual que FreeBSD.

  • OpenBSD : sudo solía instalarse de forma predeterminada en OpenBSD, pero ha cambiado a doas partir de 5.8, lanzado en octubre de 2015 . doas barcos desactivados por defecto.

    Para obtener sudo en las versiones actuales, debe instalarlo desde el repositorio de paquetes. El paquete sudo de OpenBSD está configurado como en RHEL 3 a 6, de modo que solo el root puede ejecutar comandos a través de él, lo que anula el propósito de sudo . Si agregó un usuario no root durante la instalación, se agregó al grupo wheel , por lo que la forma más sencilla de hacer que sudo útil en un sistema OpenBSD es descomentar la línea %wheel ALL=(ALL)... través de visudo .

  • Solaris : sudo se instala de forma predeterminada en Solaris 11, pero Solaris 10 y pfexec anteriores usan el pfexec similar pero no exactamente igual.

    Puede obtener sudo para sistemas más antiguos, pero los valores predeterminados son importantes. Solaris 10 y mayores estarán con nosotros durante años, por lo que si tiene Solaris en su entorno y no tiene el control personal de esos sistemas y, por lo tanto, puede asegurarse de que sudo esté ahí, no puede contar con él.

Cuanto más antiguo sea el sistema, mayor será la probabilidad de que no tenga sudo . Aunque sudo es muy antiguo , no comenzó a hacerse popular hasta mediados de la década de 2000. Es muy poco probable que los sistemas más antiguos tengan sudo . Las cajas Unix tienden a vivir mucho tiempo, por lo que no es inconcebible que todavía se encuentre con un sistema de este tipo en la actualidad.

Solo cuento con sudo en los sistemas que administro personalmente, o en sistemas como Ubuntu, macOS o openSuSE, donde es la única forma de obtener privilegios de root, de forma predeterminada.

su está más cerca de un comando universal "consígame privilegios de superusuario" que sudo , pero luego tiene sistemas como Ubuntu y macOS donde la cuenta raíz está bloqueada de forma predeterminada específicamente para obligarlo a usar sudo lugar de su . Entonces, tampoco puedes llamar a su universal.


Notas a pie de página :

  1. CentOS, Oracle Linux, Scientific Linux …

  2. Sí, incluso en instalaciones mínimas.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım