Vi un cambio de código en el trabajo, donde los valores de modo se cambiaron de 777 a 0777 para que nfs setattr funcione. ¿Cuál es la diferencia en los 2 valores?
                    
                        permissions
                                
                    
                    
                        usuario1071840
fuente
                
                fuente

mkdir(). 0777 vs 777Respuestas:
Si los pasa a
chmod(el programa de línea de comandos), no hay diferencia. Pero en un programa en C o similar,0777es octal (tres conjuntos de tres bits de 1, que es lo que pretende), mientras que777es decimal, y es un patrón de bits bastante diferente. (chmodinterpretará cualquier argumento numérico como octal, por lo tanto, no es necesario un cero inicial).0777 (octal) == binario
0b 111 111 111== permisosrwxrwxrwx(== decimal511)777 (decimal) == binario
0b 1 100 001 001== permisossr----x--x(== octal1411)fuente
chmodcomando siempre se interpreta como octal. El usochmod 888dará un error.chmodinterpreta un argumento numérico como octal, independientemente del prefijo. (Pero realmente el número en sí no tiene función; solo los dígitos, o más bien los bits.)1777, ¿necesitas escribir01777?1777está escrito01777en C. (O podrías escribir1023, que es el mismo número en decimal. Pero no lo hagas :-)El primer bit se usa para el bit adhesivo http://en.wikipedia.org/wiki/Sticky_bit
Si establece el permiso con 4 dígitos, el primero establecerá o eliminará este bit.
fuente
La respuesta interesante es:
0700y700, como se explica en las otras respuestas00700y0700(para los directorios)Al menos ese es el caso de la versión chmod de GNU coreutils, que es la predeterminada en Linux.
Ver este ejemplo:
Esto es para evitar la eliminación accidental de bits setuid / setgid para directorios. Para más detalles, consulte la documentación de chmod .
fuente
En el sistema Linux hay dos tipos de permisos disponibles:
En Permiso de archivo, establecemos permiso en archivos y carpetas:
Los permisos son:
Si bien tiene un permiso especial, tres tipos de permisos son:
En su pregunta, pregunta cuál es la diferencia, por lo que no hay ninguna diferencia entre
chmod 777 and 0777porque hayno any octal valuecuál muestra el valor de (0) cero.fuente