Terve,
Kuinka annetaan käyttöoikeus johonkin tiedostoon Linuxissa, toiselle käyttäjälle?
Rootillahan kaikkiin hakemistohin & tiedostoihin oikeus, mutta miten määrittelen oikeudet tiettyyn tiedostoon toiselle käyttäjälle myös?
joku chmod tms.? osaatteko neuvoa syntaksia? kiitos.
juuso
Kuinka annetaan käyttöoikeus johonkin tiedostoon Linuxissa, toiselle käyttäjälle?
Rootillahan kaikkiin hakemistohin & tiedostoihin oikeus, mutta miten määrittelen oikeudet tiettyyn tiedostoon toiselle käyttäjälle myös?
joku chmod tms.? osaatteko neuvoa syntaksia? kiitos.
juuso
Vastaukset 8
Vanhimmat
Hyvä sivusto, paljon ohjeita ja komentojen selityksiä jne.
http://tapsa.terae.net/linux/
chown - vaihtaa omistajan
chgrp - vaihtaa ryhmän
chmod - vaihtaa oikeudet
Vaihda tiedostosta ryhmä sellaiseksi, jossa ko. käyttäjä on. Esim.
chgrp ryhma tiedosto
Käyttäjän voi tarvittaessa lisätä ryhmään. Tai tehdä uuden ryhmän. Katso man:lla adduser tai useradd.
on oikea ohjelma. Itse käytän aina numeroita annettaessa oikeuksia. Oikeudet ovat lukuoikeudet=4, kirjoitusoikeudet=2 ja suoritusoikeudet=1. Numerot lasketaan yhteen sen mukaan minkälaiset oikeudet haluat antaa. Esimerkiksi luku- ja kirjoitusoikeudet tiedostoon 6, luku- ja suoritusoikeudet on 5. Oikeuksia annetaan kolmelle taholle: käyttäjälle itselleen, samaan käyttäjäryhmään kuuluvalle ja muille käyttäjille. Esimerkiksi täydet oikeudet käyttäjälle itselleen, luku- ja kirjoitusoikeudet samaan ryhmään kuuluville ja ei mitään oikeuksia muille käyttäjille olisi 760. Toinen esimerkki: luku ja kirjoitusoikeudet käyttäjälle itselleen, lukuoikeudet samaan ryhmään kuuluville ja lukuoikeudet muille käyttäjille olisi 644. Viimeinen esimerkki käskynä annattuna
chmod 644 tiedostonnimi
"Oikeudet ovat lukuoikeudet=4, kirjoitusoikeudet=2 ja suoritusoikeudet=1."
Ja mihinkä nämä luvut perustuu? No ne perustuu siihen, että käyttöoikeus lipuissa on varattu kolme bittiä tiedoston omistajalle, kolme bittiä ryhmään kuuluville ja kolme bittiä muille käyttäjille.
Lukuoikeus : 100 = 4
kirjoitusoikeus: 010 = 2
suoritusoikeues: 001 = 1
Nuo luvut on itseasiassa oktaalilukuja. Oktaalilukujen lukualue on 0 - 7, joiden esittämiseen tarvitaan kolme bittiä. Erilaisia oikeuskombinaatioita on siis 8 kappaletta.
Esim: tiedoston omistajalle kaikki oikeudet, ryhmään kuuluville vain luku ja suoritus ja muille ei mitään:
111 110 000 = 750
Tuloksena saatu luku 750 on siis myöskin oktaaliluku.
Noniin tottakai sinne lipsahti virhe, esimerkki menee siis näin:
Tiedoston omistajalle kaikki oikeudet, ryhmään kuuluville vain luku ja suoritus ja muille ei mitään:
111 101 000 = 750
Tää on vähän offtopikkia, mutta Kun nyt vauhtiin päästiin, niin.. :)
On olemassa myös muita vähemmän tunnettuja käyttöoikeuslippuja, joita voi asettaa chmod-komennolla. Nimittäin setuid, setgid ja sticky-bit.
Noista muodostuu taas uusi oktaaliluku
setuid: 100 = 4
setgid: 010 = 2
sticky: 001 = 1
Eli esim: chmod 2750 file, asettaa setgid lipun muiden mukana.
Enempi noista voi lukea esim näistä linkeistä:
http://en.wikipedia.org/wiki/File_system_permissions#Additional_Permissions
http://support.netsoc.tcd.ie/w/Permissions_(special)
http://neworder.box.sk/newsread.php?newsid=2380
Normaalissa Unix-systeemeissä ei ole kuin omistaja, ryhmä ja muut. Yksinkertaisinta on tehdä uusi ryhmä ja laitta ryhmään sellaiset käyttäjät, joille noita oikeuksia annetaan. Sitten tiedostolle/hakemistolle annetaan tuolle ryhmälle taarvittavat oikeudet.
Seuraavassa esimerkeissä user1 ja user2 kuuluvat samaan ryhmään jako.
-rw-rw---- 1 user1 jako 7820 2006-07-22 06:26 tiedosto1
Tiedoston omistaa user1 mutta user2 saa myös lukea ja kirjoittaa siihe. Muuilla ei ole oikeuksia.
-rw-rw---- 1 user2 jako 8107 2006-07-21 06:25 tiedosto2
Sama kuin edellinen mutta omistaja on user2
-rw-r----- 1 user1 jako 21703 2006-07-20 06:25 tiedosto3
User1 on omistaja. Hänellä on kirjoitus ja lukuoikeus. User2:lla on vain lukuoikeus. Muilla ei mitään.
teet ryhmän, vaikka trusted.. ja siihen sitte laitat luotettavat käyttäjät jäseniksi ja annat ryhmälle halutut oikeudet tiedostolle