ok alla vamos ( aunque con un simple chmod --help conseguirias lo mismo )
chmod -R a+r /hda1:
-R - Recursive: es decir, que cambia los permisos a todos los archivos y directorios que se encuentre bajo hda1 (sin ese comando te encontrarias con que solo has conseguido acceso en modo lectura a la carpeta hda1.. el contenido seguiria sin cambiar los permisos...)
a+r: esto son tres cosas...
u,g,a : significa para quien van destinados los permisos usuario (u), grupo (g), todos (a de all)
- o - : + añade el permiso, luego - lo quita.
r,w,x: lectura (r de read), escritura (w de write), ejecucion (x de eXecute)
/hda1: el directorio en cuestion ( tb puede ser un archivo , evidentemente)
hay varios usos de chmod.. el siguiente que explico, el binario, con el mismo ejemplo
El binario:
chmod -R 100100100 /hda1
u g a
100 100 100
rwx rwx rwx
En fin.. creo que no tiene mucho que explicar simplemente es poner un 1 en el permiso que quieras activar. Este metodo.. a mi me parece un poco largo.. aunque asi te evitarias cometer cagadas de obviar permisos existentes en ciertos ficheros...
bien el siguiente metodo, el decimal, es el mas frecuente.. un termino medio entre los dos, ni tan largo, ni con problemas de obviar permisos en ciertos ficheros..
Bien si cojemos los valores anteriores:
u g a
100 100 100
rwx rwx rwx
y pasamos los grupos de binario a decimal, nos queda:
u g a
4 4 4
r r r
Entonces el comando quedaria asi:
chmod 444 /hda
Evidentemente puedes asignar mas de un permiso a la vez:
chmod -R a+rw /hda1 (lectura y escritura para todos)
chmod -R 110110110 /hda1 (idem, )
chmod -R 666 /hda1 (equal)
o asignar el mismo permisos a varios
chmod -R ug+r /hda1 ( asignaria permisos de lectura al usuario y grupo)
Nota: Si asignas permisos a todos, asignar permisos de usuario y grupo se vuelve innecesario. (pero el ejemplo.. es el ejemplo..