-->

Cambio de propietario y grupo en Linux (chown / chgrp)

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:
  • pwd
  • Crea un fichero de prueba llamado p1:
  • touch p1
  • Lista el contenido del directorio con información detallada:
  • ls -l
  • Localiza en la salida las columnas correspondientes al propietario y al grupo del fichero p1.

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 prueba utilizando privilegios de administrador:
  • sudo useradd -d /home/prueba -m prueba
  • Asigna una contraseña a este nuevo usuario:
  • sudo passwd prueba
  • Comprueba que el usuario se ha creado correctamente consultando el fichero /etc/passwd:
  • cat /etc/passwd
  • Localiza la línea correspondiente al usuario prueba y observa su directorio personal.

Fase 3: Comprobación de permisos con el usuario de prueba

  • Abre una nueva terminal e inicia sesión con el usuario prueba (o utiliza su prueba desde tu terminal actual).
  • Accede al directorio donde se encuentra el fichero p1 creado anteriormente.
  • Intenta modificar el fichero p1:
  • touch p1
  • Observa el mensaje de error que devuelve el sistema y anota su significado.
  • Vuelve a tu usuario original.

Fase 4: Cambio de propietario con chown

  • Desde tu usuario, con privilegios de administrador, cambia el propietario del fichero p1 al usuario prueba:
  • sudo chown prueba p1
  • Comprueba el cambio:
  • ls -l p1
  • Verifica que ahora el propietario que aparece en la salida es prueba.
  • Intenta modificar el fichero con tu usuario original:
  • touch p1
  • Observa qué ocurre y por qué.
  • Cambia de nuevo a tu terminal o sesión del usuario prueba e intenta modificar el fichero:
  • touch p1
  • Comprueba que ahora sí es posible realizar la operación.

Fase 5: Cambio de grupo con chgrp

  • Vuelve a tu usuario original y consulta de nuevo los datos del fichero:
  • ls -l p1
  • Cambia el grupo del fichero p1 al grupo root utilizando privilegios de administrador:
  • sudo chgrp root p1
  • Comprueba el cambio:
  • ls -l p1
  • Verifica que el grupo mostrado ahora es root, mientras que el propietario sigue siendo prueba.

Preguntas de reflexión:

  1. ¿Qué información sobre un fichero puedes obtener mediante ls -l relacionada con la propiedad del mismo?
  2. ¿Por qué no puede cualquier usuario cambiar el propietario de cualquier fichero del sistema?
  3. ¿Qué usuario tiene siempre permiso para cambiar el propietario o el grupo de un fichero?
  4. ¿Qué diferencia existe entre el comando chown y el comando chgrp?
  5. ¿Qué ocurrió cuando el usuario prueba intentó modificar un fichero antes de ser su propietario?
  6. ¿Qué efecto tuvo el comando sudo chown prueba p1 sobre los permisos de acceso al fichero?
  7. Después de cambiar el propietario de p1, ¿por qué tu usuario original ya no pudo modificarlo?
  8. ¿Es posible cambiar el propietario y el grupo de un fichero de forma independiente? Explica tu respuesta.
  9. ¿Para qué sirve el comando useradd y qué indica la opción -d?
  10. ¿Por qué ha sido necesario utilizar sudo para ejecutar chown y chgrp?
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:

  1. Rellena los campos y responde en este formulario desde tu navegador.
  2. Pulsa el botón de imprimir al final de la página.
  3. Selecciona "Guardar como PDF" en el diálogo de impresión.
  4. Entrega el archivo PDF en el aula virtual.

Alumno/a:      Fecha:      

Grupo:


Completa la ficha realizando las siguientes actividades:

  1. Crea un fichero de prueba y consulta su propietario y grupo.
    Escribe el comando para crear el fichero p1:

    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:
  2. Crea un usuario de prueba llamado prueba y 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 -d en el comando de creación del usuario:
  3. Con el usuario prueba, intenta modificar el fichero p1 antes de tener permisos sobre él.
    Escribe el comando utilizado en el intento:

    Copia aquí el mensaje obtenido:

    Explica por qué se produce ese mensaje:
  4. Cambia el propietario del fichero p1 al usuario prueba mediante chown.
    Escribe el comando utilizado:

    Copia aquí la salida de ls -l tras el cambio:

    Explica qué diferencia observas ahora al intentar modificar el fichero con cada uno de los dos usuarios:
  5. Cambia el grupo del fichero p1 al grupo root mediante chgrp.
    Escribe el comando utilizado:

    Copia aquí la salida de ls -l tras el cambio:

    Indica cuál es ahora el propietario y cuál es el grupo del fichero:
  6. Reflexiona sobre el uso de sudo en esta práctica.
    Indica en qué comandos has necesitado usar sudo:

    Explica por qué ha sido necesario en esos casos: