Español

Herramientas de desarrollo · Calculadora Chmod

Modo simbólico chmod explicado: u+x, g-w, o=r y a+rX

· Cómo funciona

chmod unix flujo de trabajo del desarrollador

asignaciones simbólicas mostradas como un diagrama de bits de permisos de Unix distinto
Ilustración de vector original de ToolAcre

La forma simbólica de chmod es una pequeña gramática: quién, operador, qué bits. Esta publicación lo desmonta para que u+x y go-rwx se vuelvan obvios, y muestra cuándo lo simbólico vence a octal.

Un script de implementación lleno de letras: chmod u+x,go-w implementar.sh funciona, pero nadie en el equipo puede decir qué cambia.

Un comando como u+x se parece a la pantalla simbólica de la calculadora, pero las dos formas tienen funciones diferentes. El campo simbólico editable acepta nueve posiciones de permiso, precedidas opcionalmente por un carácter de tipo de archivo reconocido. Por el contrario, el argumento chmod generado detalla asignaciones completas con cláusulas u=, g= y o=, por lo que representa un modo fijo en lugar de analizar un cambio relativo.

Ingresar 750 hace que la distinción sea concreta. La pantalla es rwxr-x---, mientras que la asignación generada es u=rwx,g=rx,o=. Ambos describen el mismo propietario, grupo y otros bits, pero sólo el segundo tiene formato como argumento chmod. La página nunca ejecuta ese comando. Expone la representación para que el valor propuesto pueda revisarse antes de cualquier acción del shell por separado.

La calculadora separa una visualización de estilo ls de la lista de tareas que genera

Las letras u, g y o aparecen en la tarea generada porque etiquetan propietario, grupo y otros. Cada salida nombra explícitamente las tres clases, incluida una cláusula vacía cuando una clase no tiene permisos. La calculadora no analiza la gramática omitida ni la taquigrafía. Su entrada comienza desde un modo completado, no instrucciones cuyo resultado depende de un objetivo existente.

Esta corrección evita una reclamación excesiva sutil. La matriz puede mostrar exactamente qué clase recibe lectura, escritura o ejecución, pero no puede decidir qué significaría un selector de clase omitido en otra implementación de chmod. En su lugar, compare las tres columnas de la matriz con las tres cláusulas de asignación. Su acuerdo verifica el valor fijo sin depender de reglas de comando relativas que esta interfaz no implementa.

Quién aparecen las letras en las tareas generadas; relativo omitido: la gramática de quién no se analiza

El generador de asignaciones utiliza = para cada clase ordinaria. Esa elección reconstruye exactamente el propietario, el grupo y otros tripletes solicitados, incluida la eliminación de una clase emitiendo un lado derecho vacío. Aunque + y - pertenecen a comandos chmod simbólicos, no se aceptan como entrada de la calculadora. Por lo tanto, la página no modela adiciones o eliminaciones incrementales desde un modo de inicio desconocido.

Una comparación de un bit muestra lo que puede demostrar el flujo de trabajo admitido. El modo 750 representa rwxr-x---; cambiar el dígito del grupo a 7 produce rwxrwx--- y cambia g=rx a g=rwx. La calculadora identifica los modos antes y después completados. No evalúa g+w frente a un archivo activo, porque ningún modo, ruta, sistema de archivos o ejecución de comando actual participa en la conversión.

El operador generado es =, mientras que la gramática de entrada + y - permanece fuera de la herramienta

El analizador reconoce r y w en sus posiciones fijas, más x o - en posiciones de ejecución ordinarias. También acepta s, S, t y T donde bits especiales comparten esas posiciones. Capital X es diferente: pertenece a la gramática chmod relativa y no se admite aquí. El suministro de X se rechaza en lugar de interpretarse silenciosamente como un bit de ejecución ordinario.

Las letras especiales minúsculas y mayúsculas se implementan deliberadamente. Setuid y setgid usan s cuando su bit de ejecución coincidente está presente y S cuando está ausente; sticky usa t o T según la misma regla en la posición de otra ejecución. La fila especial y el resumen de cuatro dígitos conservan esos bits. Nada de esto agrega soporte para la selección condicional de X mayúscula en archivos y directorios.

El analizador acepta r, w, x, s, S, t y T; capital X no es compatible

Las expresiones de copia de clase como g=u no están implementadas. La calculadora nunca lee una clase fuente de un objeto existente ni aplica los bits de una clase a otra. Recibe un modo octal completo o estilo ls, convierte ese valor en booleanos con nombre y emite indicadores explícitos para cada clase. Cualquier resultado copiado debe calcularse en otro lugar antes de que esta página pueda inspeccionarlo.

Supongamos que un paso externo determina que tanto el propietario como el grupo deben tener rwx mientras que el otro no tiene ninguno. Al ingresar 770 se obtiene rwxrwx--- y u=rwx,g=rwx,o=. Esto confirma el resultado completo pero no prueba cómo se obtuvo. La propiedad también sigue siendo desconocida: el convertidor etiqueta las clases sin identificar al propietario, grupo o proceso real que encontraría el objetivo.

No se implementan permisos de copia entre clases

El modo 0750 se acepta con su cero inicial y se analiza como el mismo valor que 750. El dígito del propietario 7 activa la lectura, escritura y ejecución; el dígito del grupo 5 activa la lectura y ejecución; otro dígito 0 no activa nada. La visualización sincronizada pasa a ser rwxr-x--- y el resumen de cuatro dígitos siempre mantiene visible 0750 como un valor de revisión inequívoco.

La asignación simbólica generada para ese modo fijo es u=rwx,g=rx,o=. Sus tres cláusulas corresponden directamente a las columnas de la matriz, mientras que la vista previa del comando octal usa 750 a menos que un bit especial requiera un cuarto dígito. Es posible que se cite una ruta proporcionada en la vista previa, pero nunca se abre. El ejemplo verifica la representación, no la propiedad, la autorización o un cambio de permiso exitoso.

Ejemplo resuelto: 0750 como modo fijo y lista de asignaciones generada

Los cambios basados en referencias, el manejo de enlaces simbólicos y las operaciones de ACL permanecen fuera de este convertidor. No hay entrada de archivo de referencia, recorrido de ruta, modelo de entrada de ACL ni consulta del sistema de archivos en la página. Seleccionar recursividad solo agrega un indicador -R mostrado. En consecuencia, el comando generado no puede informar qué objetos se alcanzarían o si otra capa de control de acceso cambia el resultado efectivo.

La entrada no válida proporciona una verificación de límites útil. Una letra de permiso mal colocada, una X no admitida, un marcador final o un dígito octal mal formado se rechazan en lugar de repararse. La corrección del texto a una visualización de nueve caracteres compatible produce un modo y vistas sincronizadas. Esa aceptación prueba sólo que la cadena se asigna a los doce bits implementados; no valida una característica chmod externa o un entorno de destino.

Las operaciones de referencia, enlace simbólico y ACL permanecen fuera de este convertidor

La distinción práctica es entre una visualización de estilo ls y una asignación fija generada, no entre entrada simbólica como relativa y entrada octal como absoluta. Ambos formularios editables representan un modo completo. La calculadora convierte cualquiera de ellos en el mismo número entero, matriz, resumen, explicación y vistas previas, luego emite cláusulas explícitas u=, g= y o= para el formulario de comando simbólico.

Utilice esas vistas sincronizadas para detectar errores aritméticos. Si 750, rwxr-x--- y u=rwx,g=rx,o= aparecen juntos, el modo fijo es internamente consistente. Deténgase ahí a menos que el sistema real proporcione más evidencia. La página no analiza operadores relativos, selectores omitidos, copia de clases o X mayúscula, y no puede determinar si el modo aborda la operación fallida real.