3. Permisos y Propiedades
Propietarios y Grupos
-
Propietario de un archivo:
- Cada archivo o directorio en un sistema Unix/Linux tiene un propietario, que generalmente es el usuario que lo creó. El propietario tiene control sobre los permisos del archivo.
-
Grupo de un archivo:
- Además del propietario, cada archivo pertenece a un grupo. Los usuarios que forman parte de este grupo pueden tener permisos especiales sobre el archivo.
-
chown- Cambiar propietario:- Cambia el propietario y, opcionalmente, el grupo de un archivo.
- Ejemplo:
chown usuario:grupo archivo.txt
-
chgrp- Cambiar grupo:- Cambia el grupo de un archivo.
- Ejemplo:
chgrp grupo archivo.txt
Permisos de Archivos y Directorios
-
Lectura (
r):- Permite leer el contenido de un archivo o listar el contenido de un directorio.
-
Escritura (
w):- Permite modificar el contenido de un archivo o crear, renombrar y eliminar archivos en un directorio.
-
Ejecución (
x):- Permite ejecutar un archivo como un programa o acceder al contenido de un directorio.
-
ls -l- Listar permisos:- Lista los archivos en un directorio con detalles de permisos.
- Ejemplo:
ls -l - Salida típica:
-rwxr-xr-- 1 usuario grupo 1234 Jun 18 10:00 archivo.txt
-
chmod- Cambiar permisos:-
Cambia los permisos de un archivo utilizando modos simbólicos y numéricos.
-
Modo simbólico:
- Ejemplo:
chmod u+rwx,g+rx,o+r archivo.txt u: usuario (propietario)g: grupoo: otros+: añade permisos-: quita permisos=: establece permisos exactos
- Ejemplo:
-
Modo numérico:
- Ejemplo:
chmod 755 archivo.txt 755en binario:rwxr-xr-x(propietario:7=rwx, grupo:5=r-x, otros:5=r-x)
- Ejemplo:
-
Permisos Especiales
-
Setuid (Set User ID):
- Permite que un archivo ejecutable se ejecute con los permisos del propietario del archivo, no con los permisos del usuario que lo ejecuta.
- Ejemplo:
chmod u+s archivo
-
Setgid (Set Group ID):
- Permite que un archivo ejecutable se ejecute con los permisos del grupo del archivo, no con los permisos del usuario que lo ejecuta.
- Cuando se aplica a un directorio, los archivos creados dentro del directorio heredan el grupo del directorio.
- Ejemplo:
chmod g+s directorio
-
Sticky Bit:
- Cuando se aplica a un directorio, solo el propietario de un archivo dentro de ese directorio puede renombrar o eliminar el archivo, independientemente de los permisos del directorio.
- Comúnmente usado en directorios como
/tmp. - Ejemplo:
chmod +t directorio
Máscara de Creación de Archivos
-
Umask (User File Creation Mask):
- Determina los permisos predeterminados que se eliminan cuando se crea un nuevo archivo o directorio.
- La umask se substrae de los permisos máximos posibles (
666para archivos,777para directorios). - Ejemplo:
umask 022- Permisos resultantes para archivos:
644(rw-r--r--) - Permisos resultantes para directorios:
755(rwxr-xr-x)
- Permisos resultantes para archivos:
-
Visualización de Umask:
- Comando:
umask- Muestra la umask actual en formato octal
- Comando:
-
Modificación de Umask:
- Comando:
umask <valor> - Ejemplo:
umask 027- Configura la umask para eliminar permisos de escritura y ejecución para otros
- Comando:
Ejercicios de Permisos y Propiedades
Ejercicio 1: Propietarios y Grupos
1.1 Cambio de propietario
- Cambia el propietario de un archivo llamado
archivo.txta un usuario diferente.
1.2 Cambio de grupo
- Cambia el grupo de un archivo llamado
archivo.txta un grupo diferente.
Ejercicio 2: Permisos de Archivos y Directorios
2.1 Visualización de permisos
- Lista los archivos en un directorio con detalles de permisos.
2.2 Modificación de permisos (simbólico)
- Cambia los permisos de un archivo llamado
script.shpara que el propietario tenga permisos de lectura y escritura, el grupo tenga permisos de lectura y los demás no tengan permisos.
2.3 Modificación de permisos (numérico)
- Cambia los permisos de un archivo llamado
data.txta755.
Ejercicio 3: Permisos Especiales
3.1 Aplicación de Setuid
- Aplica el permiso Setuid a un archivo ejecutable llamado
programa.
3.2 Aplicación de Setgid
- Aplica el permiso Setgid a un directorio llamado
shared.
3.3 Aplicación de Sticky Bit
- Aplica el Sticky Bit a un directorio llamado
tmp.
Ejercicio 4: Máscara de Creación de Archivos
4.1 Visualización de umask
- Muestra la configuración actual de
umask.
4.2 Modificación de umask
- Cambia la máscara de creación de archivos a
027.
Ejercicios con soluciones para Permisos y Propiedades
Ejercicio 1: Propietarios y Grupos
1.1 Cambio de propietario
- Cambia el propietario de un archivo llamado
archivo.txta un usuario diferente. - Solución:
chown nuevo_usuario archivo.txt
1.2 Cambio de grupo
- Cambia el grupo de un archivo llamado
archivo.txta un grupo diferente. - Solución:
chgrp nuevo_grupo archivo.txt
Ejercicio 2: Permisos de Archivos y Directorios
2.1 Visualización de permisos
- Lista los archivos en un directorio con detalles de permisos.
- Solución:
ls -l
2.2 Modificación de permisos (simbólico)
- Cambia los permisos de un archivo llamado
script.shpara que el propietario tenga permisos de lectura y escritura, el grupo tenga permisos de lectura y los demás no tengan permisos. - Solución:
chmod u+rw,g+r,o-rwx script.sh
2.3 Modificación de permisos (numérico)
- Cambia los permisos de un archivo llamado
data.txta755. - Solución:
chmod 755 data.txt
Ejercicio 3: Permisos Especiales
3.1 Aplicación de Setuid
- Aplica el permiso Setuid a un archivo ejecutable llamado
programa. - Solución:
chmod u+s programa
3.2 Aplicación de Setgid
- Aplica el permiso Setgid a un directorio llamado
shared. - Solución:
chmod g+s shared
3.3 Aplicación de Sticky Bit
- Aplica el Sticky Bit a un directorio llamado
tmp. - Solución:
chmod +t tmp
Ejercicio 4: Máscara de Creación de Archivos
4.1 Visualización de umask
- Muestra la configuración actual de
umask. - Solución:
umask
4.2 Modificación de umask
- Cambia la máscara de creación de archivos a
027. - Solución:
umask 027