Als beginnende Linux-gebruiker leer je over de machtigingen en eigendom die aan het bestand en de mappen zijn gekoppeld. Met Linux/Unix-achtige besturingssystemen kunt u een combinatie van negen bits permissies instellen om te voorkomen dat andere gebruikers onnodige toegang tot bestanden/directory's krijgen. Vergelijkbaar met deze zijn speciale machtigingen voor uitvoerbare bestanden die bekend staan ​​als set UID, set GID en sticky bits.

Het begrijpen van speciale machtigingen kan een beetje overweldigend zijn voor aspirant-Linux-beheerders. Hier leert u wat achtergrondinformatie over de reguliere bestandsmachtigingen en legt u uit hoe ze verschillen van speciale machtigingen. We demonstreren ook SetID-, GetID- en sticky bits-functionaliteit met voorbeelden voor een uitgebreid begrip.

Reguliere Linux-bestandsmachtigingen

Linux gebruikt de chmod commando toewijzen/wijzigen lezen (r=4), schrijven (w=2), en voer uit (x=1) machtigingen voor bestanden en mappen. Dat wil zeggen, de negen hierboven genoemde bits zijn van toepassing op de drie hoofdcategorieën van machtigingsgroepen. De eerste drie zijn voor de gebruiker die eigenaar is van het bestand, de tweede set is voor de groep die aan het bestand/de map is toegewezen en de laatste drie vertegenwoordigen alle andere gebruikers.

instagram viewer

Een normaal bestand zal bijvoorbeeld alle soorten machtigingen voor alle categorieën gebruikers verschijnen als -rwxrwxrwx. Terwijl - ter vervanging van letters de afwezigheid van die toestemming vertegenwoordigen. nutsvoorzieningen chmod commando gebruikt cijfers en letters om de machtigingen als volgt te wijzigen:

sudo chmod 755 bestand #for rwxr-xr-x 
sudo chmod 644 bestand #for rw-r--r-- 
sudo chmod a-w bestand #for r-xr-xr-x 
sudo chmod a+x bestand #for --x--x--x

Speciale Linux-bestandsmachtigingen

De setuid bit staat voor toestemming voor een uitvoerbaar bestand dat door andere gebruikers kan worden uitgevoerd met toestemming van de eigenaar. Wanneer de gebruiker bijvoorbeeld max voert de opdracht vi uit als de gebruiker John, heb je de lees-/schrijfrechten van John.

Om bestanden met setuid te identificeren, gebruik de ls commando en zoek naar de s bit in plaats van het uitvoerbare bit x, als volgt.

UID-bit instellen

De setuid bit staat voor toestemming voor een uitvoerbaar bestand dat door andere gebruikers kan worden uitgevoerd met toestemming van de eigenaar. Wanneer de gebruiker bijvoorbeeld max voert de opdracht vi uit als de wortel, hij zal de lees-/schrijfrechten hebben van de wortel. Om bestanden met setuid te identificeren, gebruik de ls commando en zoek naar de s bit in plaats van het execute-bit x, als volgt:

ls -la /etc/passwd 
-rwsr-xr-x 1 root root 88464 14 december 12:46 passwd

Enkele andere voorbeelden zijn:

ls -la /bin/gpasswd
-rwsr-xr-x 1 root root 88464 14 juli 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 wortel wortel 67816 21 juli 2020 su
ls -la /newgrp
-rwsr-xr-x 1 wortel wortel 44784 14 juli 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 wortel wortel 166056 19 jan 2021 sudo

Gebruik de opdracht chmod als volgt om de setuid-bit voor uitvoerbare bestanden in te stellen:

chmod u+s /etc/passwd

Om de toestemming te verwijderen om de bestanden uit te voeren van niet-rootgebruikers of eigenaren:

chmod u-s /etc/passwd

GID-bit instellen

Zoals besproken, regelt de set uid-bit de bestandstoegang voor andere gebruikers, terwijl de setgid (GID)-bit gezamenlijke mappen creëert. Dat betekent dat elk bestand dat in die map is gemaakt, toegankelijk is voor de groep van de map. Daarom kunnen alle groepsleden uitvoerbare bestanden uitvoeren zonder de rechten van de eigenaar en worden ze beschermd tegen andere gebruikers.

Volg deze stappen om een ​​samenwerkingsmap in uw Linux-systeem te maken:

Maak een groep aan met de groepadd commando met groeps-ID 415 voor samenwerking:

groupadd -g 415 beheerders

Gebruik de opdracht usermod om toe te voegen Johnaan de groep voor bestandstoegang/-uitvoering.

usermod -aG beheerders john

Gebruik de mkdir commando om een ​​directory aan te maken:

mkdir /tmp/collaborative_dir

Gebruik de chgrp commando om de map toe te wijzen aan de beheerders groep:

chgrp admins /tmp/collaborative_dir

Gebruik de chmod commando om de directorymachtiging te wijzigen in 2775. De 2-bit zet de set gid aan, 7 om volledige rwx toe te wijzen aan de gebruiker en groep, terwijl 5 (r-w) voor anderen.

chmod 2775 /tmp/collaborative_dir

Wijzig ten slotte uw gebruikersaccount in John en maak een bestand aan in de samenwerkingsdirectory om de bestandsrechten te controleren.

su - john
raak /tmp/collaborative_dir/file.txt. aan

De opdracht su kan u een verificatiefout geven. Typ in dit geval de sudo su commando om over te schakelen naar de root en opnieuw uit te voeren su - john om het gebruikersaccount te wijzigen

Maak nu een lijst van de machtigingen om de GID-bit(s) te controleren die zijn ingesteld voor de map en het nieuw gemaakte bestand.

ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt 

In een typisch scenario wordt aan een bestand dat door john is gemaakt een groepsjohn toegewezen. Aangezien u het bestand in een ingestelde GID-bitdirectory maakt, wijst het machtigingen toe aan de beheerders groep, zodat iedereen die tot de groep behoort, de gebruiker leuk vindt chris, zal er toegang toe hebben.Verwant: Nieuwe bestanden maken op Linux met behulp van touch

Sticky Bits

In tegenstelling tot SID- en GID-bits, verschillen plakkerige bits in functionaliteit omdat het bestanden en mappen beschermt tegen hernoemen en verwijderen door andere gebruikers. Met reguliere bestandsrechten kan elke gebruiker met schrijftoegang het bestand verwijderen of hernoemen. Terwijl het met de sticky bit-set niet mogelijk is, tenzij je de rootgebruiker of eigenaar van het bestand bent.

Het ideale scenario voor het gebruik van plakkerige bits is de map die voor alle gebruikers toegankelijk is voor het maken van bestanden. Gebruik bijvoorbeeld de ls -ld commando om de. te controleren \tmp directory-machtigingen, als volgt:

Je kunt merken dat het plakkerige stukje t vervangt de execute bit x. Volg de gegeven instructies om een ​​beperkte verwijderingsmap te maken:

Maak nu een andere map in de /tmp map:

mkdir /tmp/nieuwe_dir

Wijzig de bestandsrechten in 1777 om de plakkerige bit in te stellen (t) en volledige directorytoegang:

chmod 1777 /tmp/nieuwe_dir

Kopieer nu een willekeurig bestand van de /etc map naar /tmp/new_dir en wijzig de machtigingen in 666:

cp /etc/ /tmp/nieuwe_map
chmod 666 /tmp/new_dir/services

Maak een lijst van de map en al zijn inhoud om machtigingen te bekijken:

ls -ld /tmp/new_dir /tmp/new_dir/services

Je kunt de sticky bit opmerken in plaats van de execute bit, wat betekent dat alleen de root of de gebruiker john het bestand kan verwijderen, aangezien het bestand zich in de sticky bit directory bevindt.

Speciale bestandsmachtigingen in Linux begrijpen

Het artikel laat zien hoe u deze bits kunt instellen om de samenwerking over gedeelde bestanden en mappen te verbeteren en ze te beschermen tegen ongeoorloofde toegang, uitvoering en verwijdering. Zelfs als je met deze bits geen bestanden/mappen maakt, is het in veel situaties handig om speciale bestandsrechten te begrijpen, vooral bij het oplossen van problemen of als systeembeheerder. Terwijl onverstandig gebruik van deze bits verschillende beveiligingsproblemen kan veroorzaken.

Bestandsmachtigingen behouden tijdens het kopiëren van bestanden in Linux

Wilt u bestandsrechten behouden terwijl u bestanden kopieert op Linux? Hier leest u hoe u dit doet met cp en rsync.

Lees volgende

DeelTweetenE-mail
Gerelateerde onderwerpen
  • Linux
  • Bestandsbeheer
  • Linux
Over de auteur
Rumaisa Niazi (3 artikelen gepubliceerd)

Rumaisa is freelance schrijver bij MUO. Ze heeft een lange weg afgelegd van een wiskundige tot een enthousiaste informatiebeveiliging en werkt als SOC-analist. Haar interesses omvatten lezen en schrijven over nieuwe technologieën, Linux-distributies en alles wat met informatiebeveiliging te maken heeft.

Meer van Rumaisa Niazi

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren