Usar los códigos octales tiene dos ventajas que se me ocurren, ninguna de las cuales es tan grande:
- Son más cortos, más fáciles de escribir.
- Algunas cosas solo las entienden, y si las usas habitualmente no te rascarás la cabeza (o irás a la documentación) cuando te encuentres con una. Por ejemplo, debe usar octal para
chmod
en Perl o C.
A veces, las utilidades realmente simples no manejan las versiones "amigables"; especialmente en tierras de usuarios no GNU.
Además, algunas utilidades escupen octal. Por ejemplo, si corres umask
para ver cuál es tu umask actual, la escupirá en octal (aunque en bash, umask -S
es simbólico).
En resumen, diría que la única razón para preferirlos es escribir menos caracteres, pero que incluso si elige no usarlos, debe saber cómo se mapean para que pueda descubrir un código octal si ejecuta en una de las cosas que solo hace octal. Pero no necesita saber de inmediato a qué 5 mapas rx
, solo necesita ser capaz de resolverlo.
chmod
en Perl o C necesita usar representación octal no es realmente una ventaja ya que la representación ya existía en primer lugar.Supongo que he estado usando octal durante demasiado tiempo.
7 es rwx (hacer cualquier cosa con él), 5 es rx (hay que leerlo para ejecutarlo), 6 es wr (cualquier archivo de datos que necesite modificar), 4 es r (le dejaremos verlo) y 0 es - (lo siento, no hay nada aquí para ver). Y el orden soy Yo, Nosotros, Todos. Estas son las combinaciones básicas.
755 Puedo cambiarlo y ejecutarlo, todos los demás pueden ejecutarlo.
644 Puedo cambiarlo, todos los demás pueden leerlo.
444 Lectura solo para todos, hemos terminado aquí.
500 Puedo ejecutarlo, no quiero que cambie, todos los demás no lo hacen.
Para mí, es breve, al grano. 9 caracteres y una especificación de archivo y seguir adelante.
fuente
Nunca me ha gustado la representación octal, siempre he optado por la
rwxr-xr-x
notación directa, ya que me parece más simple. Sin embargo, por lo que deduzco, la representación octal existe para que sea más fácil para nosotros recordar (no veo cómo funciona).El único otro beneficio posible que veo que octal trae a la mesa es la falta de ambigüedad. Las 8 configuraciones de bits de permisos diferentes están representadas por un único número distinto, que estoy seguro ayuda a algunas personas a colocar accidentalmente un lugar
w
donde no deberían tener.Desafortunadamente, he memorizado esta tabla:
fuente
/tmp
, incluido el bit adhesivo) toma 12 bits, un tamaño conveniente en PDP, especialmente el PDP-8. Si hubieran ido con hexadecimal, un mapeo natural de un conjunto de permisos por dígito hexadecimal habría requerido una máquina de palabras de 16 bits +, que no todos los PDP tenían. También habría desperdiciado 3 bits o habría requerido que inventaran un uso para esos bits, lo que probablemente habría complicado las permanentes de Unix sin ningún beneficio real.Creo que la razón es otra vez: la historia. Al principio, los valores octales eran los únicos. Los simbólicos llegaron después.
Prefiero los simbólicos. Especialmente si desea cambiar los valores existentes sin tocar otras partes.
Como
chmod -R u=rwx,g-w+X,o=-
hacer eso en octal ...fuente
Tenga en cuenta que los modos octales pueden eliminar bits setuid y setgid en algunos sistemas.
Fedora 16:
(
2
se conserva)FreeBSD 9:
(se
2
convirtió en un0
)Si desea cambiar los permisos de un archivo o directorio, puede ser mejor simplemente especificar los bits que desea cambiar (por ejemplo,
chmod o= dir
ochmod o-rwx dir
en el ejemplo anterior).fuente
La historia explica por qué existen los modos octales , pero creo que la funcionalidad es la razón por la que existe la forma mnemónica. Y todos los puntos sobre otras herramientas que usan modos exclusivamente octales son perfectamente válidos y creo que hay que aprenderlos y conocerlos. Sin embargo, encuentro que los administradores conservadores no ven la verdadera utilidad que proviene de la forma mnemónica.
La forma octal, especialmente cuando se usa de forma recursiva, tiende a obligar a los administradores a hacer cosas estúpidas. O más bien, la negligencia añadida resulta en que resulte estúpido. Siempre que se encuentre con alguna carpeta con muchos archivos de texto y el
x
conjunto de bits, tiene pruebas.¿Por qué alguien pondría el
x
bit así? Porque es difícil no hacerlo a menos que uses la forma mnemónica para los modos. Tenga en cuenta que desea restablecer los permisos/var/www
y no ejecuta ningún CGI de estilo antiguo, por lo quex
debe eliminarse el bit. Sin embargo, elx
bit tiene otro propósito en los directorios. Entonces terminas haciendo algo (comoroot
) como:Sin embargo, si estaba utilizando la forma mnemónica, podría darle una "receta":
que es la forma abreviada de
chmod -R ugo=rwX /var/www
(lograr el mismo camino, pero diferente:)chmod -R a-x,a+rwX /var/www
.Pero hay otra cosa que es más trivial que no se puede lograr con los modos octales. No se puede ajustar el
user
ogroup
oother
enmascarar individualmente con la forma octal.En resumen: es como comparar un bisturí (mnemónico) y un cuchillo de cocina afilado (octal) ... pero aún tienes que conocer los bits del modo octal por otras razones :)
Creo que la razón por la que todavía se prefieren los modos octales no es la tipificación involucrada en la forma mnemónica, sino los administradores demasiado conservadores. Y sí, en 2013, esos administradores demasiado conservadores todavía existen y están aquí para quedarse por un tiempo.
fuente
Cuando tiene que modificar los permisos de los archivos todo el tiempo , aprecia los 3 caracteres. Muchas veces uso las versiones
+
o-
para cambiar los permisos.Por ejemplo, creo un nuevo PHP, Python u otro script en mi carpeta apache.
chmod a+x
es todo lo que hago para que se pueda ejecutar. Lo leí como "todo más ejecución". Ahora sé que va a funcionar, y solo necesitaba 3 personajes.Otras veces uso 644 y 755 automáticamente. Simplemente lo considero como
644
un archivo,755
significa un script.fuente
Se adapta muy bien a la configuración de umask, que generalmente se proporciona en escritura octal (en
pam
ofstab
).fuente
Sugiero que una razón importante es que la representación octal coincide estrechamente con lo que ves
ls -l
(o, más bien, lo hace cuando te conviertes mentalmente entre octal y binario).fuente