Está en la página 1de 4

Trabajo de laboratorio: Control de acceso a los archivos

En este trabajo de laboratorio, configura permisos en los archivos y configura un directorio que los
usuarios de un grupo particular pueden usar para compartir archivos en el sistema de archivos local.
Resultados
 Crear un directorio donde los usuarios puedan trabajar de forma conjunta en los archivos.
 Crear archivos que se asignan automáticamente a la propiedad del grupo.
 Crear archivos a los que no se pueda acceder fuera del grupo.
Con el usuario student en la máquina workstation, use el comando lab para preparar el
sistema para este ejercicio.
Este comando prepara su entorno y garantiza que estén disponibles todos los recursos requeridos.
[student@workstation ~]$ lab start perms-review

Instrucciones
1. Inicie sesión en serverb con el usuario student. Ejecute el comando sudo -i en el
prompt de shell para convertirse en el usuario root. Use student como contraseña del
usuario student.
[student@workstation ~]$ ssh student@serverb
...output omitted...
[student@serverb ~]$ sudo -i
[sudo] password for student: student
[root@serverb ~]#

• Cree un directorio /home/techdocs.

1. Use el comando mkdir para crear un directorio /home/techdocs.


[root@serverb ~]# mkdir /home/techdocs

• Cambie la propiedad del directorio /home/techdocs al grupo techdocs.

1. Use el comando chown para cambiar la propiedad del grupo para el directorio
/home/techdocs al grupo techdocs.
[root@serverb ~]# chown :techdocs /home/techdocs

• Verifique que los usuarios en el grupo techdocs no puedan crear archivos en el directorio
/home/techdocs.

1. Use el comando su para cambiar al usuario tech1.


[root@serverb ~]# su - tech1
[tech1@serverb ~]$

2. Cree un archivo techdoc1.txt en el directorio /home/techdocs. Este paso debería


fallar.
Si bien el directorio /home/techdocs es propiedad del grupo techdocs y tech1 es
parte del grupo techdocs, no es posible crear un archivo en ese directorio. La razón es
porque el grupo techdocs no tiene permiso de escritura.
[tech1@serverb ~]$ touch /home/techdocs/techdoc1.txt
touch: cannot touch '/home/techdocs/techdoc1.txt': Permission denied

3. Enumere los permisos del directorio.


[tech1@serverb ~]$ ls -ld /home/techdocs/
drwxr-xr-x. 2 root techdocs 6 Feb 5 16:05 /home/techdocs/

• Establezca permisos en el directorio /home/techdocs. En el directorio


/home/techdocs, configure setgid (2), permisos de lectura/escritura/ejecución (7)
para el propietario/usuario y grupo, y ningún permiso (0) para otros usuarios.
1. Salga de la shell del usuario tech1.
[tech1@serverb ~]$ exit
logout
[root@serverb ~]#

2. Establezca el permiso del grupo para el directorio /home/techdocs. Configure


setgid: permisos de lectura, escritura y ejecución para el propietario y el grupo, y ningún
permiso para otros usuarios.
[root@serverb ~]# chmod 2770 /home/techdocs

• Verifique que los permisos hayan sido establecidos correctamente.


El grupo techdocs ahora tiene permiso de escritura.
[root@serverb ~]# ls -ld /home/techdocs
drwxrws---. 2 root techdocs 6 Feb 4 18:12 /home/techdocs/

• Confirme que los usuarios en el grupo techdocs ahora pueden crear y editar archivos en
el directorio /home/techdocs. Los usuarios que no forman parte del grupo techdocs
no pueden editar ni crear archivos en el directorio /home/techdocs. Los usuarios
tech1 y tech2 están en el grupo techdocs. El usuario database1 no está en ese
grupo.
1. Cambie al usuario tech1. Cree un archivo techdoc1.txt en el directorio
/home/techdocs. Agregue texto al archivo /home/techdocs/techdoc1.txt.
Salga de la shell del usuario tech1.
[root@serverb ~]# su - tech1
[tech1@serverb ~]$ touch /home/techdocs/techdoc1.txt
[tech1@serverb ~]$ ls -l /home/techdocs/techdoc1.txt
-rw-r--r--. 1 tech1 techdocs 0 Feb 5 16:42 /home/techdocs/techdoc1.txt
[tech1@serverb ~]$ echo "This is the first tech doc." >
/home/techdocs/techdoc1.txt
[tech1@serverb ~]$ exit
logout
[root@serverb ~]#
2. Cambie al usuario tech2. Muestre el contenido del archivo
/home/techdocs/techdoc1.txt. Cree un archivo techdoc2.txt en el directorio
/home/techdocs. Salga de la shell del usuario tech2.
[root@serverb ~]# su - tech2
[tech2@serverb ~]$ cd /home/techdocs
[tech2@serverb techdocs]$ cat techdoc1.txt
This is the first tech doc.
[tech2@serverb techdocs]$ touch /home/techdocs/techdoc2.txt
[tech2@serverb techdocs]$ ls -l
total 4
-rw-r--r--. 1 tech1 techdocs 28 Feb 5 17:43 techdoc1.txt
-rw-r--r--. 1 tech2 techdocs 0 Feb 5 17:45 techdoc2.txt
[tech2@serverb techdocs]$ exit
logout
[root@serverb ~]#

3. Cambie al usuario database1. Muestre el contenido del archivo


/home/techdocs/techdoc1.txt. Recibe un mensaje Permission Denied.
Verifique que el usuario database1 no tenga acceso al archivo. Salga de la shell del
usuario database1.

Ingrese el siguiente comando largo echo en una sola línea:


[root@serverb ~]# su - database1
[database1@serverb ~]$ cat /home/techdocs/techdoc1.txt
cat: /home/techdocs/techdoc1.txt: Permission denied
[database1@serverb ~]$ ls -l /home/techdocs/techdoc1.txt
ls: cannot access '/home/techdocs/techdoc1.txt': Permission denied
[database1@serverb ~]$ exit
logout
[root@serverb ~]#

• Modifique el archivo /etc/login.defs para ajustar la máscara de usuario


predeterminada para las shells de inicio de sesión. Los usuarios normales deben tener una
configuración de umask que permita al usuario y al grupo crear, escribir y ejecutar archivos
y directorios, y evitar que otros usuarios vean, modifiquen o ejecuten nuevos archivos y
directorios.
1. Determine el umask del usuario student. Cambie a la shell de inicio de sesión student.
Salga de la shell cuando termine.
[root@serverb ~]# su - student
[student@serverb ~]$ umask
0022
[student@serverb ~]$ exit
logout
[root@serverb ~]#

2. Edite el archivo /etc/login.defs y establezca una máscara de usuario de 007. El


archivo /etc/login.defs ya contiene una definición de umask. Busque el archivo y
actualícelo con el valor adecuado.
[root@serverb ~]# cat /etc/login.defs
...output omitted...
UMASK 007
...output omitted...
3. Con el usuario student, verifique que el umask global cambie a 007.
[root@serverb ~]# exit
logout
[student@serverb ~]$ exit
logout
Connection to serverb closed.
[student@workstation ~]$ ssh student@serverb
...output omitted...
[student@serverb ~]$ umask
0007

4. Regrese al sistema workstation con el usuario student.


[student@serverb ~]$ exit
logout
Connection to serverb closed.
[student@workstation ~]$

Evaluación
Con el usuario student en la máquina workstation, use el comando lab para calificar su
trabajo. Corrija los errores informados y vuelva a ejecutar el comando hasta obtener un resultado
satisfactorio.
[student@workstation ~]$ lab grade perms-review

Finalizar
En la máquina workstation, cambie al directorio de inicio de usuario student y use el
comando lab para completar este ejercicio. Este paso es importante para garantizar que los
recursos de ejercicios anteriores no impacten en los siguientes.
[student@workstation ~]$ lab finish perms-review

Esto concluye la sección.

También podría gustarte