Cómo os.FileMode convierte los permisos antes de establecer indicadores
Preocupación original
Cuando se usa os.FileMode con números octales o decimales, los permisos de archivo resultantes no siempre parecen coincidir con el comportamiento esperado. Específicamente, pasar un número decimal (sin cero a la izquierda) da como resultado atributos de archivo diferentes que pasar el equivalente octal.
Lógica de conversión
os.FileMode acepta un número entero como entrada e internamente lo representa como un entero sin signo de 32 bits. Los nueve bits menos significativos corresponden a permisos de archivos Unix, mientras que los 12 bits restantes no se utilizan. Al convertir un número octal en un número entero, la especificación del lenguaje interpreta el número como base 8 si comienza con un cero a la izquierda ("0"). De lo contrario, interpreta el número como base 10.
Ejemplo
Considere el número octal "0700" que representa los permisos "rwx------".
Nota adicional
Los 12 bits no utilizados en la representación os.FileMode indican características especiales del archivo. Sin embargo, estos no son relevantes para los permisos básicos de archivos.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3