Objetivo:
Aprender a consultar el propietario y el grupo de un fichero, comprender por qué solo determinados usuarios pueden modificar estos datos, y aprender a utilizar los comandos chown y chgrp para cambiar el propietario y el grupo de ficheros y directorios en Linux.
Escenario:
- Herramientas: Terminal de Linux y un sistema Debian o basado en Debian.
- Conceptos clave: propietario, grupo, permisos, usuario root, privilegios de administrador,
chown,chgrp.
Instrucciones:
Fase 1: Consultar el propietario y el grupo de un fichero
- Abre una terminal y comprueba tu directorio de trabajo actual:
- Crea un fichero de prueba llamado
p1: - Lista el contenido del directorio con información detallada:
- Localiza en la salida las columnas correspondientes al propietario y al grupo del fichero
p1.
pwd
touch p1
ls -l
Fase 2: Creación de un usuario de prueba
- Para poder comprobar más adelante el efecto de cambiar el propietario, crea un nuevo usuario llamado
pruebautilizando privilegios de administrador: - Asigna una contraseña a este nuevo usuario:
- Comprueba que el usuario se ha creado correctamente consultando el fichero
/etc/passwd: - Localiza la línea correspondiente al usuario
pruebay observa su directorio personal.
sudo useradd -d /home/prueba -m prueba
sudo passwd prueba
cat /etc/passwd
Fase 3: Comprobación de permisos con el usuario de prueba
- Abre una nueva terminal e inicia sesión con el usuario
prueba(o utilizasu pruebadesde tu terminal actual). - Accede al directorio donde se encuentra el fichero
p1creado anteriormente. - Intenta modificar el fichero
p1: - Observa el mensaje de error que devuelve el sistema y anota su significado.
- Vuelve a tu usuario original.
touch p1
Fase 4: Cambio de propietario con chown
- Desde tu usuario, con privilegios de administrador, cambia el propietario del fichero
p1al usuarioprueba: - Comprueba el cambio:
- Verifica que ahora el propietario que aparece en la salida es
prueba. - Intenta modificar el fichero con tu usuario original:
- Observa qué ocurre y por qué.
- Cambia de nuevo a tu terminal o sesión del usuario
pruebae intenta modificar el fichero: - Comprueba que ahora sí es posible realizar la operación.
sudo chown prueba p1
ls -l p1
touch p1
touch p1
Fase 5: Cambio de grupo con chgrp
- Vuelve a tu usuario original y consulta de nuevo los datos del fichero:
- Cambia el grupo del fichero
p1al gruporootutilizando privilegios de administrador: - Comprueba el cambio:
- Verifica que el grupo mostrado ahora es
root, mientras que el propietario sigue siendoprueba.
ls -l p1
sudo chgrp root p1
ls -l p1
Preguntas de reflexión:
- ¿Qué información sobre un fichero puedes obtener mediante
ls -lrelacionada con la propiedad del mismo? - ¿Por qué no puede cualquier usuario cambiar el propietario de cualquier fichero del sistema?
- ¿Qué usuario tiene siempre permiso para cambiar el propietario o el grupo de un fichero?
- ¿Qué diferencia existe entre el comando
chowny el comandochgrp? - ¿Qué ocurrió cuando el usuario
pruebaintentó modificar un fichero antes de ser su propietario? - ¿Qué efecto tuvo el comando
sudo chown prueba p1sobre los permisos de acceso al fichero? - Después de cambiar el propietario de
p1, ¿por qué tu usuario original ya no pudo modificarlo? - ¿Es posible cambiar el propietario y el grupo de un fichero de forma independiente? Explica tu respuesta.
- ¿Para qué sirve el comando
useraddy qué indica la opción-d? - ¿Por qué ha sido necesario utilizar
sudopara ejecutarchownychgrp?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Qué información sobre un fichero puedes obtener mediante ls -l relacionada con la propiedad del mismo?
ls -l muestra, entre otros datos, el usuario propietario del fichero y el grupo al que pertenece, además de los permisos asociados.
2. ¿Por qué no puede cualquier usuario cambiar el propietario de cualquier fichero del sistema?
Permitir que cualquier usuario cambiase el propietario de cualquier fichero supondría un grave problema de seguridad, ya que se podría alterar el control de acceso a archivos ajenos. Solo se puede cambiar el propietario de los ficheros propios o de aquellos sobre los que se tienen permisos suficientes, o bien utilizando privilegios de administrador.
3. ¿Qué usuario tiene siempre permiso para cambiar el propietario o el grupo de un fichero?
El usuario root, el administrador del sistema, tiene permiso para realizar este tipo de operaciones sobre cualquier fichero.
4. ¿Qué diferencia existe entre el comando chown y el comando chgrp?
chown (change owner) cambia el propietario de un fichero o directorio, mientras que chgrp (change group) cambia el grupo al que pertenece.
5. ¿Qué ocurrió cuando el usuario prueba intentó modificar un fichero antes de ser su propietario?
El sistema devolvió un mensaje de permiso denegado, ya que el fichero pertenecía a otro usuario y el usuario prueba no disponía de los permisos necesarios para modificarlo.
6. ¿Qué efecto tuvo el comando sudo chown prueba p1 sobre los permisos de acceso al fichero?
Cambió el propietario del fichero p1 al usuario prueba, de modo que a partir de ese momento fue este usuario quien disponía de los permisos asociados al propietario, y no el usuario anterior.
7. Después de cambiar el propietario de p1, ¿por qué tu usuario original ya no pudo modificarlo?
Porque los permisos de propietario del fichero pasaron a aplicarse al nuevo propietario (prueba), por lo que el usuario original dejó de tener sobre el fichero los privilegios que tenía cuando era su propietario.
8. ¿Es posible cambiar el propietario y el grupo de un fichero de forma independiente?
Sí. chown permite cambiar únicamente el propietario y chgrp permite cambiar únicamente el grupo, de manera independiente el uno del otro.
9. ¿Para qué sirve el comando useradd y qué indica la opción -d?
useradd permite crear un nuevo usuario en el sistema. La opción -d indica el directorio personal (home) que se le asignará a ese usuario.
10. ¿Por qué ha sido necesario utilizar sudo para ejecutar chown y chgrp?
Porque cambiar el propietario o el grupo de un fichero es una operación que afecta al control de acceso del sistema, por lo que normalmente requiere privilegios de administrador para poder ejecutarse.
Ficha de Laboratorio: Cambio de propietario y grupo en Linux (chown / chgrp)
Instrucciones de entrega:
- Rellena los campos y responde en este formulario desde tu navegador.
- Pulsa el botón de imprimir al final de la página.
- Selecciona "Guardar como PDF" en el diálogo de impresión.
- Entrega el archivo PDF en el aula virtual.
Alumno/a: Fecha:
Grupo:
Completa la ficha realizando las siguientes actividades:
- Crea un fichero de prueba y consulta su propietario y grupo.
Escribe el comando para crear el ficherop1:
Escribe el comando para consultar el propietario y el grupo:
Copia aquí la salida obtenida en el terminal:
Indica cuál es el propietario y el grupo del fichero:
- Crea un usuario de prueba llamado
pruebay asígnale una contraseña.
Escribe el comando utilizado para crear el usuario:
Escribe el comando utilizado para asignarle una contraseña:
Explica para qué sirve la opción-den el comando de creación del usuario:
- Con el usuario
prueba, intenta modificar el ficherop1antes de tener permisos sobre él.
Escribe el comando utilizado en el intento:
Copia aquí el mensaje obtenido:
Explica por qué se produce ese mensaje:
- Cambia el propietario del fichero
p1al usuariopruebamediantechown.
Escribe el comando utilizado:
Copia aquí la salida dels -ltras el cambio:
Explica qué diferencia observas ahora al intentar modificar el fichero con cada uno de los dos usuarios:
- Cambia el grupo del fichero
p1al gruporootmediantechgrp.
Escribe el comando utilizado:
Copia aquí la salida dels -ltras el cambio:
Indica cuál es ahora el propietario y cuál es el grupo del fichero:
- Reflexiona sobre el uso de
sudoen esta práctica.
Indica en qué comandos has necesitado usarsudo:
Explica por qué ha sido necesario en esos casos: