Het heeft ermee te maken dat deze codes "octaal" zijn, oftwel base-8. Net zoiets als hexadecimaal dus. Ik heb ooit eens de hele logische uitleg gehad en altijd onthouden:
lezen: 4
schrijven: 2
uitvoeren: 1
En vervolgens kan je deze combineren:
lezen = 4 (r)
lezen + schrijven = 4 + 2 = 6 (rw)
lezen + schrijven + uitvoeren = 4 + 2 + 1 = 7 (rwx)
Als je dan nog weet dat de permissies voor zowel de eigenaar (u - user), de groep (g - group) en alle anderen (o - others) gezet kunnen worden (er zijn 3 "posities" voor elk van deze), dan is het verhaaltje compleet, bijv:
chmod 644 mijn.bestand
levert dus op (zie ls -l) rw-r--r--
en
chmod 755 mijn.bestand
rwxr-xr-x