- owner: La persona a cargo de un archivo (normalmente el que crea el archivo)
- group: El grupo de usuarios que usan un archivo con un propósito
- other: Cualquier persona que no tiene permisos exlícitos en un archivo
Los tipos de permisos en archivos y directorios son:
- Lectura (r): Con este permiso puedes leer archivos, o listar los archivos de un directorio
- Escritura (w): Puedes crear, modificar o eliminar archivos en un directorio
- Ejecución (x): Para ejecutar archivos como comandos
Por ejemplo si tenemos los siguientes permisos sobre un archivo llamado file01:
- rwx rw- r-- student student file01
- El dueño del archivo es el usuario student y el grupo dueño es el grupo student
- El usuario student tiene permisos de lectura, escritura y ejecución
- Los miembros del grupo student tienen permisos de lectura y escritura
- El resto de los usuarios que no pertenecen al grupo student solamente pueden leer
Es importante considerar que los permisos en Linux no se heredan, hay que establecerlos especificamente a cada archivo o subdirectorio.
Para cambiar los permisos en archivos usamos el comando chmod. Podemos usar dos tipos de métodos para cambiar permisos
Simbólico:
- Quien: u, g, o, a (usuario, grupo, otros, todos)
- Qué: +, -, = (agregar, remover, establecer igual)
- Cual: r, w, x (lectura, escritura, ejecución)
Numérico:
Es representado por tres octetos donde cada octeto puede ser un número entre 0 y 7:
- r=4
- w=2
- x=1
Ejemplos:
chmod go +w file01 <- Estamos agregando permisos de escritura al grupo y a otros al archivo file01
chmod 750 file01 <- Estamos agregando permisos de rwx al owner, rx al grupo y ningún permiso a otros
En el comando chmod podemos usar la opción -R para aplicar permisos de forma recursiva a un directorio
chmod -R g+rwx dir01
Con el comando chown podemos cambiar al usuario o grupo dueño de un archivo
chown -R student dir02 <- Cambiamos de dueño al directorio dir02 y a todos los archivos y directorios dentro para que sea el usuario student
chown :group02 dir01 <- Cambiamos al grupo dueño del directorio dir01 para que sea el group02
chown student02:gruoup01 dir01 <-Cambiamos al usuario dueño del directorio dir01 para que sea student02 y al grupo dueño para que sea group01