Linux jogosultság-kezelés

Ez a snippet a linux jogosulság-kezeléséről szól. Megismerkedünk a jogokkal és csoportokkal.

Állomány jogosultságainak kiírása

Egy állomány jogosultságainak lekérdezésére a legegyszerűbb megoldás az ls -l <filename> használata. Pl. ls -l level.txt

-rw-rw-r-- 1 gergo gergo 46 máj   11 13:14 level.txt

A parancsot kiadva a válasz első oszlopában ehhez hasonlót kell látnunk: -rwxr-xr-x De mit is jelent ez?

A fenti sor négy oszlopra bontható:

- rwx r-x r-x

Az első csoport jól láthatóan különbözik a többitől. Valóban, ennek más a jelentése, míg a többi megegyező tartalmú.

Ezen kívül ami számunkra még fontos, az a gergo gergo. Ez az állomány tulajdonosát és a hozzá rendelt csoportot jelenti.

Állomány típusa

Az első oszlopban az állomány típusát olvashatjuk. Az itt előforduló rövidítések jelentése a következő:

Tulajdonos, csoport, mindenki más (owner, group, other)

A következő három oszlop a tulajdonos, a csoport és mindenki más számára a fájlon végezhető műveletek olvashatóak.

Írás, olvasás, végrehajtás (Read, Write, eXecute)

Az rwx hármas az írási, olvasási és futtatási jogot jelenti. Ha - szerepel az egyik helyén, azt jelenti, hogy az a felhasználókör nem rendelkezik az adott jogosultsággal.

A fent látható rwxr-xr-x jogkör tehát azt jelenti, hogy a tulajdonosnak lehetősége van a fájlt írni, olvasni és futtatni, a csoportnak és mindenki másnak pedig olvasni és futtatni.

Az oktális írásmód: az rwxr-xr-x jogkör előfordul az alábbi írásmódban is: 755. Hogy keletkezett ez a szám? A már megismert oszlopokra bontva, utána a jogosulságok helyére 1-et, a tiltások helyére 0-t írva, végül decimálisan:

rwx r-x r-x
111 101 101
7 5 5

Jogosultság váltás (chmod)

Egy fájl jogosultságainak állítására szolgál a chmod parancs.

Tulajdonosváltás (chown, chgrp)

A chown paranccsal állítható a tulajdonosi és csoporti jogkör.

A chgrp paranccsal a fájl csoportja állítható. A chown :<group> <filename> és a chgrp <group> <filename> parancs ugyanazt hajtja végre.

Sudo

A sudo paranccsal fájlokat hajthatunk végre más felhasználóként. A szó a su és a do részekből tevődik össze, az előbbi egy különálló parancs, az adott felhasználóként indít egy terminált. Az utóbbi az angol csinálni szót jelenti.

Ha nincsen felhasználó megadva (ez a leggyakrabban használt eset) superuserként futtatja az állományt, amennyiben a felhasználónak van jogköre ehhez és megadja a jelszavát.

Felhasználó kezelés

User, Group létrehozás

sudo adduser bela, sudo addgroup developers csak root jogosultsággal meghívható parancs. Az adduser interaktívan hozza létre a felhasználót (amennyiben lehetőség van rá, ezt használjuk és ne a useradd parancsot).

Felhasználó hozzáadása a csoporthoz

sudo usermod -a -G developers bela

Felhasználóhoz rendelt csoportok

$ groups bela
bela : bela developers

Itt érdemes megemlíteni, hogy például sudo jogunk (rootként való parancshíváshoz való jogunk) akkor van, ha a sudo csoportban benne vagyunk.

Törlés

sudo deluser bela, sudo delgroup developers. A bela felhasználó törlésével figyelmeztet, hogy a számára létrehozott bela csoportnak nincs több eleme, majd törli azt. Ugyanakkor, a developers csoportból is töröltük az utolsó felhasználót, de azt nem törli magától.

Figyelem! Az adduser létrehoz a felhasználónak egy új home könyvtárat(/home/bela), ezt nem törli automatikusan a deluser! Törölhetjük: sudo rm -r /home/bela/