Herramientas de desarrollo · Calculadora Chmod
ACL POSIX frente a bits del modo chmod: cuando rwx no es suficiente
· Antecedentes
chmod unix control de acceso
Los bits de modo cubren un propietario, un grupo y todos los demás. Esta publicación explica el modelo ACL POSIX.1e que llena el vacío, cómo interactúa con chmod y cuándo un grupo compartido sigue siendo la respuesta más simple.
Un lector más de lo que permite el modelo: un archivo pertenece al grupo de aplicaciones y un auditor fuera del grupo necesita leerlo
El modelo de modo ordinario no tiene un cuarto espacio de identidad. Puede describir permisos para un propietario, un grupo y todos los demás, pero no puede nombrar un auditor adicional. La calculadora refleja ese límite exactamente: su matriz, visualización simbólica y resúmenes exponen esas tres clases más bits especiales, no entradas de acceso por usuario o por grupo.
Ampliar la otra clase simplemente para dar cabida a un lector adicional afectaría a todas las identidades que pertenecen a esa clase. La calculadora puede mostrar ese cambio aritmético, como pasar de 0640 a 0644, pero no puede decidir si un acceso más amplio es aceptable. El acceso con nombre requiere evidencia y herramientas fuera de esta ruta.
El límite de tres clases: por qué el modelo tradicional tiene exactamente un espacio para propietario, grupo y otros
Cada dígito octal final pertenece a una clase fija. El propietario, el grupo y otros reciben indicadores de lectura, escritura y ejecución, lo que produce nueve posiciones ordinarias. El modelo no puede insertar otro triplete para una persona nombrada. Por lo tanto, una conversión exitosa describe fielmente el modo base sin decir nada sobre las entradas adicionales adjuntas en otros lugares.
Esta limitación es importante al leer resultados aparentemente restrictivos. Un valor simbólico de rw-r----- le indica el propietario base, el grupo y otros bits representados por 0640. No prueba que ninguna otra identidad pueda leer el objeto, porque la calculadora no inspecciona los datos de ACL ni observa ninguna capa de aplicación externa.
ACL POSIX.1e: entradas de usuario con nombre y grupo con nombre agregadas al mismo archivo, configuradas con setfacl y leídas con getfacl
Las entradas de usuario designado y de grupo designado no están implementadas. La fuente no contiene ningún analizador ni formateador para registros ACL, ni máscara ACL, ni operación setfacl o getfacl. Esos conceptos pueden motivar el uso de un mecanismo de control de acceso externo, pero este artículo no puede especificar la sintaxis o el comportamiento del comando más allá de reconocer los límites explícitos de la calculadora.
Mantenga el modo base visible mientras realiza ese trabajo por separado. Ingrese el valor octal informado, verifique el propietario, el grupo y otros triples, y registre cualquier bit especial. Luego utilice documentación autorizada del sistema de archivos y herramientas externas adecuadas para las entradas con nombre. La vista previa de chmod generada por la calculadora no crea, inspecciona ni conserva una ACL.
Las entradas de ACL con nombre requieren herramientas externas que no se implementan aquí
La relación entre un cambio de chmod, bits de clase de grupo y una máscara ACL depende de un comportamiento que no se implementa aquí. La calculadora simplemente convierte un modo de doce bits y emite una asignación o argumento octal. No tiene un estado de ACL contra el cual calcular los derechos efectivos, por lo que no puede pronosticar si una entrada nombrada tendría un límite.
Evite describir una consecuencia de ACL únicamente a partir de la salida del modo. Un cambio de 0640 a 0600 elimina de manera demostrable los tres bits de clase de grupo en este modelo; Todo lo relacionado con usuarios con nombre, grupos con nombre o máscaras requiere la ACL y las reglas de plataforma reales. Verifique aquellos con documentación del sistema de archivos antes de aplicar el comando mostrado a un objeto con ACL.
La interacción de la máscara ACL con chmod necesita documentación del sistema de archivos
La herencia de ACL predeterminada también está más allá de la ruta. La página no tiene entrada de ACL de directorio, ni operación de creación ni campo de máscara de usuario. Cambiar el selector de destino de archivo a directorio cambia los verbos en inglés simple adjuntos a un modo fijo; no crea un archivo, no hereda el modelo ni calcula los permisos de un objeto futuro.
Por la misma razón, un modo de directorio actual no puede predecir el modo de cada nuevo niño aquí. La calculadora puede explicar que la lectura, escritura y ejecución del directorio corresponden a enumerar, modificar entradas y acceder a contenidos nombrados. No puede combinar esos bits base con entradas predeterminadas, solicitudes de creación o máscaras de proceso que nunca recibe.
La herencia de ACL predeterminada y la interacción de umask están fuera de esta ruta
Considere un modo base proporcionado de 0640 para un archivo que puede necesitar un lector adicional. La calculadora muestra rw-r-----: propietario lee y escribe, lectura grupal, otro ninguno. Ésa es la afirmación completa respaldada por sus aportaciones. No identifica al auditor ni ofrece una cuarta clase en la que ubicar esa identidad.
Preservar este registro en modo base mientras el trabajo de ACL se realiza en otro lugar. Si el proceso externo luego informa un modo diferente, decodifíquelo nuevamente y compare cada clase. No pegue un comando ACL en el campo modo ni asuma que la vista previa del comando incorpora entradas con nombre. Siempre representa sólo el modo numérico que se muestra actualmente.
Ejemplo resuelto: mantener legible el modo base mientras el trabajo de ACL se realiza en otro lugar
Estas fuentes no establecen otras familias de ACL, reglas de sistemas de archivos remotos ni soporte de montaje. La calculadora no detecta el tipo de almacenamiento, las opciones montadas, el sistema operativo ni la disponibilidad de las operaciones de ACL. Por lo tanto, una vista de ACL faltante es un límite de implementación, no una evidencia de que el objeto subyacente carezca de controles de acceso más completos.
La política obligatoria, las capacidades, la propiedad y la identidad del proceso también están separados. Incluso el conocimiento completo del modo básico no puede reemplazar esas entradas. Informe la conversión de modo como una capa y etiquete explícitamente cada capa no observada. Esto evita que una visualización rwx limpia se confunda con un análisis de autorización completo.
Otros modelos de ACL y soporte de montaje no se infieren
Cuando tres clases son suficientes, la calculadora da una cuenta precisa y reversible de ellas. Cuando no lo sean, mantenga esa cuenta base legible en lugar de forzar una excepción nombrada en la otra clase. Las vistas octal, simbólica y de casilla de verificación deben coincidir en el mismo valor de propietario, grupo, otro y bit especial.
La regla de detención es simple: use esta ruta para la aritmética del modo base y herramientas externas autorizadas para el estado de ACL. Nunca infieras entradas con nombre, máscaras, herencia o compatibilidad con sistemas de archivos únicamente a partir de rwx. Una revisión cuidadosa combina esas fuentes de evidencia separadas sin pretender que la calculadora implemente estructuras de control de acceso que su código fuente no contiene.