Trädvy Permalänk
Medlem
Registrerad
Apr 2016

umask

Hej! jag har lite problem att förstå hur umask fungerar.

jag ska skapa en fil som ska automatiskt ska få rättigheterna rw-rw-r-- och en katalog som ska ha rättigheterna rwxrwxr-x

om jag har förstått det rätt så ska jag använda umask 002

000 666 (rw-rw-rw-) 777 (rwxrwxrwx)
002 664 (rw-rw-r--) 775 (rwxrwxr-x)
022 644 (rw-r--r--) 755 (rwxr-xr-x)
027 640 (rw-r-----) 750 (rwxr-x---)
077 600 (rw-------) 700 (rwx------)
277 400 (r--------) 500 (r-x------)

men när jag kollar ls -l så visar den att rättigherna är rw-r--r-- för filer och rwxr-xr-x för kataloger..

känns logiskt att det ska bli rätt med 002 för att få rw-rw-r alltså 664-666=002 men det fungerar inte i praktiken

någon som är en stjärna på hur umask funkar?

Trädvy Permalänk
Medlem
Registrerad
Apr 2013

istället för att gör dig själv konfunderad om du kör på linux och *bsd så kör med symboler istället som för din önskade umask blir u=rwx,g=rx,o=rx vilket utläses som behåll alla på user(u) och behåll rx på group(g) och other(o)
Felet du gör är att du har en 3-siffrig mask som expanderad blir 0002 medan du troligen vill ha 0022 för att du glömmer extra biten för sticky m.m