Ahora voy a pasar a explicarlo de una manera sencilla y didáctica para que se entienda.
Antencedentes
Primero: En Debian (y las demás distribuciones en general) existen usuarios y administrador. Los usuarios suelen ser dueños de sus carpetas y archivos dentro de su carpeta personal dentro del /home. Esto quiere decir que el usuario tiene permisos totales sobre sus archivos creados.
Segundo: También existen grupos a los cuales pertenecen los usuarios con la finalidad de abarcar a usuarios con las similares características. Por ejemplo, dentro de una empresa existe el Dpto de Contabilidad, Finanzas, Presupuestos, Logística, RR.HH, etc, y dentro de cada área usuarios que comparten información que no necesariamente la debe saber la otra área.
Tercero:Todos tienen información sensible que no debería estar en las pc's de cada uno de ellos, sino centralizada en un servidor y que, mediante las reglas de permisos de grupos y usuarios, deberían estar protegidas para que no caiga o sea leída por personas ajenas y solo sean accedidas por los usuarios correspondientes.
Desarrollo
Para poder entender esto debemos tener bien claro los sgtes conceptos: Escritura, Lectura, Ejecución, Propietario, Grupo, Otros.
Manos a la obra: Para entender coloquemos un gráfico:
En Linux los permisos se manejan por propietario, por grupo y por aquellos que no son propietarios y no pertenecen al grupo, pudiendo tener ellos permisos de lectura, escritura, ejecución o ninguno de éstos.
Para este siguiente punto veamos el sgte gráfico:
De aquí se desprenden todos los posibles permisos que tendría un archivo o directorio.
Los permisos se representan en códigos numéricos tanto para el propietario como para los miembros del grupo al que pertenece el archivo y/o directorio y para aquellos externos a los anteriores mencionados.
Por ejemplo:
y así todas las combinaciones posibles.
Comandos chmod y chown
chown: Con este comando cambiamos el propietario y el grupo al que pertenece al archivo y/o directorio que estamos manipulando.
- Creamos un archivo
# touch file.txt ; El file.txt creado tendrá como propietario y grupo principal a root (fíjense que estamos en el promt del superusuario root)
# chown pipux:sistemas file.txt ; Con ésto cambiamos de propietario al archivo file.txt; antes pertenecía a root y ahora pertenece al usuario pipux y al grupo sistemas
chmod: Con este comando se asignan los permisos al archivo y/o directorio que queremos manipular. Por ejemplo:
# chmod 640 file.txt ; con esto digo que el propietario puede modificar el file.txt; los miembros del grupo solo pueden leerlo y el resto de usuarios no pueden acceder de ninguna manera al contenido de file.txt
Fuente: Mis propias experiencias