GNU/Linux >> Tutoriales Linux >  >> Linux

os.MkDir y os.MkDirAll valor de permiso?

Puede usar la notación octal directamente:

os.Mkdir("dirname", 0700)


Bits de permiso

+-----+---+--------------------------+
| rwx | 7 | Read, write and execute  |
| rw- | 6 | Read, write              |
| r-x | 5 | Read, and execute        |
| r-- | 4 | Read,                    |
| -wx | 3 | Write and execute        |
| -w- | 2 | Write                    |
| --x | 1 | Execute                  |
| --- | 0 | no permissions           |
+------------------------------------+

+------------+------+-------+
| Permission | Octal| Field |
+------------+------+-------+
| rwx------  | 0700 | User  |
| ---rwx---  | 0070 | Group |
| ------rwx  | 0007 | Other |
+------------+------+-------+

Introducción a los permisos de Unix


Usos comunes de permisos

0755 Comúnmente utilizado en servidores web. El propietario puede leer, escribir, ejecutar. Todos los demás pueden leer y ejecutar pero no modificar el archivo.

0777 Todo el mundo puede leer, escribir y ejecutar. En un servidor web, no es recomendable usar el permiso '777' para sus archivos y carpetas, ya que permite que cualquier persona agregue código malicioso a su servidor.

0644 Sólo el propietario puede leer y escribir. Todos los demás solo pueden leer. Nadie puede ejecutar el archivo.

0655 Solo el propietario puede leer y escribir, pero no ejecutar el archivo. Todos los demás pueden leer y ejecutar, pero no pueden modificar el archivo.

www.maketecheasier.com/file-permissions-what-does-chmod-777-means/


Permisos de directorio en Linux

Al aplicar permisos a directorios en Linux, los bits de permiso tienen significados diferentes a los de los archivos normales. (fuente)

Leer bit El usuario puede leer los nombres de los archivos contenidos en el directorio.
Escribir bit El usuario puede {agregar, renombrar, eliminar} nombres de archivos SI el bit de ejecución también está configurado.
Ejecutar bit El usuario puede ingresar al directorio y acceder a los archivos que contiene.

https://unix.stackexchange.com/a/21252

Calculadora de permisos

Una práctica calculadora de permisos.


La declaración de @Daniel en su respuesta no es realmente correcta, y también habla de un número decimal y luego usa uno octal, como señaló correctamente @SashaCrofter en su comentario.

En realidad, no importa qué formulario el valor de su permiso es siempre y cuando represente permisos sensibles de Unix.

Dado que los bits de permiso en los sistemas de archivos POSIX vienen en triples de bits (tres bits para acceso de propietario, grupo y otros, más tres bits de modificadores (como bits adhesivos), es habitual usar números octales para representar los permisos como cada dígito en un número octal representa un valor de tres bits.

Por lo tanto, cuando usa 0700 en el código Go, el 0 inicial se elimina y solo está allí para decirle al analizador que ve un número octal literal, y las siguientes tres letras representan los permisos de propietario, grupo y otros, en este orden. Si, por ejemplo, desea establecer también el sticky bit del grupo, además de hacer que el objeto del sistema de archivos sea legible y ejecutable para el grupo, debe especificar 02750 y así sucesivamente.

Tenga en cuenta que los permisos reales que adquiere el objeto del sistema de archivos se modulan aún más por el umask activo del proceso que crea el objeto.

Para comprender mejor estos temas, es mejor leer el chmod páginas de manual y literatura general sobre sistemas operativos similares a Unix.


Puede restablecer el umask a 0. Llamaría a esto como lo primero en mi archivo principal

syscall.Umask(0)

Ejemplo

_ = os.MkdirAll("/tmp/dirs/1", 0664)
syscall.Umask(0)
_ = os.MkdirAll("/tmp/dirs/2", 0664)

Resultado

/tmp/dirs$ stat -c '%A %a %n' *
drw-r--r-- 644 1
drw-rw-r-- 664 2

Linux
  1. Ejemplos de comandos mkdir y rmdir en Linux

  2. Cómo crear un directorio y dar permiso en un solo comando

  3. Chmod 777 a una carpeta y todo el contenido

  4. Unix:crea una ruta de carpetas y archivos

  5. Restaurar stdout y stderr al valor predeterminado

4 consejos útiles sobre los comandos mkdir, tar y kill en Linux

¿Qué significa nulo en Linux y Computación?

Clinews:lea las noticias y los últimos titulares desde la línea de comandos

Un chico de Windows en un mundo Linux:usuarios y permisos de archivo

¿Qué es SUID, SGID y Sticky bit?

Journalctl:Cómo leer y editar registros de Systemd