Español

Herramientas de desarrollo · Calculadora Chmod

Lo que chmod no puede expresar: capacidades, archivos inmutables y MAC

· Antecedentes

chmod unix control de acceso

límites más allá de los bits de modo mostrados como un diagrama distinto de bits de permiso de Unix
Ilustración de vector original de ToolAcre

Los bits de modo son una de varias capas que deciden si una operación tiene éxito. Esta publicación presenta los demás (capacidades de archivos, indicadores de chattr, SELinux y AppArmor) y cómo reconocer la negación de cada uno.

Root no puede escribir un archivo 644: el modo dice que sí, chmod no cambia nada y el error persiste

Un modo puede permitir una operación mientras la operación aún falla. La calculadora decodifica 644 como rw-r--r--, lo que significa que el propietario puede leer y modificar un archivo normal mientras que el grupo y otros pueden leerlo. Esto liquida sólo las partes tradicionales suministradas. No prueba ni la propiedad del proceso, ni la identidad de la ruta, ni la ausencia de otra capa de cumplimiento.

Las fuentes nombran varios controles no modelados: capacidades, atributos inmutables, política de acceso obligatorio, indicadores de montaje, espacios de nombres, filtros de llamada al sistema, ACL y propiedad. Volver a ingresar a un modo o generar otro comando chmod no revela nada sobre ellos. Primero verifique la concordancia octal, simbólica y matricial; Si el fallo persiste, recopile evidencia del entorno en lugar de ampliar las conjeturas sobre chmod.

Una operación compatible con el modo aún puede fallar en capas que esta herramienta no puede ver

La calculadora no modela ningún orden entre los controles externos. Su modelo de datos completo es un número entero desde octal 0000 hasta 7777, expandido a propietario, grupo, otro, setuid, setgid y booleanos fijos. Las explicaciones utilizan ese valor y tipo de destino. No se incluye en el cálculo ninguna ruta de decisión del kernel, secuencia del módulo de seguridad o resultado de la llamada al sistema.

Esa limitación hace que la página sea un primer paso controlado. Confirme el modo, distinga el recorrido de la ejecución y observe las letras de bits especiales. El artículo 501 agrega propiedad y ejecución del directorio principal como comprobaciones cercanas. Más allá de eso, estas fuentes no proporcionan ninguna clasificación de diagnóstico entre ACL, políticas obligatorias, montajes, atributos, espacios de nombres, capacidades o filtros. Un modo compatible sólo reduce la cuestión.

La calculadora no modela el orden entre capas de cumplimiento externas

Las capacidades del archivo quedan fuera de la evidencia disponible. La implementación no contiene nombres de capacidades, analizador de datos, comando de inspección ni cuenta de su interacción con setuid. Puede codificar setuid como 4000 y explicar un archivo normal ejecutable. Esto no debería convertirse en una comparación con sistemas de privilegios más detallados que este repositorio no modela ni documenta.

Lo que la página demuestra es concreto. El modo 4755 se convierte en rwsr-xr-x, sus nombres de resumen setuid y las asignaciones agregan u+s. El modo 4644 usa S mayúscula porque la ejecución del propietario está ausente, lo que expone una combinación llamada casi siempre errónea. Las pruebas establecen esos hechos modales; Las herramientas externas deben determinar si existen capacidades, permiten el acceso u ofrecen un mejor diseño.

Las capacidades del archivo están fuera del conjunto de fuentes

Los atributos inmutables y de solo agregar también están ausentes en el modelo. La calculadora no lee los atributos del sistema de archivos ni reconoce comandos para cambiarlos. Su matriz contiene rwx para propietario, grupo y otros, además de tres bits especiales. Por lo tanto, un bit de escritura visible no puede garantizar una escritura exitosa y alternarlo repetidamente no puede diagnosticar un atributo que la página nunca observó.

Mantener operativa la distinción. Si 644 se representa correctamente, la escritura del propietario existe en el modo tradicional; eso es evidencia de representación, no un escrito completo. La página no abre la ruta de visualización citada de forma segura ni ejecuta el comando generado. Cuando suficientes bits acompañan a una falla real, inspeccione el objeto y el sistema reales en lugar de atribuir un estado no observado.

Los atributos inmutables y de solo agregar están fuera del conjunto de fuentes

Los contextos, perfiles y registros de control de acceso obligatorios no se analizan aquí. Las fuentes mencionan SELinux y AppArmor sólo como ejemplos de decisiones que la calculadora no puede observar. No proporcionan sintaxis de contexto, semántica de políticas, formato de registro ni comando de diagnóstico. Por lo tanto, el modo por sí solo no puede atribuir una negación a ninguno de los dos sistemas; la evidencia debe provenir del entorno de aplicación de la ley.

El selector de archivo o directorio refuerza este límite. Cambia verbos como ejecutar, enumerar, crear, eliminar, ingresar y alcanzar, pero no altera el número entero ni lee una etiqueta de política. Un programa y un directorio 755 comparten rwxr-xr-x mientras describen diferentes acciones ordinarias. Ninguna explicación predice resultados de políticas obligatorias, por lo tanto, mantenga el modo verificado y consulte los registros de la plataforma.

Los contextos y registros de control de acceso obligatorios están fuera del conjunto de fuentes

Un modo proporcionado no puede revelar opciones de montaje. La calculadora acepta texto octal o simbólico y una ruta opcional utilizada sólo para mostrar comandos. Nunca abre esa ruta, identifica su montaje ni lee la configuración. Las fuentes enumeran el comportamiento de solo lectura, no ejecución y no setuid como preocupaciones externas, pero no brindan detalles de la plataforma para diagnosticar esas políticas.

El texto generado puede incluir un modo octal, una ruta entre comillas y un indicador -R mostrado, pero ninguno demuestra que un sistema de archivos cumplirá con la solicitud. Incluso un valor de bit especial que funciona perfectamente puede resultar ineficaz bajo reglas invisibles. Trate el comando como un artefacto de revisión, luego verifique el sistema de archivos de destino antes de reclamar cambios en los permisos o que la ejecución sea posible.

Las opciones de montaje no se descubren desde un modo suministrado

Los espacios de nombres y los filtros de llamadas al sistema no aparecen en ninguna parte del modelo de modo. Las entradas no contienen identidad de proceso, contexto de contenedor, lista de llamadas al sistema ni configuración de tiempo de ejecución. La página no puede saber si un proceso ve la misma ruta, llega al objeto esperado o tiene una llamada filtrada. Esas preguntas difieren fundamentalmente de agregar 4, 2 y 1 dentro de los triples de permisos.

No infiera mecanismos de tiempo de ejecución a partir de una conversión exitosa. La validación cubre dígitos octales mal formados, longitud simbólica y letras fuera de lugar. Un resultado válido significa únicamente que el texto se asigna a un modo representable; no valida un entorno de ejecución. Debido a que el texto de shell generado es inerte, el análisis de filtros y espacios de nombres aún requiere evidencia de tiempo de ejecución que no se encuentra en estas fuentes.

Los espacios de nombres y los filtros de llamadas al sistema no están representados

Comience con el modo porque es compacto y fácil de descartar. Traduzca el valor, inspeccione cada clase, distinga el archivo del directorio y exponga cualquier prefijo de bits especial. La concordancia entre octal, simbólico, matricial, resumen y explicación hace que la pregunta tradicional esté bien formada. Puede revelar una parte faltante o excesiva, no una autoridad exclusiva.

Continúe solo con evidencia del sistema real. Aquí no se descubren la propiedad, las ACL, los atributos, la política obligatoria, los montajes, las capacidades, los espacios de nombres, los filtros y las reglas de la aplicación. La vista previa no lee ni cambia un archivo. La conclusión disciplinada es estrecha: resolver la aritmética del modo suministrado localmente, luego investigar la aplicación externa en lugar de recorrer valores chmod más amplios sin conocer la negación.