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).


