Lave et script read-only
Hej alle
Jeg kan simpelthen ikke lure af, hvordan man giver alle brugere rettigheder til at vise og execute en fil, mens root er det eneste der har lov til at redigere den.
Går stærkt ud fra, at det skal ordnes i chmod, men er lidt forvirret over det.
jeg har to brugere på computeren: ROOT og USER
ROOT kan alt = 7
USER kan læse og execute = 5
Alle andre skal ikke kunne noget = 0
Vil det sige, at en FIL lavet af ROOT kan laves som beskrevet herover vha kommandoen:
Jeg kan simpelthen ikke lure af, hvordan man giver alle brugere rettigheder til at vise og execute en fil, mens root er det eneste der har lov til at redigere den.
Går stærkt ud fra, at det skal ordnes i chmod, men er lidt forvirret over det.
jeg har to brugere på computeren: ROOT og USER
ROOT kan alt = 7
USER kan læse og execute = 5
Alle andre skal ikke kunne noget = 0
Vil det sige, at en FIL lavet af ROOT kan laves som beskrevet herover vha kommandoen:
chmod 750 FIL
Kommentarer3
Korrekt, såfremt at user er
Du ændrer ejerskab på filer med "chown"
Du kan se hvilke grupper dine brugere er i med "group"
Du tilføjer brugere til grupper med "gpasswd"
Eksempel:
# groups johndoe
johndoe
# gpasswd -a johndoe users
# groups johndoe
johndoe users
# ls -l filnavn
-rw-r--r-- 1 johndoe johndoe 0 Feb 11 17:11 filnavn
# chown root:users filnavn
# chmod 750 filnavn
# ls -l filnavn
-rwxr-x--- 1 root users 0 Feb 11 17:11 filnavn
Du har misforstået noget
Alle filer og mapper i Linux har rettigheder hvilket du nok er klar over. For at alle kan være med har jeg lavet en fil ved navn "fil" og skrevet ls -l som giver de rettigheder der er for denne fil:
-rw-r--r-- 1 julemand101 users 0 Feb 11 17:15 fil
Ok det her fortæller os en hel del. Når vi læser "-rw-r--r--" ignorerer vi lige her i starten den første "'-" som bruges til blandt andet at fortælle om det er en mappe vi har med at gøre og lidt andre specielle tilfælde. Så det vi koncentrerer os om er følgende "rw-r--r--".
"rw-r--r--" skal deles op i 3 stykker af hver 3 tegn og som har følgende betydning:
* rw- | ejeren
* r-- | gruppen
* r-- | andre
Det vil sige at de første 3 tegn angiver de rettigheder som ejeren af filen har for filen. De næste angiver rettighederne for den gruppe filen tilhører mens de sidste 3 dækker over de rettigheder alle andre har for filen. Rettighederne angives med 3 bogstaver: r, w og x:
r = read (læse)
w = write (skrive)
x = execute (køre/udføre)
Det vil sige at vores fil der har rettighederne "rw-r--r--" kan læses og skrives til af ejeren af filen (rw-) mens både gruppen og alle andre kun kan læse filen. For at se hvem der er ejer og gruppe for filen kan vi vende tilbage til vores ls -l output:
-rw-r--r-- 1 julemand101 users 0 Feb 11 17:15 fil
Det første navn er ejeren mens det andet er gruppen. Så denne fil ejes af "julemand101" og tilhører gruppen "users".
Så langt så godt. Nu skal vi så forstå hvordan chmod fungerer. Chmod tager imod 3 tal og jeg vil nu forklare hvordan disse tal hænger sammen. Hvis vi vender tilbage r, w og x. Hvis vi opstille dette så vi ser dem som binære værdier:
110 = rw-
100 = r--
000 = ---
osv.
Ok det binære system fungerer ved at vi bruger 0 og 1. Hvis vi skal have en talværdi ud af dette så giver vi de forskellige placeringer en talværdi. Læs dette eksempel at 1 2 3 repræsentere de forskellige positioner ved 110:
1 1 0
1 2 3
1 = 4
2 = 2
3 = 1
Dette betyder at vi kan repræsentere 110 som tallet 6. Så rettigheden "rw-" har talværdien 6. Lad os prøve at se nogle andre eksempler:
rw- = 6
r-- = 4
r-x = 5
rwx = 7
Ok vi begynder nu at kunne se hvad tallene til chmod betyder. Eftersom chmod tager imod 3 tal så kan vi godt regne ud at de 3 tal hver repræsentere ejer, gruppe og andre. Således kan vi repræsentere vores fil's rettigheder med følgende tal:
rw-r--r-- = 644
Du kender sikkert allerede tallet 777 og det betyder sådan set at alle kan gøre alt (også køre filen):
rwxrwxrwx = 777
Jeg håber dette er med til at du selv kan finde ud af at finde de rettigheder du ønsker. Husk på at at for mapper betyder x i rwx noget specielt (du kan ikke køre mapper så derfor betyder denne om man har lov til at se indholdet af mappen). Jeg håber også andre kan bruge min lille forklaring til noget nyttigt og især blive lidt klogere på hvordan tingene hænger sammen :)
Kan man ikke bare lave den
http://linuxhelp.blogspot.com/2005/11/make-your-files-immutable-which-e…
chattr +i "sti til fil"
Så kan root godt nok heller ikke ændre den, men root kan lave det om igen.