Sistema de permisos

Sobre un archivo se pueden realizar 3 tipos de operaciones: lectura (read), escritura (write) y ejecución (execution).

Y los permisos se dividen en tres tipos de usuarios: propietario, grupo y otros.

Para ver los permisos de los archivos del directorio en el que nos encontramos podemos utilizar ls -la.

[email protected]  4 mikelgoig  staff   128 May 12 18:22 Applications
[email protected]  4 mikelgoig  staff   128 Sep 11 17:26 Desktop
[email protected]  5 mikelgoig  staff   160 Sep 13  2019 Documents
[email protected]  5 mikelgoig  staff   160 Sep 11 16:58 Downloads
drwx------+ 82 mikelgoig  staff  2624 Sep 12 13:57 Library
drwx------+  4 mikelgoig  staff   128 Nov 11  2019 Movies
drwx------+  5 mikelgoig  staff   160 Nov 11  2019 Music
drwx------+  4 mikelgoig  staff   128 Nov  9  2019 Pictures
drwxr-xr-x+  5 mikelgoig  staff   160 Mar 12  2019 Public

Las letras que aparecen al principio de cada archivo corresponden a los permisos:

drwxrwxrwx
  • d: directory
  • r: read
  • w: write
  • x: execute
  • -: deniega el permiso

Comandos para modificar los permisos

  • chmod: Modifica los permisos de un archivo o directorio.

    chmod +x test.php # Agrega el permiso de ejecución a todos los usuarios
    
    • chmod o: Modifica los permisos de otros.

      chmod o-w test.txt # Quita el permiso de escritura sólo a otros usuarios
      
    • También podemos cambiar permisos utilizando notación binaria.

      chmod 760 test.txt
      
      # 7: todos los permisos (lectura, escritura y ejecución) para el propietario
      # 6: permisos de lectura y escritura para el grupo
      # 0: ningún permiso para otros usuarios
      
  • chown: Cambia el propietario de un archivo. Requiere sudo.

    sudo chown www-data test.php
    
  • chgrp: Cambia el grupo de un archivo. Requiere sudo.