Por un lado, hay cosas que ningún usuario puede hacer, como
- directorios de enlace rígido (debido a limitaciones del sistema de archivos)
- escribir en un CD-ROM ya grabado (porque la física)
Pero esos no son privilegios, porque no se pueden otorgar, simplemente no son posibles para nadie.
Luego, existen restricciones para todo el sistema o partes del mismo que se pueden activar o desactivar.
Por ejemplo, en OS X hay una opción para permitir que el código solo se ejecute si Apple lo ha firmado.
Tampoco considero esto un privilegio real, porque ningún usuario puede tenerlo si el superusuario no puede. Solo puede deshabilitarlo globalmente.
Editar:
su idea de un archivo sin el bit ejecutable también entraría en esta categoría, ya que literalmente nadie puede hacerlo y nadie puede obtener ese permiso.
E incluso cuando se le da permiso a otro usuario o grupo para ejecutar ese archivo, pero no se encuentra la raíz o la raíz de un grupo de usuarios, la raíz aún podrá ejecutar ese archivo (probado en OS X 10.10, 10.11 y el servidor Ubuntu 15.04).
Aparte de esos casos, apenas hay nada que la raíz no pueda hacer.
Sin embargo, hay una cosa llamada modo kernel (en oposición al modo de usuario).
Hasta donde sé, en un sistema cuerdo, solo el núcleo, las extensiones y los controladores del núcleo se ejecutan en modo kernel, y todo lo demás (incluido el shell desde el que inicia sesión como root) se ejecuta en modo de usuario.
Por lo tanto, podría argumentar que "ser root no es suficiente". Sin embargo, en la mayoría de los sistemas, el usuario root puede cargar módulos de kernel, que a su vez se ejecutarán en modo kernel, lo que le dará a la raíz una forma de ejecutar código en modo kernel.
Sin embargo, hay sistemas (como iOS) en los que esto no es (arbitrariamente) posible, al menos no sin explotar todos los niveles de seguridad. Esto se debe principalmente a una mayor seguridad, como la aplicación de la firma de código.
Por ejemplo, hay claves de cifrado AES integradas en los procesadores de iDevices, a las que solo se puede acceder desde el modo kernel. Los módulos del núcleo podrían acceder a ellos, pero el código en esos módulos del núcleo también tendría que estar firmado por Apple para que el núcleo los acepte.
En OS X, desde la versión 10.11 (El Capitan) también existe el llamado "modo sin raíz" (aunque el nombre es engañoso porque la raíz aún existe), que efectivamente prohíbe la raíz de ciertas cosas que los instaladores pueden hacer.
Citando esta excelente respuesta en AskDifferent :
Esto es lo que restringe, incluso desde la raíz:
- No puede modificar nada en / System, / bin, / sbin o / usr (excepto / usr / local); o cualquiera de las aplicaciones y utilidades integradas. Solo el instalador y la actualización de software pueden modificar estas áreas, e incluso solo lo hacen al instalar paquetes firmados por Apple.
root
ningún derecho y, por lo tanto, no se puede quitar ningún derechoroot
.