unix files – ¿Cuál es el resultado de ejecutar `chmod 7` en un archivo?

Pregunta:

Sé que chmod 777 permite leer , escribir y ejecutar para usuarios , grupos y otros

pero ¿y si solo hago chmod 7 ?

¿Es eso solo rwx para el usuario ?

Respuesta:

La respuesta de Ramesh es perfectamente precisa, pero quería intervenir y proporcionar una explicación más detallada de los modos de archivo.

Si bien números como 755 y 777 pueden parecer especiales y solo significan algo para los modos de archivo, en realidad son bastante básicos.

Estos números son en realidad números octales. Los números decimales son base-10, los números hexadecimales son base-16, los binarios son base-2 y los números octales son base-8. Lo que significa que a medida que cuenta, va 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 ... Entonces, el número 007 es solo 7 octal. El número octal 755 es solo un número y equivale a 493 en decimal.
Ahora bien, la forma de diferenciar un número octal de cualquier otra base es que los números octales tienen el prefijo 0 . Entonces, para decir que 755 es octal, debería referirse a él como 0755 . El comando chmod simplemente asume que todos los números de entrada son octales, ya que esa es la forma más común de referirse a los modos de archivo.

Ahora bien, ¿por qué los modos de archivo usan octal? Bueno, primero debemos entender que el modo es solo una máscara de bits que se ve así:

111111111111 - 12 binary bits
============
           1 - Other execute
          1  - Other write
         1   - Other read
        1    - Group execute
       1     - Group write
      1      - Group read
     1       - User execute
    1        - User write
   1         - User read
  1          - Sticky bit
 1           - Set group ID
1            - Set user ID

Tenga en cuenta que hay 3 bits para cada uno de "otro", "grupo" y "usuario". El binario 111 es 7 , que es el valor octal de un solo dígito más alto. Entonces, al usar la numeración octal, cada uno de los otros permisos de grupo y usuario obtienen un solo dígito, más un dígito adicional para el sticky + setuid + setgid.

Entonces, con esto, podemos volver a su pregunta original de "¿qué es chmod 7 "?
Bueno, ahora que sabemos que es solo un número octal y que es solo una máscara de bits, podemos resolver esto. Octal 7 es el binario de 111 . Usando las posiciones de bit anteriores, podemos determinar que esto establece los 3 de los 'otros' bits, otorgando a 'otros' acceso de ejecución, lectura y escritura. Y dado que esto es solo un número, todos los demás bits son 0 y se desarman.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım