meta data de esta página
  •  

¡Esta es una revisión vieja del documento!


Permisos en Linux

Los permisos son del tipo x xxx xxx xxx . Que se corresponde con tipo archivo, permisos usuario, permisos grupo, resto

La primera posición indica el tipo de archivo que puede ser:

  • - → archivo normal
  • b → tipo bloque
  • c → tipo caracter
  • d → directorio
  • l → enlace
  • p → conexión
  • s → conector

Los permisos para el resto de grupos son:

  • r → lectura
  • w → escritura
  • x → ejecución
  • t → mantienen el ejecutable en memoria
  • s → suid/ssid
  • i →bloque de archivos

Para establecer los permisos en linux usuamos los siguientes comandos

  • chmod
  • chown usuario.grupo nombre_archivo
  • getfacl
  • setfacl

Chmod

El comando chmod (change mode) sirve para gestionar los permisos de los archivos o directorios del sistema. Los permisos que podemos dar on R lectura, W escritura y X ejecución Los permisos los podemos asignar al owner (propietario), group (grupo) y others (Otros) Las sintaxis de chmod es

chmod [opciones] permisos archivo/directorio/s

Los permisos se pueden indicar de dos maneras, por medio de una sintaxis en números octales (base 8) o por medio de caracteres.

  • El primer dígito corresponde a los permisos del usuario
  • El segundo dígito a los del grupo
  • El tercer dígito a los del resto de usuarios

Chown

El comando chown (change owner) en sistemas Linux y Unix permite cambiar el propietario y el grupo de archivos o directorios Para cambiar los permisos a un archivo

chown usuario:grupo archivo.txt
Para cambiar recursivamente los permisos a un directorio
chown -R usuario:grupo /ruta/del/directorio

Ejemplos de permisos

Problema con claves SSH en VPS: La clave privada debe tener permisos 600:

chmod 600 ~/.ssh/id_rsa

Error «Permission denied» al ejecutar scripts: Asegura permisos de ejecución con:

chmod +x script.sh

Error «403 Forbidden» en Apache/Nginx: Asegúrate de que los archivos tengan permiso 644 y los directorios 755. Verifica que el usuario del servidor web (www-data, apache, nginx) tengan acceso.

sudo chown -R www-data:www-data /var/www/html