Filbehörigheter och ägarskap
Bemästra chmod, chown, sticky bit, SUID/SGID och hur behörigheter förhindrar obehörig åtkomst.
Filbehörigheter och ägarskap är en gratis lektion i Cyber Security Academy på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Cyber Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.
Varför behörigheter är viktiga
Filbehörigheter styr vem som kan läsa, skriva till eller köra en fil. Felaktigt konfigurerade behörigheter är en av de vanligaste orsakerna till rättighetseskalering och dataintrång.
Så tolkar du behörighetssträngen
När du kör ls -la visas en behörighetssträng på 10 tecken för varje fil, till exempel -rwxr-xr--. Dela upp den i: filtyp, ägarens behörigheter, gruppens behörigheter och övrigas behörigheter.
$ ls -la /etc/passwd
-rw-r--r-- 1 root root 2847 Jan 10 10:00 /etc/passwd
# - = regular file
# rw- = owner (root) can read+write
# r-- = group can read only
# r-- = others can read onlyNumeriska (oktal) behörigheter
Behörigheter kan också uttryckas som oktala tal: läsning=4, skrivning=2, körning=1. Addera värdena för varje kategori.
# rwxr-xr-- = 754
# rw-rw-r-- = 664 (world-readable, group-writable)
# rwx------ = 700 (private executable)Ändra behörigheter: chmod
Använd chmod för att ändra behörigheter. Du kan använda symboliskt läge (u+x) eller oktalt läge (755).
$ chmod 755 script.sh # rwxr-xr-x
$ chmod u+x script.sh # add execute for owner
$ chmod o-r secret.txt # remove read for others
$ chmod 600 id_rsa # SSH key: owner read/write onlyÄndra ägarskap: chown
Kommandot chown ändrar ägare och/eller grupp för en fil. Endast root kan ändra ägarskapet till en annan användare.
$ chown user:group file.txt
$ chown root:root /etc/shadow
$ chown -R www-data:www-data /var/www/html/Särskilda behörigheter: SUID, SGID och sticky bit
SUID (Set User ID) gör att en fil körs med ägarens behörigheter. SGID på kataloger innebär att nya filer ärver gruppen. Sticky bit förhindrar att andra än ägarna tar bort filer.
$ ls -la /usr/bin/passwd
-rwsr-xr-x 1 root root 68208 /usr/bin/passwd
# The "s" in owner execute position = SUID
# This runs as root regardless of who calls itHitta SUID-binärer (rättighetseskalering)
Angripare söker efter SUID-binärer för att eskalera sina rättigheter. Alla SUID-binärer med en känd sårbarhet eller felaktig användning kan ge root-åtkomst.
$ find / -perm -4000 -type f 2>/dev/null
/usr/bin/passwd
/usr/bin/sudo
/usr/bin/pkexec
/bin/mountFilen /etc/shadow
/etc/shadow lagrar hashade lösenord och kan endast läsas av root. Om du kan läsa filen kan du försöka knäcka hashvärdena offline med hashcat eller john.
$ ls -la /etc/shadow
-rw-r----- 1 root shadow 1423 Jan 10 /etc/shadow
# Only root and the shadow group can read thisumask: standardmask för behörigheter
Värdet för umask subtraheras från 666 (filer) eller 777 (kataloger) för att ange standardbehörigheter för nya filer. En umask på 022 innebär att nya filer får behörigheten 644.
$ umask
0022
$ touch newfile
$ ls -la newfile
-rw-r--r-- 1 user user 0 newfile # 666 - 022 = 644Access Control Lists (ACL)
ACL utökar den traditionella Unix-modellen för behörigheter och tillåter individuella användarbehörigheter utöver kombinationen ägare/grupp/övriga. Använd getfacl och setfacl.
$ getfacl /var/www/html/
# file: var/www/html/
# owner: root
# group: www-data
user::rwx
group::r-x
other::r-xOföränderliga filer: chattr
Kommandot chattr +i gör en fil oföränderlig — inte ens root kan ändra eller ta bort den. Rootkit använder detta för att skydda sina filer. Kontrollera med lsattr.
$ chattr +i /etc/passwd # make immutable
$ lsattr /etc/passwd
----i--------e-- /etc/passwd
$ chattr -i /etc/passwd # remove immutabilitySnabb kontroll
Vad tillåter behörigheten SUID?
Sammanfattning: filbehörigheter
Lär dig chmod, chown och att förstå SUID. I CTF:er och riktiga penetrationstester är felkonfigurerad SUID en av de vanligaste vägarna till root. Kontrollera alltid behörigheterna för känsliga filer.
Lär dig Cyber Security Academy med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 303
Vanliga frågor
Är lektionen ”Filbehörigheter och ägarskap” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Cyber Security Academy, inklusive ”Filbehörigheter och ägarskap”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Filbehörigheter och ägarskap”?
Bemästra chmod, chown, sticky bit, SUID/SGID och hur behörigheter förhindrar obehörig åtkomst. Ni övar på Cyber Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Cyber Security Academy?
Du behöver inga förkunskaper. Utbildningen i Cyber Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Filbehörigheter och ägarskap”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Cyber Security Academy-lektionen?
Ja. Varje Cyber Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Filbehörigheter och ägarskap
- Hantering av användare och grupper
- Härdning av SSH och nyckelbaserad autentisering
- Brandväggsregler med iptables och UFW