Los permisos de cada fichero son la protección más básica de estos objetos del sistema operativo; definen quién puede acceder a cada uno de ellos, y de qué forma puede hacerlo.
Los permisos se dividen en tres ternas en función de a qué ususarios afectan; cada una de ellas indica la existencia o la ausencia de permiso para leer, escribir o ejecutar el fichero: una r indica un permiso de lectura, una w de escritura, una x de ejecución y un - indica que el permiso correspondiente no está activado. La primera terna afecta al propietario del fichero, la segunda al grupo del propietario cuando lo creó y la tecera al resto de usuarios.
El propietario y el grupo de un fichero se pueden modificar con las órdenes chown y chgrp respectivamente; ambas reciben como parámetros al menos el nombre de usuario o grupo (los nombres válidos de usuario son los que poseen una entrada /etc/passwd mientras que los grupos válidos se leen de /etc/group) al que vamos a otorgar la posesión del fichero, así como el nombre del archivo a modificar.
Para modificar los permisos de un archivo se utiliza la orden chmod. Este comando generalmente recibe como parámeytro el permiso en octal que queremos asignar a cierto fichero, así como el nombre del mismo.
Existe otra forma de trabajo de chmod denominada simbólica en la que no necesitamos indicar el valor octal de todo los bits, sino que especificamos únicamente parámetros para los valores de los permisos que el archivo posee y deseamos modificar. En lugar de utilizar el equivalente octal, utilizaremos símbolos que representan la activación o desactivación de ciertos biets en cada una de las tres ternas.
Esta foema de trabajo simbólica es menos utilizada en la práctica que la forma octal, pero en ciertas situaciones es muy útil, por ejemplo si deseamos activar todos los permisos de ejecución de un archivo o si queremos setuidarlos: un simble chmod +x o chmod u+s es suficiente y evitamos preocuparnos por si modificamos el resto de permisos.