Linux-engedélyek rendszergazdáknak és fejlesztőknek

Linux-engedélyek rendszergazdáknak és fejlesztőknek

Linux-engedélyek rendszergazdáknak és fejlesztőknek

Az engedélyek kérdése a Linuxban és annak helyes használata a "chmod" paranccsal nagyon gyakran kitett és tárgyalt az SL Közösségek területén A szerverek és rendszerek haladó felhasználói, technikusai és rendszergazdái. Például a blogunkban van 2 nagyon jó publikáció róla, amelyek a következők: Engedélyek és jogok Linux alatt (01/12) y Alapvető engedélyek GNU / Linux-ban chmod-tal (08/16).

De sokszor SW fejlesztők kik készítik az alkalmazásokat és rendszereket, többségükben rendszereket és weboldalakat, Fejlesztésükkor általában nem veszik figyelembe, hogy melyik jogosultságokat kell rájuk alkalmazni, majdnem mindig a szerver és a rendszergazdák oldalán hagyja a feladatot. Ebben a kiadványban megpróbálunk egy kis útmutatást adni ezzel kapcsolatban számukra.

Linux engedélyek a DevOps / BDA számára: Bevezetés

Bevezetés

A parancs "chmod»Nagyon hasznos és fontos a Linux alapú operációs rendszerek fejlett használatához. Mivel azonban a "chmod" nem önálló csomag, hanem integrálva van a csomagba "coreutils«. A "coreutils" csomag egy olyan csomag, amely számos alapvető eszközt biztosít az operációs rendszer számára a fájlkezeléshez, a parancsértelmezőkhöz és a szövegszerkesztéshez. És általában már alapértelmezés szerint telepítve van a legtöbb Linux Distros-ba.

Pontosabban, ez a csomag a "chmod" parancs mellett a következő parancsokat tartalmazza: 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 csoportok head hostid id install link link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nicecmoh od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha * sum seq shred sleep sort sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname expandand uniq unlink users users vdir wc who whoami yes.

Összefoglalva, a "chmod" parancs lehetővé teszi a fájlok és mappák engedélyeinek kezelését az operációs rendszer által kezelt összes felhasználó számára. Ennek oka, hogy a Linux mint operációs rendszer többfelhasználós, ezért a munkakörnyezetnek engedélyezési rendszert kell biztosítania a fájlok és könyvtárak engedélyezett műveleteinek vezérléséhez, amely magában foglalja az összes rendszererőforrást és eszközt.

tartalom

Linux engedélyek SW / BD-hez: 1. tartalom

Használja SW fejlesztőknek

A kiszolgáló és rendszergazdának (Sysadmin) annak eldöntésekor, hogy milyen jogosultságokat adjon az X szintű felhasználónak vagy profilnak az X fájlban vagy mappában, pontosan tudnia kell, hogy milyen típusú műveleteket vagy folyamatokat kell végrehajtania rajtuk. Webkiszolgáló esetén a felhasználókat 2 típusba sorolhatjuk:

  1. Rendszergazda felhasználók: Akiknek van egy felhasználói fiókjuk a szerveren a bejelentkezéshez, rendelkeznek bizonyos jogosultságokkal, és akik általában végrehajtanak bizonyos módosításokat (másolás / törlés / módosítás) a rendszerben vagy a webhelyen, például SSH vagy SFTP segítségével telepítve.
  2. Nem rendszergazdai felhasználók: Hogy nincs felhasználói fiókjuk a szerveren, mivel ők csak a Webhely és a Web Rendszer látogatói. Ezért nincsenek engedélyeik a fájlok és mappák közvetlen elérésére, hanem inkább kölcsönhatásba lépnek velük a Webhely felületén vagy a telepített webrendszeren keresztül.

Amikor azonban a Sysadmin nem kap elég vagy megfelelő összeget az SW Developers által nyújtott információk, dokumentáció vagy támogatás a telepítendő webhelyek és rendszerek képességeiről, funkcióiról vagy fájlszerkezetéről végül a megbízható maximumot hajtja végre, amely ebben az esetben általában:

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

És sokszor a vége:

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

Linux engedélyek SW / BD-hez: 2. tartalom

Figyelmeztetés

Ez általában rossz gyakorlat, de általában elkerüli az engedélyek problémáját és a telepített webhelyek és rendszerek rossz végrehajtását. Rossz gyakorlat, mivel amikor a chmod 777 parancsot ilyen módon hajtják végre egy webhely vagy webrendszer mappáján és fájljain, egyáltalán nincs biztonság.

Lehetővé teszi a Webhely vagy a Web Rendszer bármely online felhasználójának, hogy minden akadály nélkül megváltoztathassa vagy törölje a Webhely vagy webrendszer fájlstruktúrájában található fájlokat a Web szerveren vagy azon kívül. Mivel nem szabad elfelejteni, hogy a webkiszolgáló jár el a látogató felhasználók nevében, és képes megváltoztatni ugyanazokat a fájlokat, amelyeket éppen futtatnak.

És ha a felhasználó támadó, és valamilyen sebezhetőséget észlel a webhelyen vagy a webrendszerben, akkor könnyen kihasználhatja azt annak kiküszöbölésére, letiltására, vagy ami még rosszabb, helyezzen be rosszindulatú kódot az adathalász támadások végrehajtásához, vagy ellopjon információkat a szerverről anélkül, hogy bárki könnyen tudná.

Linux engedélyek SW / BD-hez: 3. tartalom

Ajánlások

Az ilyen típusú intézkedések elkerülése érdekében sem A Sysadmin-nek vagy az SW-fejlesztőnek biztosítania kell, hogy a különféle rendszerek vagy webhelyek mappái és fájljai megfelelő és szükséges engedélyekkel és felhasználókkal rendelkezzenek a jövőbeni biztonsági és adatvédelmi kérdések elkerülése érdekében.

Az engedély szintjén a következő 3 parancs hajtható végre egy telepített rendszer vagy webhely engedélyeinek és felhasználóinak normál helyreállításához.Más szóval, állítsa a 755 értéket az összes könyvtárra, a 644 értéket pedig a fájlokra.

Mindig ne felejtsd el végrehajtani őket a Rendszer vagy a Webhely mappában, mivel ha egy magasabb mappában (könyvtárban) hajtják végre őket, például a kiszolgáló gyökérkönyvtárában, akkor a parancsparancsok rekurzívan módosítják a Szerver összes engedélyét, így valószínűleg nem működnek.

Linux engedélyek SW / BD-hez: 4. tartalom

A mappákra (könyvtárakra) alkalmazott engedélyek

Példák

Könyvtárak és fájlok engedélyei

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

y

chmod 777 -R .

o

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

Ha a rendszer vagy a weboldal mappáján (könyvtárán) kívül tartózkodik.

Rendszer- vagy webhelyfelhasználók

chown www-data:www-data -R .

o

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

Ha a rendszer vagy a weboldal mappáján (könyvtárán) kívül tartózkodik. A felhasználói www-adatokat pedig csak példaként használják, mivel az Apache2 használatát tekintve a leginkább használt vagy megfelelő.

Linux engedélyek SW / BD-hez: 5. tartalom

A fájlokra (fájlokra) alkalmazott engedélyek

Miután elvégezték az engedélyek módosítását, folytathatja azoknak a könyvtáraknak és fájloknak a jogosultságait, amelyeknek manuálisan külön engedélyekkel kell rendelkeznie. És ha szükséges a szükséges felhasználók tulajdonosainak megváltoztatása is. Ezért ezen a ponton mind a Sysadmin-nek, mind az SW-fejlesztőknek meg kell állapodniuk arról, hogy a Rendszer vagy Webhely struktúra egyes mappáihoz és fájljaihoz mi szükséges.

Linux engedélyek az SW / BD-hez: Következtetés

Következtetés

A Linux vagy UNIX operációs rendszerek fájljaira és mappáira vonatkozó engedélyek kezelése az egyik nagy előnye és előnye, mivel ezek lehetővé teszik a fájlok és mappák hozzáférésének, kiadásának és végrehajtásának különböző szintjeinek jobb, pontos és biztonságos ellenőrzését.

És még sok más, ha a webkiszolgálók szintjéről van szó, vagyis arról, hogy hol találhatók a szervezet rendszerei, illetve egy szervezet belső és külső webhelyei, mivel az adatvédelem, a biztonság és a funkcionalitás közötti legjobb egyensúly elérése érdekében kiemelt fontosságú tudni, hogy milyen engedélyeket kell rendelni az egyes könyvtárakhoz vagy fájlokhoz.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Polgár 28 dijo

    Jó reggelt hogy vagy?
    A linuxban dappolok, van egy alkalmazásom, amely fájlokat tud importálni belőle, a felhasználó feltölti az xml fájlokat tartalmazó mappát tartalmazó .zip fájlt, miután kibontotta az adatbázisba beillesztett fájlokat. A Windows-ban nincsenek problémáim, amikor az alkalmazást átadom a linuxnak, hiányoznának bizonyos engedélyek, elvileg tesztelni mindent, amit tettem, amit ebben a cikkben mondanak, és nem szabad megtenni haha ​​(de megváltozom, ha egyszer érvényesítheti az összes funkciót).
    Az a tény, hogy a fájlok tömörítve vannak, de úgy látom, hogy csak olvasási és írási jogosultsággal töltenek le a tulajdonos számára, olvashatják a tulajdonoscsoport számára, mások engedélye nélkül. Amikor a fájlok az alkalmazást használó felhasználó tulajdonában vannak. Megértem, hogy ha nincs végrehajtási engedélye, nem tudja követni a folyamat normális folyamatát, és folytathatja az xml beillesztését az adatbázisba. Amire a kérdésem érkezik, hogyan adhatok engedélyeket azoknak a fájloknak, amelyek még nincsenek a rendszeren? A letöltött mappában (tmp) minden engedély megvan, újra dőlt módon alkalmazzák, de minden alkalommal, amikor a fájlokat a mappába töltik le, csak az említett jogosultságokkal rendelkeznek. Van-e valamilyen lehetőség arra, hogy az abban a mappában megjelenő fájlok végrehajthatók legyenek?
    Remélem világos voltam, előre is nagyon köszönöm és kiváló blog

  2.   Linux utáni telepítés dijo

    Feltételezem, hogy a / tmp vagy… / tmp mappa 755 jogosultsággal rendelkezik, de még akkor is, amikor az alkalmazást birtokló felhasználó leteszi őket, más engedélyekkel hagyja őket. Nem vagyok fejlesztő, de feltételezem, hogy az alkalmazás nyelvén vagy egy másikban tudna neki jelezni egy olyan rutint, amely végrehajtja a szükséges engedélyek parancs parancsát (bash) (chmod) és a fájlok tulajdonosát (chown). Ellenkező esetben futtathat egy szkriptet minden futó percben.