Kataloogid on failid Esialgu on ehk natuke kummaline mõelda kataloogidest kui erilistest failidest, milles on kirjas seal sisalduvate failide nimed, kuid tegelikult vastab see failisüsteemi tehnilisele korraldusele. Niisiis, kataloog on fail, kus on kirjas selles kataloogis sisalduvate failide ja nn alamkataloogide nimed ning viited failide tegelikele asukohtadele. õigused: * r(ead) - lugeda * w(rite) - kirjutada * e(x)ecute - käivitada * u(ser) - faili omanik * g(roup) - faili gruppi kuuluv kasutaja * o(ther) - mingi muu kasutaja süsteemis, kuulub faili omanikust erinevasse gruppi bash~$ ls -la 1 2 3 4 5 6 d rwx r-x r-x 3 mart users 1 024 12 Mar 1998 ./ d rwx r-x r-x 6 mart users 1 024 12 Mar 1998 ../ d rwx rwx r-x 2 mart users 23 000 12 Mar 1998 kata - rw- r-- r-- 1 mart users 30 000 12 Mar 1998 karu - rwx r-x --x 1 mart users 30 000 12 Mar 1998 programm * (1) kataloogimärge: esimesed kolm rida on kataloogid, millele viitab märge d (ingl. k. directory); 'karu' ja 'programm' on failid. * (2) faili omaniku õigused faili suhtes * (3) failiga samasse gruppi kuuluvate kasutajate õigused faili suhtes * (4) süsteemi teiste kasutajate õigused faili suhtes * (5) faili omanik * (6) faili grupp Muutmine tähtedega u g + r chmod - w fail1 fail2 ... o = x a kus u - user; g - group, o - others, a - all, r - read, w - write ja x -execute + lisab õiguse - eemaldab õiguse = kehtestab vaid määratud õigused Muutmine numbriliselt 4 lugemisõigus 2 kirjutamisõigus 1 käivitamisõigus Kataloogi puhul käivitamisõigus tähendab õigust sinna siseneda. ---------- 0000 ei mingeid õiguseid ---------x 0001 käivitamine --------w- 0002 kirjutamine –-------wx 0003 kirjutamine ja käivitamine –------r-- 0004 lugemine -------r-x 0005 lugemine ja käivitamine -------rw- 0006 lugemine ja kirjutamine -------rwx 0007 lugemine, kirjutamine ja käivitamine –--------t 1000 sticky –-----S--- 2000 setgid –--S------ 4000 setuid õigused omanik - owner grupp - group teised - others chmod read write execute read write execute read write execute 0777 4 2 1 4 2 1 4 2 1 0755 4 2 1 4 0 1 4 0 1 0500 4 0 1 0 0 0 0 0 0 0755: * 0 - SetUID * 7 = 4 + 2 + 1 * 5 = 4 + 0 + 1 * 5 = 4 + 0 + 1 Eriõigused ---------- SetUID kasutajal peab olema ka käivitusõigus chmod u+xs fail chmod u+xs kataloog midagi ei juhtu nt: chmod 4700 fail - ka omanik saab käivitada SetGID grupil peab olema ka käivitusõigus chmod g+xs fail chmod g+xs kataloog sellises kataloogis olevad failid on kataloogiga samas grupis Sticky bit (kleepbitt) teistel (others) peab olema käivitusõigus chmod o+xt * * * õiguste vaatamine numbriliselt käsureal stat -c '%A %a %n' * %A ligipääsuõigused inimloetavalt %a ligipääsuõigused kaheksandsüsteemis %n failinimi vt man stat umask ----- Vaikimisi loodavate kataloogide, failide õiguste määramine. umask määrab, mis õiguseid uuel failil, kataloogil olla ei saa. hetkel kehtiva vaatamine: umask ajutiselt määramine: umask 022 umask’i alusel õiguste arvutamine vaikimisi: kataloogid: 777 failid: 666 umask'i väärtus tuleb vaikimisi väärtusest lahutada näiteks: umask 022 kataloogid: 777 – 022 = 755 failid: 666 – 022 = 644 umask 002 -> 775/664 umask 022 -> 755/644 umask 077 -> 700/600 Kasutamine: globaalselt: - /etc/login.defs - varasemalt /etc/profile kasutaja: ~/.profile vajadusel ka faili /etc/pam.d/common-session lisada rida: session optional pam_umask.so (libpam-modules peaks olema paigaldatud, võib erineda distrote lõikes) hard-coded süsteemilaiune säte ------------------------------- * faili /etc/pam.d/common-session: session optional pam_umask.so umask=002 * chfn --other='umask=002' kasutaja (muudab /etc/passwd) Viited http://permissions-calculator.org/ http://kuutorvaja.eenet.ee/wiki/Faili%C3%B5igused http://kuutorvaja.eenet.ee/kasutamine/os/failioigused.html https://wiki.itcollege.ee/index.php/Linux/Unix_failiõigused https://wiki.itcollege.ee/index.php/Setuid_/_Setgid https://wiki.itcollege.ee/index.php/Chmod https://wiki.itcollege.ee/index.php/Chown https://wiki.itcollege.ee/index.php/Umask http://askubuntu.com/questions/152001/how-can-i-get-octal-file-permissions-from-command-line