Linux-machtigingen voor systeembeheerders en ontwikkelaars

Linux-machtigingen voor systeembeheerders en ontwikkelaars

Linux-machtigingen voor systeembeheerders en ontwikkelaars

De kwestie van machtigingen in Linux en het juiste gebruik ervan via het "chmod" -commando is iets dat heel vaak wordt blootgelegd en besproken in de SL-gemeenschappen door geavanceerde gebruikers, technici en beheerders van servers en systemen. In onze blog hebben we er bijvoorbeeld 2 zeer goede publicaties over, namelijk: Machtigingen en rechten in Linux (01/12) y Basisrechten in GNU / Linux met chmod (08/16).

Maar vaak SW-ontwikkelaars wie zijn degenen die de applicaties en systemen maken, de meeste van hen systemen en websites, bij het ontwikkelen ervan houden ze meestal niet rekening met de juiste rechten om erop te implementeren, waardoor de taak bijna altijd aan de kant van de server en systeembeheerders blijft. In deze publicatie zullen we proberen hen in dit verband een beetje houvast te geven.

Linux-machtigingen voor DevOps / BDA: introductie

Introducción

Het bevel "chmod»Is erg handig en belangrijk voor geavanceerd gebruik van op Linux gebaseerde besturingssystemen. Als zodanig is "chmod" echter geen op zichzelf staand pakket, maar is het geïntegreerd in het pakket "kernutils«. Het "coreutils" -pakket is een pakket dat het besturingssysteem voorziet van veel basishulpmiddelen voor bestandsbeheer, opdrachtinterpreters en tekstverwerking. En over het algemeen is het al standaard geïnstalleerd in de meeste Linux Distros.

Concreet bevat dit pakket, naast het "chmod" commando, de volgende commando's: arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false flock fmt fold groups head hostid id install join link ln logname ls md5sum mkdir mkfifo mknod mkfifo mknod mkfif no mkn numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha * sum seq shred sleep sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname uname uniq unlink gebruikers vdir wc wie whoami ja.

Samenvattend laat het commando «chmod» de zeer belangrijke taak toe om de rechten op bestanden en mappen te beheren voor alle gebruikers die beheerd worden door het besturingssysteem. Dit komt doordat Linux als besturingssysteem meerdere gebruikers heeft en daarom de werkomgeving een machtigingssysteem moet bieden om de reeks geautoriseerde bewerkingen op bestanden en mappen te beheren, die alle systeembronnen en de apparaten omvat.

inhoud

Linux-machtigingen voor SW / BD: inhoud 1

Gebruik voor softwareontwikkelaars

Een server- en systeembeheerder (Sysadmin) moet bij het beslissen welke machtigingen een X-niveau of profielgebruiker voor X-bestand of map verlenen, precies weten wat voor soort bewerkingen of processen ze erop moeten uitvoeren. In het geval van een webserver kunnen gebruikers worden ingedeeld in 2 typen:

  1. Admin-gebruikers: Die een gebruikersaccount op de server hebben om in te loggen, specifieke rechten hebben en die over het algemeen bepaalde wijzigingen (kopiëren / verwijderen / wijzigen) uitvoeren in het systeem of de website die is geïnstalleerd via bijvoorbeeld SSH of SFTP.
  2. Gebruikers die geen beheerder zijn: Dat ze geen gebruikersaccount op de server hebben, aangezien ze alleen bezoekers zijn van de site en het websysteem. En daarom hebben ze geen rechten om rechtstreeks toegang te krijgen tot bestanden en mappen, maar hebben ze eerder interactie met hen, via de webinterface van de site of het geïnstalleerde websysteem.

Als een sysadmin echter niet genoeg of onvoldoende ontvangt informatie, documentatie of ondersteuning door SW-ontwikkelaars over de mogelijkheden, functionaliteiten of bestandsstructuur van de websites en systemen die moeten worden geïnstalleerd voert uiteindelijk het betrouwbare maximum uit, dat in dit geval meestal is:

chmod 777 -R /var/www/sistema-web

En vaak eindigt het met:

chown root:root -R /var/www/sistema-web

Linux-machtigingen voor SW / BD: inhoud 2

waarschuwing

Dit is gewoonlijk een slechte gewoonte, maar het vermijdt gewoonlijk elk probleem van toestemming en slechte uitvoering van de geïnstalleerde websites en systemen. Een slechte gewoonte, want wanneer het commando chmod 777 op deze manier wordt uitgevoerd op de map en bestanden van een site of websysteem, is er helemaal geen beveiliging.

Het voor elke gebruiker van de site of het websysteem mogelijk maken om elk bestand binnen de bestandsstructuur van de site of het websysteem binnen de webserver of daarbuiten te wijzigen of te verwijderen, zonder grote obstakels. Er moet aan worden herinnerd dat het de webserver is die optreedt namens de bezoekende gebruikers en dat deze dezelfde bestanden kan wijzigen die worden uitgevoerd.

En in het geval dat de gebruiker een aanvaller is en een kwetsbaarheid op de site of het websysteem krijgt, kan hij deze gemakkelijk misbruiken om deze te beschadigen en deze uitschakelen, of erger nog: voeg kwaadaardige code in om phishing-aanvallen uit te voeren of om informatie van de server te stelen zonder dat iemand het gemakkelijk weet.

Linux-machtigingen voor SW / BD: inhoud 3

Aanbevelingen

Om dit soort maatregelen ook te vermijden De systeembeheerder of de softwareontwikkelaar moet ervoor zorgen dat de mappen en bestanden van de verschillende systemen of websites de juiste en noodzakelijke machtigingen hebben en dat gebruikers om toekomstige beveiligings- en privacyproblemen te voorkomen.

Op het machtigingsniveau kunnen de volgende 3 opdrachten worden uitgevoerd om de machtigingen en gebruikers van een geïnstalleerd systeem of website naar normaal te herstellen., dat wil zeggen, stel de waarde 755 in op alle mappen en 644 op bestanden.

Denk er altijd aan om ze uit te voeren in de map Systeem of Website, aangezien als ze worden uitgevoerd in een hogere map (directory), zoals bijvoorbeeld de root van de server, de commandocommando's recursief alle machtigingen van de server zullen wijzigen, waardoor deze hoogstwaarschijnlijk niet werkt.

Linux-machtigingen voor SW / BD: inhoud 4

Machtigingen toegepast op mappen (directories)

Voorbeelden

Machtigingen voor mappen en bestanden

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

y

chmod 777 -R .

o

chmod 777 -R /var/www/sistema-web

In het geval dat u zich buiten de map (directory) van het systeem of de website bevindt.

Systeem- of websitegebruikers

chown www-data:www-data -R .

o

chown www-data:www-data -R /var/www/sistema-web

In het geval dat u zich buiten de map (directory) van het systeem of de website bevindt. En de gebruiker www-data wordt alleen als voorbeeld gebruikt, aangezien dit het meest gebruikt of geschikt is voor zover het het gebruik van Apache2 betreft.

Linux-machtigingen voor SW / BD: inhoud 5

Machtigingen toegepast op bestanden (bestanden)

Nadat de machtigingswijzigingen zijn aangebracht, kunnen we doorgaan met het handmatig wijzigen van de machtigingen van de mappen en bestanden waarvoor we verschillende machtigingen willen hebben. En indien nodig, verander de eigenaarsgebruikers evenals de noodzakelijke gebruikers. Daarom moeten op dit punt zowel de sysadmin als de software-ontwikkelaars het eens worden over de benodigde machtigingen voor elke map en elk bestand in de systeem- of websitestructuur.

Linux-machtigingen voor SW / BD: conclusie

Conclusie

Het beheer van de rechten op de bestanden en mappen van de Linux- of UNIX-besturingssystemen is een van de grote voordelen en voordelen van hetzelfde, aangezien ze een betere, precieze en veilige controle mogelijk maken van de verschillende niveaus van toegang, bewerking en uitvoering van de bestanden en mappen.

En nog veel meer, als het gaat om het niveau van webservers, dat wil zeggen waar de systemen of interne en externe websites van een organisatie worden gehost, omdat het een hogere prioriteit heeft om te weten welke machtigingen aan elke map of bestand moeten worden toegewezen, om de beste balans tussen privacy, beveiliging en functionaliteit te bereiken.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   polg28 zei

    Goedemorgen, hoe gaat het?
    Ik ben bezig met linux, ik heb een applicatie die er bestanden uit kan importeren, de gebruiker uploadt een .zip met een map met xml-bestanden, na het uitpakken van de bestanden die ze in de database zijn ingevoegd. In windows heb ik geen problemen, bij het doorgeven van de applicatie aan linux zou ik wat permissies missen, in principe om alles te testen wat ik heb gedaan wat ze in dit artikel zeggen en het zou niet moeten gebeuren haha ​​(maar dat zal ik veranderen zodra ik alle functionaliteiten kan valideren) .
    Het feit is dat de bestanden worden uitgepakt, maar ik zie dat ze alleen worden gedownload met lees- en schrijfrechten voor de eigenaar, lezen voor de eigenaarsgroep en zonder toestemming voor anderen. Wanneer de bestanden eigendom zijn van de gebruiker die de applicatie gebruikt. Ik begrijp dat door niet over de uitvoeringsrechten te beschikken, het niet in staat is om de normale stroom van het proces te volgen en door te gaan met het invoegen van de xml in de database. Waarop mijn vraag komt, hoe kan ik machtigingen geven aan bestanden die ik nog niet op het systeem heb? In de map die wordt gedownload (tmp) heeft het alle machtigingen, ze worden opnieuw cursief toegepast, maar elke keer dat bestanden binnen die map worden gedownload, hebben ze alleen de vermelde machtigingen. Is er een manier waarop de bestanden die in die map verschijnen ook uitvoerrechten kunnen krijgen?
    Ik hoop dat ik duidelijk ben geweest, bij voorbaat hartelijk dank en een uitstekende blog

  2.   Linux na installatie zei

    Ik neem aan dat de map / tmp of… / tmp 755 permissies heeft, maar zelfs als de gebruiker die de applicatie bezit deze deponeert, laat hij ze achter met andere permissies. Ik ben geen ontwikkelaar, maar ik neem aan dat men in de taal van de applicatie of een andere een routine zou kunnen aangeven die het commando commando (bash) van de noodzakelijke permissies (chmod) en de eigenaar van de bestanden (chown) uitvoert. Anders zou u elke minuut een script kunnen uitvoeren.