Las llamadas al sistema creat
y
open
admiten un parámetro entero en el que se
especifican los permisos con los que se crea un archivo. Una de las maneras
más cómodas de declararlos es mediante la representación
octal.
Los permisos se forman como un número de 9 bits, en el que cada bit
representa un permiso, tal y como se muestra en el cuadro (es el mismo orden
con el que aparecen cuando hacemos un ls
).
|
RWX
|
RWX
|
usuario
|
grupo
|
otros
|
Se toman los nueve permisos como tres números consecutivos de 3 bits cada uno. Un bit vale 1 si su permiso correspondiente está activado y 0 en caso contrario. Cada número se expresa en decimal, del 0 al 7, y los permisos quedan definidos como un número octal de tres dígitos. Para poner un número en octal en el lenguaje C, se escribe con un cero a la izquierda.
Por ejemplo, los permisos rw-r--r-x
son el número
octal 0645.
/* Crea un fichero con permisos RW-R--R-- */
int fd = creat ( "mi_fichero", 0644);