Superusuario


En informática, el superusuario es una cuenta de usuario especial que se utiliza para la administración del sistema. Dependiendo del sistema operativo (SO), el nombre real de esta cuenta puede ser root , administrador , admin o supervisor . En algunos casos, el nombre real de la cuenta no es el factor determinante; en sistemas similares a Unix, por ejemplo, el usuario con un identificador de usuario (UID) de cero es el superusuario, independientemente del nombre de esa cuenta; [1] y en los sistemas que implementan un modelo de seguridad basado en roles, cualquier usuario con el rol de superusuario (o sus sinónimos) puede realizar todas las acciones de la cuenta de superusuario. El principio de privilegio mínimorecomienda que la mayoría de los usuarios y aplicaciones se ejecuten con una cuenta normal para realizar su trabajo, ya que una cuenta de superusuario es capaz de realizar cambios sin restricciones y potencialmente adversos en todo el sistema.

En sistemas operativos similares a Unix (como Linux ), root es el nombre convencional del usuario que tiene todos los derechos o permisos (para todos los archivos y programas) en todos los modos (monousuario o multiusuario). Los nombres alternativos incluyen baron en BeOS y avatar en algunas variantes de Unix. [2] BSD a menudo proporciona una cuenta toor ("raíz" escrita al revés) además de una cuenta raíz. [3] Independientemente del nombre, el superusuario siempre tiene un ID de usuario de 0. El usuario root puede hacer muchas cosas que un usuario normal no puede hacer, como cambiar la propiedad de los archivos y vincularse a los puertos de red. numerados por debajo de 1024.

El nombre root puede haberse originado porque root es la única cuenta de usuario con permiso para modificar el directorio raíz de un sistema Unix. Este directorio se consideró originalmente como el directorio de inicio de root , [4] pero el Estándar de jerarquía del sistema de archivos de UNIX ahora recomienda que el inicio de root esté en / root . [5] El primer proceso arrancado en un sistema similar a Unix , generalmente llamado init, se ejecuta con privilegios de root. Genera todos los demás procesos directa o indirectamente, que heredan los privilegios de sus padres. Solo un proceso que se ejecuta como root puede cambiar su ID de usuario por la de otro usuario; una vez hecho esto, no hay vuelta atrás. Hacerlo a veces se denomina eliminación de privilegios de root y, a menudo, se realiza como una medida de seguridad para limitar el daño de una posible contaminación del proceso. Otro caso es el inicio de sesión y otros programas que solicitan credenciales a los usuarios y, en caso de autenticación exitosa, les permiten ejecutar programas con los privilegios de sus cuentas.

A menudo se recomienda que root nunca se use como una cuenta de usuario normal, [6] [7] ya que simples errores tipográficos al ingresar comandos pueden causar daños importantes al sistema. En su lugar, se debe usar una cuenta de usuario normal, y luego se usa el comando su (usuario sustituto) o sudo (usuario sustituto do). El enfoque su requiere que el usuario conozca la contraseña de root, mientras que el método sudo requiere que el usuario esté configurado con el poder de ejecutar "como root" dentro del archivo / etc / sudoers , típicamente indirectamente al hacerse miembro de la rueda. , [8] adm , [9] admin ogrupo sudo .

Por varias razones, ahora se prefiere generalmente el enfoque sudo ; por ejemplo, deja un rastro de auditoría de quién ha utilizado el comando y qué operaciones administrativas han realizado. [10]

Algunos sistemas operativos, como macOS y algunas distribuciones de Linux (sobre todo Ubuntu [6] ), otorgan automáticamente al usuario inicial creado la capacidad de ejecutarse como root a través de sudo , pero configúrelo para pedirles su contraseña antes de realizar acciones administrativas. En algunos casos, la cuenta raíz real está deshabilitada de forma predeterminada, por lo que no se puede usar directamente. [6] En los sistemas operativos orientados a plataformas móviles, como Apple iOS y Android , el acceso de superusuario es inaccesible por diseño, pero en general, el sistema de seguridad puede explotarse para obtenerlo. En algunos sistemas, como Plan 9, no hay ningún superusuario. [11]