Programáticamente o solo necesitas saber cómo traducir?
mattdm
Soy perezoso para traducir :) stat está bien por un momento para mí.
cnd
99
¿Qué quieres decir con "establecer lo mismo"? ¿Ya tiene un archivo con el permiso -rw-r - r-- y desea configurar otro archivo con los mismos permisos? Luego vea si sus chmodsoportes --reference: "--reference = RFILE usa el modo RFILE en lugar de los valores MODE" - man chmod.
stat -c %a /path/to/filees el truco de magia que necesitas
fromnaboo
y la respuesta está en el bloque de Acceso allí arriba. El archivo que utilizó en el ejemplo tiene un conjunto de acceso diferente al de la pregunta. el de la pregunta habría mostrado Acceso: (0644 / -rw-r - r--)
nycynik
65
r=4
w=2
x=1
en cada grupo Su ejemplo es 6 (r + w = 4 + 2) 4 (r = 4) 4 (r = 4).
El número de modo de permisos completo es un número octal de 4 dígitos, aunque la mayoría de las veces, solo usa los 3 dígitos menos significativos. Sume cada grupo en la cadena de permisos, tomando r = 4, w = 2, x = 1. Por ejemplo:
Ahora, a veces verás una cadena de modos extraña como esta:
-rwsr-xr-T
El cuarto dígito se sobrecarga en los xbits de la cadena de modo. Si ve una letra distinta de xallí, significa que uno de estos bits "especiales" de cuarto dígito está configurado, y si la letra está en minúscula, entonces xtambién se establece esa posición. Entonces la traducción para este es:
4 2 1
421421421
-rwsr-xr-T
+ + + -- s+_+T = 4+0+1 = 5
\_/ -- r+w+s = 4+2+1 = 7 (s is lowercase, so 1)
\_/ -- r+_+x = 4+0+1 = 5
\_/ -- r+_+T = 4+0+0 = 4 (T is uppercase, so 0) => 05754
La forma estándar de UNIX de mostrar que un número es octal es comenzar con un cero. GNU chmodasumirá que el modo que le está dando es octal de todos modos, pero es más seguro anteponer el cero.
Finalmente, si ve un +al final de la cadena de modo:
-rwxr-xr-x+
entonces eso significa que el archivo tiene permisos extendidos, y necesitará más que eso chmod. Mira en los comandos setfacly getfacl, para empezar.
Obtenga la lista de archivos con sus valores de cadena y permiso hexadecimal. Poner% N al final para que la salida se pueda poner en Excel más fácilmente.
chmod
soportes--reference
: "--reference = RFILE usa el modo RFILE en lugar de los valores MODE" - man chmod.Respuestas:
Por favor verifique la
stat
salida:fuente
stat -c %a /path/to/file
es el truco de magia que necesitasen cada grupo Su ejemplo es 6 (r + w = 4 + 2) 4 (r = 4) 4 (r = 4).
fuente
El número de modo de permisos completo es un número octal de 4 dígitos, aunque la mayoría de las veces, solo usa los 3 dígitos menos significativos. Sume cada grupo en la cadena de permisos, tomando r = 4, w = 2, x = 1. Por ejemplo:
Ahora, a veces verás una cadena de modos extraña como esta:
El cuarto dígito se sobrecarga en los
x
bits de la cadena de modo. Si ve una letra distinta dex
allí, significa que uno de estos bits "especiales" de cuarto dígito está configurado, y si la letra está en minúscula, entoncesx
también se establece esa posición. Entonces la traducción para este es:La forma estándar de UNIX de mostrar que un número es octal es comenzar con un cero. GNU
chmod
asumirá que el modo que le está dando es octal de todos modos, pero es más seguro anteponer el cero.Finalmente, si ve un
+
al final de la cadena de modo:entonces eso significa que el archivo tiene permisos extendidos, y necesitará más que eso
chmod
. Mira en los comandossetfacl
ygetfacl
, para empezar.fuente
Esto podría ser sencillo
fuente
Los permisos son solo la representación de cadena de un número binario.
La
0
mayoría está representada por-
, el resto son letras.básico
Para permisos básicos:
Convierta todos
-
y mayúsculasS
oT
to0
, el resto debe representar1
.El número binario resultante así construido debe imprimirse como octal:
En una linea:
Corrección de errores y detección de los otros 3 bits
1000
,2000
o4000
requiere más código:fuente
Obtenga la lista de archivos con sus valores de cadena y permiso hexadecimal. Poner% N al final para que la salida se pueda poner en Excel más fácilmente.
Esto encontrará todos los archivos con un permiso hexadecimal específico.
fuente
Para todos los archivos concurrentes en un Dir
Para todos los archivos
fuente