Failiõigused ja käsurea kordamine (2. praktikum)
<- eelmine peatükk järgmine peatükk ->
Kasutajate ja gruppide loomine
Operatsioonisüsteemi installimisel lõime endale oma kasutaja. Järgnevas tabelis on toodud näited, kuidas luua arvutisse kasutajaid juurde ning kuidas neid gruppidesse lisada.
käsklus | selgitus | näide |
sudo adduser Kasutajanimi | Loob uue kasutaja. Kasutajale tuleb sisestada uus parool. Ühtlasi küsitakse muud lisainfot, nagu telefoni number jne, nende valikute puhul võib lihtsalt klahviga enter edasi minna. | sudo adduser peeter |
sudo addgroup Grupinimi | Loob uue grupi | sudo addgroup emajaisa |
id Kasutajanimi | Kuvatakse loetelu kasutaja gruppidest, samuti on välja toodud kasutaja ja gruppide id. | Id peeter |
Sudo usermod -aG grupinimi(kui mitu, siis komaga eraldatud) kasutajanimi | Lisab kasutaja loetletud gruppidesse | sudo usermod -aG EmaJaIsa peeter |
members grupinimi | Loetleb kasutajad, keskuulubad gruppi (käsklus tuleb eraldi installida käsuga “sudo apt install members”) | Members EmaJaIsa |
su - kasutajanimi | Logi terminalis sisse uue kasutajaga. | su - mari |
sudo passwd username | Muudab argumentiks antud kasutaja parooli. | sudo passwd mari |
Kust saame näha, mis kasutajad meie arvutis on? Selleks on kaks võimalust. Esiteks, vaadates home-kausta sisu (ls /home) näeme, millised kaustad on olemas. Iga kausta kohta peab eksisteerima ka kasutaja arvutis. Teine võimalus kasutajanimede loetlemiseks on vaadata faili /etc/passwd sisu näiteks käsuga cat /etc/passwd. Selles failis on loetletud arvuti kõik kasutajad - nii süsteemi kui ka inimese loodud. Iga rida algab kasutajanimega ning sellele järgneb koolon. Proovi üles leida oma kasutajanimi (tüüpiliselt asub faili alumises otsas).
Järgneva harjutuse tegemisel on mugavam kontrollida kasutajate olemasolu järgneva käsuga: eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1
Pikk ja keerukas käsklus lühidalt kokku võttes: igal kasutajal on oma kindel ID, Linuxis nimetusega UID, eelnev käsklus kontrollib failis login.defs olevat miinimumi ning maksimumi UID määramiseks ning seejärel prindib meile tuttavast failist /etc/passwd välja vaid kasutajanimed ridadelt, kus kasutaja UID jääb määratud vahemikku.
NB! Kui mõne käskluse käivitamine ebaõnnestub, siis uuri Sulle kuvatud informatsiooni ning vajadusel otsi abi internetist.
Ülesanne:
1. Loo kaks uut kasutajat nimedega boss ja tootaja (paroolideks vastavalt boss1 ja tootaja1).
2. Loo grupp “firmasisene” ning lisa sinna gruppi kasutajad boss ja tootaja, kuid mitte ennast.
3. Lisa kasutaja boss sudo-käskluse kasutamiseks gruppi “sudo”.
4. Loo oma kodukausta kaust “firmaDokumendid”. Muuda õigusi nii, et selle kausta omanik oleks kasutaja “boss” ning kausta omanikugrupp oleks “firmasisene”.
5. Seejärel kontrolli ning vajadusel muuda, et antud kausta õigused oleksid järgnevad “drwxrwx---”.
6. Logi sisse erinevate kasutajatega (käsklus “su”) ning loo selle kausta sees veel faile ja kaustu. Uuri ja muuda õigusi ning vaata, mis juhtub. Kes saavad sellele kaustale ligi? Mis juhtub, kui kausta “firmaDokumendid” sees loob uue kausta tootaja ning boss üritab tootaja loodud kaustas veel ühte kausta luua?
7. Tee ülesande vastustest ekraanitõmmis/ekraanitõmmised järgnevatest tulemustest:
a. Käsu ls -l tulemus Sinu kasutaja kodukaustas.
b. Käsu ls -l tulemus kaustas firmaDokumendid.
c. Käskude 'id kasutajanimi' kõigi kolme kasutaja puhul - sinu kasutaja, boss ja tootaja.
d. Kuuendas punktis esitatud küsimuste vastused.
NB! Enne lahenduse esitamist loe läbi ka järgnev lõik ning vii ellu vastavad tegevused
Ilmselt märkasid, et bossi tehtud failid ja kaustad kuulusid gruppi nimega “boss” ja sarnane käekäik oli ka kasutaja “tootaja” loodud failidega. Seega ei saanud me nende kaustade sees nii mugavalt kasutajaga uusi kaustu teha ning peaksime iga kord õigusi muutma, et ka teised põhikaustale ligipääsu omavad kasutajad saaksid loodud kaustadele ligi.
Kustuta kogu kausta “firmaDokumendid” sisu, mine oma kodukausta ning kasutajaga boss sisesta käsklus chmod g+s firmaDokumendid.
Loo taaskord faile ja kaustu mõlema kasutajaga, vaata õigusi ning ütle, mis muutus.
SUID’i, SGID’i ja Sticky bit’i kohta saada täpsemalt lugeda siit ja |siit.
Nüüd loo üks suvaline fail käsklusega touch suvaline.txt.
Seejärel kasutades sudo-õigusi sisesta käsklus sudo chattr +i suvaline.txt. Proovi sama kasutajaga ja ka teiste kasutajatega, mida selle failiga teha saad.
Seejärel võta piirang maha käsklusega sudo chattr -i suvaline.txt. Antud käsklus keelab kõik tegevused peale faili lugemise.
Uuri käsu man chattr veel, mida võtmesõnaga chattr teha annab.
See käsklus on väga hea kaitsmaks olulisi faile või lihtsalt sõbrale väikse nalja tegemiseks.
Lisalugemist:
Lisaks eelnevalt väljatoodule saame Access Control Listi (ACL) abil lisada ja piirata õigusi kaustale/failile iga kasutaja jaoks eraldi.
Näiteks tahame, et üks teatud grupp saaks kaustale A ligi, kuid grupis on üks liige, kelle ligipääs sellele kaustale tuleks keelata. Sellistel juhtudel on parim kasutada ACLi. ACLi kohta saab põhjalikumalt lugeda siin.