Herramientas de desarrollo · Calculadora Chmod
El modelo de permisos de Unix: desde el chmod de los años 70 hasta los bits en modo POSIX
· Antecedentes
chmod unix control de acceso
El modelo propietario /group/others ha sobrevivido durante décadas con muy pocos cambios. Esta publicación explica de dónde vino, qué estandarizó POSIX y por qué todavía se adapta a la mayoría de los trabajos.
Un diseño de la década de 1970 en su implementación de la década de 2020: cada contenedor y corredor de CI todavía habla rwx, y es útil saber por qué
Las implementaciones actuales aún presentan modos como 0644 y cadenas simbólicas como rw-r--r--, pero este repositorio no es un archivo histórico. Su evidencia es la representación implementada: doce bits, conversión determinista y validación de entrada octal y simbólica. Las fechas, los inventores, las patentes y las afirmaciones sobre cada sistema derivado de Unix requieren fuentes que no se proporcionan aquí.
Por lo tanto, la calculadora ofrece una vista en tiempo presente de un modelo de permiso compacto. Un número entero controla el propietario, el grupo y otros controles, además de setuid, setgid y sticky. La salida se puede verificar en forma octal, simbólica y matricial. El acuerdo prueba una conversión consistente, no el origen, la universalidad o la aplicación del modelo.
Aparece una notación de larga duración en las implementaciones actuales, pero este repositorio no es una fuente histórica
Nueve bits ordinarios forman tres clases iguales. El propietario, el grupo y otros reciben posiciones de lectura, escritura y ejecución con pesos 4, 2 y 1. La calculadora mantiene ese orden en todas partes: en los tres dígitos octales finales, en la fila simbólica de nueve caracteres, en la matriz de casillas de verificación y en la descripción en inglés simple generada para un archivo o directorio.
Un modo de 640 demuestra la estructura sin un reclamo de linaje. El propietario 6 significa lectura y escritura, el grupo 4 significa lectura y otro 0 significa que no hay permisos ordinarios, lo que produce rw-r-----. Como explica el artículo 501, estas son banderas calculables; La identificación del propietario, grupo o proceso real queda fuera de la conversión.
El modelo implementado tiene nueve bits ordinarios en tres clases.
Setuid se implementa como la máscara 4000. En un archivo normal, el renderizador coloca s en la posición de ejecución del propietario cuando tanto setuid como propietario ejecutan están presentes. Si setuid está presente sin la ejecución del propietario, coloca S allí, preservando la importante diferencia entre un bit especial y el bit de ejecución ordinario debajo de él.
La descripción del archivo explica las minúsculas como ejecución con la identidad del propietario del archivo y marca la combinación de mayúsculas como si no tuviera nada que ejecutar. Esas declaraciones describen el resultado de esta implementación. El repositorio no proporciona registros de patentes ni antecedentes primarios, por lo que esta sección no atribuye el mecanismo ni fecha su introducción.
se implementa el comportamiento setuid; el historial de patentes no tiene origen
Las explicaciones del directorio utilizan el mismo valor numérico pero diferentes verbos para bits ordinarios. Lea entradas de listas, escriba portadas, cree, cambie el nombre y elimine entradas, y ejecute portadas ingresando al directorio y alcanzando contenidos nombrados. La implementación también describe que setgid en un directorio hace que los archivos recién creados hereden el grupo de ese directorio.
Sticky está representado por 1000 y ocupa la otra posición de ejecución como t o T. Para un directorio, la herramienta describe la eliminación restringida de entradas compartidas. Estas son semánticas implementadas presentadas por la calculadora; no se establece ningún historial de sucursales ni linaje entre sistemas, y no se consulta ningún sistema de archivos activo para confirmar el comportamiento local.
El comportamiento de bits especiales del directorio se describe sin un reclamo de linaje
La fuente nombra cada máscara directamente: 0400, 0200 y 0100 para el propietario; 0040, 0020 y 0010 para grupo; 0004, 0002 y 0001 para otros. Setuid, setgid y sticky agregan 4000, 2000 y 1000. La conversión es una prueba de bits y una combinación bit a bit en lugar de apelar a un estándar externo.
Las reglas de entrada son igualmente concretas. Octal acepta de uno a cuatro dígitos desde 0 hasta 7, con formas iniciales opcionales de estilo 0 o 0o. La entrada simbólica acepta nueve posiciones o diez con un carácter de tipo de archivo reconocido. El repositorio no establece que cada implementación o estándar acepte exactamente la misma gramática superficial.
Se verifican las máscaras de bits con nombre y la semántica de conversión; Las afirmaciones de estándares universales no son
El modelo compacto tiene límites deliberados. Proporciona una clase de propietario, una clase de grupo y otra clase, pero ninguna entrada de usuario designado, entrada de grupo designado, máscara ACL o ACL predeterminada. Tampoco tiene ningún conjunto de capacidades. Esos mecanismos no pueden inferirse de una cadena rwx aparentemente ordinaria o de una conversión octal exitosa.
La generación de comandos no expande el modelo. Emite un argumento octal o cláusulas explícitas u=, g= y o=, agregando u+s, g+s o +t cuando sea necesario. El resultado sigue siendo el texto mostrado. Una revisión responsable reúne por separado cualquier ACL, capacidad, propiedad y evidencia de cumplimiento antes de tratar el modo como una cuenta completa de control de acceso.
Las ACL y las capacidades se encuentran fuera del modelo de modo implementado
Este conjunto de fuentes no contiene ninguna comparación compatible con Windows, VMS, Plan 9 u otros historiales de permisos del sistema operativo. Omitir esas narrativas es más preciso que presentar los contrastes recordados como hechos. La calculadora sólo demuestra la representación del modo que implementa y sus pruebas pueden establecer el comportamiento de conversión en lugar de la evolución de sistemas no relacionados.
La misma precaución se aplica al lenguaje de compatibilidad amplia. Se puede analizar un carácter de tipo de archivo inicial reconocido antes de las nueve posiciones de permiso, pero eso no prueba el formato ls universal. Utilice el resultado como una lectura precisa de la notación aceptada de esta herramienta, luego consulte la documentación autorizada de la plataforma para conocer el comportamiento más allá de estos límites respaldados por el código fuente.
Otros historiales de permisos del sistema operativo se omiten sin fuentes
Lo que sobrevive al escrutinio aquí es la compacidad del modelo implementado. Doce bits con nombre cubren tres clases de permisos ordinarios y tres indicadores especiales, mientras que las vistas octales y simbólicas exponen el mismo número entero en diferentes formas. Los dígitos no válidos o las letras simbólicas mal colocadas se rechazan en lugar de repararse silenciosamente, lo que hace que los errores sean visibles durante la conversión.
Eso es suficiente para una lección práctica sin una lección de historia. Decodifica el modo, inspecciona cada clase y observa si s, S, t o T reemplazan una posición de ejecución. Luego, deténgase donde termina la evidencia: la calculadora explica la representación y el texto generado, mientras que la propiedad, la política, el comportamiento del sistema de archivos y la procedencia histórica requieren otras fuentes.