permisos de archivos unix

permisos de archivos unix

Solo estoy mirando los permisos de algunas de mis carpetas a través del terminal y no sé muy bien qué significan.

iMac:~ me$ ls -alt
total 40
drwx------   4 me  staff   136 10 Oct 06:17 .Trash
drwx------+  4 me  staff   136 10 Oct 06:16 Desktop
drwxr-xr-x   6 me  staff   204 10 Oct 06:16 .bash_sessions
-rw-r--r--@  1 me  staff  8196  8 Oct 22:37 .DS_Store
drwx------+  9 me  staff   306  8 Oct 22:37 Downloads
drwx------@ 12 me  staff   408  8 Oct 20:50 Google Drive
drwx------@ 13 me  staff   442  8 Oct 20:49 Dropbox
drwx------   9 me  staff   306  8 Oct 20:49 .dropbox
drwxr-xr-x+ 19 me  staff   646  8 Oct 20:48 .
-rw-r--r--   1 me  staff   100  4 Oct 12:03 .bash_history
drwx------@ 49 me  staff  1666  4 Oct 10:17 Library
drwx------   4 me  staff   136  4 Oct 09:52 Applications
-r--------   1 me  staff     7  4 Oct 09:45 .CFUserTextEncoding
drwx------+  3 me  staff   102  4 Oct 09:42 Documents
drwx------+  3 me  staff   102  4 Oct 09:42 Movies
drwx------+  3 me  staff   102  4 Oct 09:42 Music
drwx------+  3 me  staff   102  4 Oct 09:42 Pictures
drwxr-xr-x+  5 me  staff   170  4 Oct 09:42 Public
drwxr-xr-x   7 root             admin   238  4 Oct 09:42 ..

¿Cuál es la diferencia entre "drwxr-xr-x+" que se encuentra en "." y "drwx------@" encontrado en "Google Drive"?

Respuesta1

Los permisos de Unix son en realidad mucho menos confusos de lo que piensas al principio, y una vez que dejas de intentar leer la línea completa como una sola cosa y en su lugar piensas en ella en grupos, siempre en el patrón 1 3 3 3se vuelve más fácil de entender.
De hecho, Mac y algunos otros derivados de Unix usan una 1 3 3 3 1estructura; más sobre eso al final de esta publicación.

Esta explicación es tan simple como puede ser, e incluye todos los conceptos relevantes...

Extraído dehttps://www.cs.swarthmore.edu/help/chmod.html

permisos de archivos unix

Los permisos de archivos le permiten otorgar o denegar el acceso a sus archivos y directorios. Hay tres tipos de permisos:

  • r = leer
  • w = escribir
  • x = ejecutar

Estos permisos significan cosas diferentes para archivos y directorios.

Para archivos:

  • leer: puede abrir y leer el archivo, también puede copiarlo.
  • escribir - puedes modificar el archivo
  • ejecutar: puede ejecutar (ejecutar) el archivo si es ejecutable (como un programa o un comando)

Para directorios:

  • leer: puede buscar el directorio y ver el contenido.
  • escribir: puede crear y eliminar archivos en ese directorio.
  • ejecutar: puede acceder a ese directorio.

Utilice el comando ls -l para ver los permisos de sus archivos y directorios. He aquí un ejemplo:

$ ls -l
total 188
drwx------  jk users  4096 2008-10-24 11:30 cs21/
drwx------  jk users  4096 2007-10-01 12:24 mail/
drwxr-xr-x  jk users  4096 2008-06-05 10:33 public/
-rw-------  jk users 83623 2008-09-10 08:29 turing.pdf
-rw-r--r--  jk users  9134 2008-01-24 16:26 unix-by-example

La primera columna de arriba son los permisos de archivos (drwx------ o -rw-r--r--), la segunda es el propietario de los archivos y directorios (jk) y la tercera columna es el grupo ( usuarios).

Para los permisos de archivos, la primera letra es una "d" o un "-", lo que significa que es un directorio o un archivo. Los siguientes tres caracteres (por ejemplo, rwx) son los permisos del propietario del archivo. Luego vienen los permisos del grupo (por ejemplo, todos los miembros del grupo de usuarios) y, finalmente, los permisos para todos los demás. Aquí hay unos ejemplos:

* drwx------ : directory only accessible by owner
* drwxr-xr-x : directory anyone can access
* -rwxr-xr-x : file anyone can read and execute
* -rw-r----- : file only people in the group can read

Para ver en qué grupos se encuentra, ejecute el comando de grupos.

cambiar permisos en un archivo/directorio

Utilice chmod (CHange MODe) para cambiar los permisos del archivo. El comando chmod puede usar números:

  • 4 - leer
  • 2 - escribir
  • 1 - ejecutar

La razón por la que estos no son 1,2,3 es porque necesitan sumar un número único dependiendo de la combinación que uses.

Entonces, para dar permiso de lectura y escritura:

leer + escribir = 4 + 2 = 6

o permiso de ejecución y lectura:

ejecutar + leer = 1 + 4 = 5

O simplemente ejecute el permiso:

ejecutar = 1

O todos los permisos:

leer + escribir + ejecutar = 4 + 2 + 1 = 7

El comando chmod toma tres números para tres permisos:

propietario, grupo, todos los usuarios (en ese orden)

El comando chmod básico es:

$ chmod ### directory/filename

Entonces, si quisieras dar acceso de lectura a todos (-rw-r--r--):

$ chmod 644 filename

Para hacer que un archivo sea legible, escribible y ejecutable sólo por usted:

$ chmod 700 filename

Para hacer que un archivo sea legible y ejecutable para usted y su grupo, pero solo para todos los demás:

$ chmod 554 filename

chmod también puede usar letras: u para usuario (propietario), g para grupo, o para otro y a para todos (u, g y o). Entonces podrías hacer el archivo chmod g+r para agregar acceso de lectura para el grupo. Para obtener más información sobre chmod, consulte la página de manual (man chmod).

Una nota sobre ese personaje final.

En Mac OS X (y algunos otros derivados de Unix), hay un carácter adicional después del conjunto final de permisos. Generalmente es un espacio, pero puede ser un + o una @.

Un + indica que el archivo o directorio tiene información de seguridad adicional, como una ACL.
Una @ indica que el archivo o directorio tiene atributos extendidos.

Puede ver la ACL de un archivo o directorio al incluir la opción -e al realizar un ls (con la opción -l) y los atributos extendidos al incluir -@ (también con -l).
Una discusión sobre las ACL y los atributos extendidos va mucho más allá de esta respuesta, pero se puede encontrar más información sobre los atributos extendidos.aquíy ACLaquí(y, por supuesto, Google mostrará más información de la que usted desea saber sobre ellos).

información relacionada