El documento explica cómo administrar permisos de archivos y directorios en Ubuntu usando el comando chmod. Chmod permite asignar permisos de lectura, escritura y ejecución al propietario, grupo u otros usuarios usando números del 0 al 7 o letras. El documento también incluye una actividad práctica para crear directorios y archivos, modificar sus permisos de forma recursiva y probar la ejecución de archivos.
1. Taller- UBUNTU
Permisos de archivos y directorios
Ubuntu como otras distribuciones de Linux, tiene una variedad de opciones de configuración y
personalización, pero quizás uno de los elementos que más llama la atención es la capacidad de
asignar permisos y habilitar a un usuario para que solamente realice acciones sobre un archivo o
directorio con restricciones asignadas por el dueño del sistema.
“El comando que se emplea para administrar los permisos se conoce como chmod
y se aplica de igual forma tanto a los archivos como a los directorios. La
recursividad se consigue empleando el parámetro –R”.
La sintaxis del comando se puede representar de la siguiente manera.
chmod [parametros] XXX nomArchivo/nomDirectorio
Donde “Parámetros” especifican elementos que permiten modificar la ejecución del
comando “chmod”, por ejemplo –R, que se mencionó anteriormente. Las XXX representan
los permisos correspondientes al propietario, grupo, otros. Cada X puede tomar un valor
entre 0 y 7. La siguiente tabla permite establecer el significado de estos números y los
permisos asociados.
La presencia de un 1 significa que tiene el permiso, un 0 la negación del mismo.
Lectura Escritura Ejecución Valor
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
Por lo anterior podemos realizar la siguiente instrucción:
chmod 765 miArchivo
“Indica que el propietario tiene todos los permisos del archivo, que el grupo podrá leerlo
y escribirlo pero no ejecutarlo y que ‘otros’ solo podrán leerlo y ejecutarlo pero no escribir
sobre el archivo”.
2. Pero esta no es la única manera de modificar o asignar permisos sobre archivos y
directorios, también pueden ser empleadas las representaciones en letras del propietario,
grupo y otros, tanto para asignar la lectura, la escritura y la ejecución.
La siguiente tabla permite identificar las asignaciones con letras y su equivalente en
números.
Numero Letras Significado
0 --- Sin acceso
1 --x Ejecución
2 -w- Escritura
3 -wx Escritura y ejecución
4 r-- Lectura
5 r-x Lectura y ejecución
6 rw- Lectura y escritura
7 rwx Lectura/Escritura/Ejecución
Esta nueva clasificación permite el planteamiento de una nueva escritura como se presenta
a continuación.
chmod [ugo][+-][rwx] [nomArchivo]
Donde [ugo] representa:
u =User g=Group o= Others
Los modificadores [+ - =] Se emplea para adicionar o retirar permisos.
El = se emplea especificando un modo (sobre escribiendo el modo anterior).
Las [rwx] establecen los permisos de acuerdo a la tabla anterior.
Teniendo esta nueva nomenclatura es posible construir sentencias como las siguientes:
chmod g+w miArchivo Asigna permiso de escritura al grupo
chmod go+rx miArchivo Asigna permiso de lectura y ejecución al grupo y otros
chmod go-r miArchivo Retira permiso de lectura al grupo y otros
chmod go= miArchivo Retira todos los permisos de grupo y otros
3. Actividad
Situado en el home del usuario del sistema con el cual se ingresó a Ubuntu, realice las
siguientes actividades.
1-Cree un nuevo directorio llamado PRACTICA2
a) Al interior de este directorio cree dos nuevos llamados:
PROCESO1 PROCESO2
b) Dentro del directorio PROCESO1 cree dos archivos llamados:
PRACX1.TXT PRACX2.TXT
c) Copie los dos archivos al interior de PROCESO2 pero renómbrelos con el nombre
original seguido por la palabra “nuevo”.
d) Renombre los archivos del directorio PROCESO1 con el nombre original por la
palabra “antiguo”.
e) Retire todos los permisos del usuario sobre el directorio PROCESO1.
-Trate de ingresar al directorio. Qué ocurre?.
-Vuelva a asignarle al usuario, únicamente el permiso de lectura del directorio. Qué
ocurre?.
f) Cambie los permisos de los archivos al interior del directorio PROCESO2, solo
permitiendo al grupo y a otros leer y ejecutar pero no escribirlos.
g) Cambie el permiso del directorio PROCESO2 para que todos puedan escribir. Liste
el resultado , ocurrió algo en la forma de presentar el directorio?.
h) Nuevamente cambie los permisos de usuario, grupo y otros para el PROCESO2 de
manera recursiva. Emplee la notación de texto equivalente para 755. Ocurrió algún
cambio?.
2- Retorne al directorio HOME del usuario y cambio los permisos de manera recursiva del
directorio PRACTICA2, impidiendo que el usuario pueda escribir dentro del mismo.
a) Cree un nuevo directorio llamado PROCESO3 . Que ocurrió?.
b) Es necesario cambiar algún permiso para crear este nuevo directorio?.
c) Cambie el permiso del directorio PROCESO3 a 555.
d) Copie el contenido del directorio PROCESO2 a PROCESO3. Qué ocurre?.
e) Es necesario modificar algún permiso para completar el punto d?
4. Adicional:
Probando la ejecución de un archivo
Dentro del directorio PRACTICA2 teclee lo siguiente:
pico Listado.sh
Esto abrirá un editor de texto que permitirá ingresar el siguiente texto:
#!/bin/bash
echo “Inicio del listado”;
ls –l
echo “fin del listado”;
Finalizado esto se presiona ctrl + O para guardar y ctrl + X para salir.
Ahora es necesario dar autorización para ser ejecutado.
chmod +x Listado.sh
Cambio algo al ejecutar el comando “ls –l”?.
Ahora solo es necesario realizar el llamado al script generado, para lo cual se debe realizar
lo siguiente:
./Listado.sh
El resultado generado será el escrito dentro del script , el cuál generara un listado.