Linuxbehörigheter för systemadministratörer och utvecklare

Linuxbehörigheter för systemadministratörer och utvecklare

Linuxbehörigheter för systemadministratörer och utvecklare

Frågan om behörigheter i Linux och dess korrekta användning via kommandot "chmod" är något som mycket ofta exponeras och diskuteras i SL-gemenskaperna. av avancerade användare, tekniker och administratörer av servrar och system. Till exempel i vår blogg har vi 2 mycket bra publikationer om den, som är: Behörigheter och rättigheter i Linux (01/12) y Grundläggande behörigheter i GNU / Linux med chmod (08/16).

Men många gånger SW-utvecklare vem är de som skapar applikationerna och systemen, de flesta av dem system och webbplatser, När de utvecklar dem överväger de vanligtvis inte vilka rätt behörigheter som ska implementeras på democh lämnar uppgiften nästan alltid på servern och systemadministratörens sida. I denna publikation kommer vi att försöka ge lite orientering om det för dem.

Linux-behörigheter för DevOps / BDA: Introduktion

Inledning

Kommandot "chmod»Är mycket användbart och viktigt för avancerad användning av Linux-baserade operativsystem. Som sådan är "chmod" dock inte ett fristående paket utan är integrerat i "coreutils«. Paketet "coreutils" är ett paket som ger operativsystemet många grundläggande verktyg för filhantering, kommandotolkar och ordbehandling. Och i allmänhet är den redan installerad som standard i de flesta Linux Distros.

Specifikt innehåller detta paket, förutom kommandot "chmod", följande kommandon: arch base64 basnamn cat chcon chgrp chmod chown chroot cksum komm cp csplit klippdatum 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 mktemp mv nicec noh num 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 test test timeout touch tr true truncate tsort tty unameexpand uniq unlinkq användare vdir wc who whoami ja.

Sammanfattningsvis tillåter kommandot "chmod" den viktigaste uppgiften att hantera fil- och mappbehörigheter till alla användare som hanteras av operativsystemet. Detta beror på att Linux som operativsystem är fleranvändare och därför måste det ge arbetsmiljön ett behörighetssystem för att kontrollera uppsättningen av auktoriserade operationer på filer och kataloger, som inkluderar alla systemresurser och enheterna.

innehåll

Linux-behörigheter för SW / BD: Innehåll 1

Används för SW-utvecklare

En server- och systemadministratör (Sysadmin) när de bestämmer vilka behörigheter att ge en användare eller profil på X-nivå i X-fil eller mapp behöver veta exakt vilken typ av operationer eller processer de behöver utföra på dem. När det gäller en webbserver kan användare klassificeras i två typer:

  1. Administratörsanvändare: Som har ett användarkonto på servern för att logga in, har specifika behörigheter och som i allmänhet utför vissa ändringar (kopiera / radera / modifiera) i systemet eller webbplatsen installerad till exempel via SSH eller SFTP.
  2. Användare som inte är administratörer: Att de inte har ett användarkonto på servern, eftersom de bara är besökare på webbplatsen och webbsystemet. Och därför har de inte behörighet att komma åt filer och mappar direkt utan interagerar snarare med dem via webbplatsens webbgränssnitt eller det installerade webbsystemet.

Men när en Sysadmin inte får tillräckligt eller tillräckligt information, dokumentation eller support från SW Developers om funktionerna, funktionerna eller filstrukturen för de webbplatser och system som ska installeras slutar köra det pålitliga maximumet, vilket i det här fallet vanligtvis är:

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

Och många gånger slutar det med:

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

Linux-behörigheter för SW / BD: Innehåll 2

varning

Detta är vanligtvis en dålig praxis, men det undviks vanligtvis alla problem med tillstånd och dålig körning av de installerade webbplatserna och systemen. En dålig praxis, eftersom när kommandot chmod 777 körs på detta sätt i mappen och filerna på en webbplats eller ett webbsystem finns det ingen säkerhet alls om det.

Gör det möjligt för alla användare av webbplatsen eller webbsystemet online att ändra eller radera filer inom filstrukturen på webbplatsen eller webbsystemet inom webbservern eller bortom, utan större hinder. Eftersom det måste komma ihåg att det är webbservern som agerar för de besökande användarnas räkning, och att den kan ändra samma filer som körs.

Och om användaren är en angripare och får en viss sårbarhet på webbplatsen eller webbsystemet, kan han enkelt utnyttja den för att skada den, inaktivera den, eller ännu värre, sätt in skadlig kod för att utföra nätfiskeattacker eller stjäla information från servern utan att någon lätt vet.

Linux-behörigheter för SW / BD: Innehåll 3

Rekommendationer

För att undvika dessa typer av åtgärder, antingen Sysadmin eller SW Developer måste se till att mappar och filer på de olika systemen eller webbplatserna har rätt och nödvändiga behörigheter och användare för att undvika framtida säkerhets- och sekretessfrågor.

På behörighetsnivå kan följande 3 kommandon utföras för att återställa behörigheterna och användarna av ett installerat system eller en webbplats till det normala., det vill säga ställa in värdet 755 för alla kataloger och 644 för filer.

Kom ihåg att köra dem i mappen System eller Webbplats, eftersom om de körs i en högre mapp (katalog), som till exempel serverns rot, kommer kommandokommandona att rekursivt ändra alla serverns behörigheter och lämna den troligtvis inaktiv.

Linux-behörigheter för SW / BD: Innehåll 4

Behörigheter som tillämpas på mappar (kataloger)

Exempel

Kataloger och filbehörigheter

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

y

chmod 777 -R .

o

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

Om du befinner dig utanför mappen eller katalogen för systemet eller webbplatsen.

System- eller webbplatsanvändare

chown www-data:www-data -R .

o

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

Om du befinner dig utanför mappen eller katalogen för systemet eller webbplatsen. Och användaren www-data används bara som ett exempel, eftersom det är det mest använda eller lämpliga när det gäller användningen av Apache2.

Linux-behörigheter för SW / BD: Innehåll 5

Behörigheter som tillämpas på filer (filer)

När behörighetsändringarna har gjorts kan vi fortsätta att ändra behörigheterna för kataloger och filer som vi vill ha olika behörigheter manuellt. Och om det är nödvändigt att också byta ägare användare av de nödvändiga. Därför måste både Sysadmin och SW Developers vid denna tidpunkt komma överens om vilka nödvändiga behörigheter som ska vara för varje mapp och fil i system- eller webbplatsstrukturen.

Linux-behörigheter för SW / BD: Slutsats

Slutsats

Administrationen av behörigheterna för filerna och mapparna i Linux- eller UNIX-operativsystemen är en av de stora fördelarna och fördelarna med samma, eftersom de möjliggör en bättre, exakt och säker kontroll av olika åtkomstnivåer, utgåvor och körningar på filer och mappar.

Och mycket mer, när det gäller nivån på webbservrar, det vill säga där en organisations system eller interna och externa webbplatser är värd, eftersom det är en högre prioritet att veta vilka behörigheter som ska tilldelas varje katalog eller fil, för att uppnå bästa balans mellan sekretess, säkerhet och funktionalitet.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   polg28 sade

    God morgon hur mår du?
    Jag dabbar i Linux, jag har ett program som kan importera filer från det, användaren laddar upp en .zip som innehåller en mapp med xml-filer, efter att ha packat upp de filer de sätts in i databasen. I Windows har jag inga problem, när jag skickar applikationen till Linux skulle jag sakna några behörigheter, i princip för att testa allt jag har gjort vad de säger i den här artikeln och det borde inte göras haha ​​(men jag kommer att ändra när jag kan validera alla funktioner).
    Faktum är att filerna dekomprimeras men jag ser att de laddas ner endast med läs- och skrivbehörigheter för ägaren, läs för ägargruppen och utan behörighet för andra. När filerna ägs av användaren som använder programmet. Jag förstår att det inte går att följa processens normala flöde genom att inte ha exekveringsbehörigheterna och fortsätta att infoga xml i databasen. Till vilken kommer min fråga, hur kan jag ge behörighet till filer som jag inte har på systemet än? I mappen som laddas ner (tmp) har den alla behörigheter, de tillämpas på ett kursivt sätt men varje gång filer laddas ner i den mappen har de bara behörigheterna som nämns. Finns det något sätt att filerna som visas i den mappen också kan ha behörighet?
    Jag hoppas att jag har varit tydlig, tack så mycket i förväg och utmärkt blogg

  2.   Linux-postinstallation sade

    Jag antar att mappen / tmp eller ... / tmp har 755 behörigheter men ändå när användaren som äger applikationen sätter in dem lämnar han dem med andra behörigheter. Jag är inte utvecklare men antar att man på applikationsspråket eller någon annan skulle kunna indikera en rutin som kör kommandokommandot (bash) med nödvändiga behörigheter (chmod) och filens ägare (chown). Annars kan du köra ett skript varje minut det körs.