Om du har använt Linux hur länge som helst, skulle du veta hur viktiga Linux-filbehörigheter är. Men hur är det med behörigheter när du skapar nya filer? Ett verktyg som heter umask låter dig ställa in standardfilbehörigheter för nya filer på Linux.
Vad är umask?
En umask är en "bitmask" som sätter behörighetsbitar på nya filer. På Linux-system är det ett fristående kommando, även om moderna skal som Bash eller Zsh inkluderar det som ett inbyggt kommando.
En umask definierar vilka behörigheter som kommer att tas bort för nya filer. Den använder det numeriska oktala behörighetssystemet liknande det för kommandot chmod. Du kan tänka på en umask som att subtrahera behörigheter från vissa klasser av användare på nya filer.
En vanlig standard umask är 022. Detta lämnar behörigheterna för filens ägare ensamma samtidigt som skrivbehörigheter tas bort för gruppmedlemmar och andra användare.
En umask är viktigare på fleranvändarsystem som servrar, eftersom det hjälper till att hålla systemet säkert genom att begränsa behörigheter för nya filer som standard. Om en administratör skapar en ny fil som root vill du inte att vanliga användare ska kunna skriva till den.
För att se aktuell umask, skriv umask vid skalet. Du kan se det symboliskt med -S alternativ.
umask -S
Ställa in umask för en användare
Du kan ställa in en umask för en session med kommandot umask:
umask 022
Du kan lägga detta i din skalstartfil, som din .bashrc eller .zshrc, beroende på vilket skal du använder.
Ställa in en systemomfattande umask
Om du kör en server för flera användare är det en bra idé att ställa in en bra umask för hela systemet. Du kan göra detta genom att sätta en umask-inställning i de globala skalstartfilerna för alla skal installerade på systemet.
Du kan till exempel sätta in umask-inställningen /etc/profile, eftersom detta kommer att läsas av både Bash och Zsh vid uppstart. csh och tcsh läser /etc/csh.cshrc och /etc/csh.login filer, med det senare för inloggningsskal.
Nu har du rätt behörigheter för nya Linux-filer
Med umask kan du nu se till att du har rätt behörigheter för nya filer på systemet. Men det räcker inte långt. Om du vill ha större säkerhet kanske du vill lösenordsskydda vissa filer på Linux. Det finns flera sätt att göra detta, och de är lätta att implementera.