• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af uldall | 11.02.2011 16:40

Lave et script read-only

Løst og fast
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:
chmod 750 FIL
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer3

# 1

14 år 4 måneder siden

Permalink

Indsendt af divineant den 11. februar 2011 kl. 17:17

Permalink

Korrekt, såfremt at user er

Korrekt, såfremt at user er i den gruppe som filen er tildelt, og filen er ejet af root.
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

  • Log ind eller opret dig for at tilføje kommentarer

# 2

14 år 4 måneder siden

Permalink

Indsendt af julemand101 den 11. februar 2011 kl. 17:32

Permalink

Du har misforstået noget

Du har misforstået noget omkring chmod og hvordan Linux rettighederne er opbygget. Lad mig lige komme med en kort forklaring omkring hvordan tingene hænger sammen.

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 :)
  • Log ind eller opret dig for at tilføje kommentarer

# 3

14 år 4 måneder siden

Permalink

Indsendt af Jacques den 12. februar 2011 kl. 11:54

Permalink

Kan man ikke bare lave den

Kan man ikke bare lave den immutable?

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.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Gode anmeldelser Zorin OS 17.3 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

"Intet realistisk alternativ" - mig i r*ven 12
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4
Linuxin er nu migreret til Drupal 11 13
Et Dansk alternativ til Facebook 18
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 3
Københavns og Aarhus Kommune dropper MS 9
Open Source-eksperimentet 1
Microsoft og Google ud af de danske skoler 2
Udfordringer med lydin på Debian 12 1

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !