Permalänk

Undrar hur chmod fungerar ?

Hejsan !

Nu när jag har använt mig av sudo chmod 777 /home/text/www Så kan ju alla skriva till den katalogen och det vill jag ju inte utan bara att användaren kan skriva till www katalogen. Så jag provade sudo chmod 755 och då kan inte användaren av www katalogen skriva till den katalogen iallfall inte i filezilla clienten. vad är felet ?

kanske skall tillägga att server jag kör har ubuntu 8.10

/Force

Permalänk
Medlem

Förmodligen har du fel ägare på katalogen. Kolla med ls -ld /home/text/www så får du ut ägare och grupp. För att byta ägare till 'www' kör du 'chown www /home/text/www'. Du kan även köra 'chown -R www /home/text/www', då byter även alla filer och underkataloger ägare till www.

Permalänk
Medlem

tyckte också chmod var lite bökigt att förstå back in the days, men sedan en dag så hitta jag bsd's mansida som var mkt tydligare.

http://www.freebsd.org/cgi/man.cgi?chmod läs!

Permalänk

så här står det drwxr-xr-x 2 root root 4096 2009-03-04 21:15 /home/test/www

Vad innebär detta ?

Permalänk
Hedersmedlem

Det betyder att användaren root äger mappen, och gruppen root likaså, och att root får göra allt, övriga får inte skriva.

Använd chown (ev. med -R) för att byta användare/grupp om det behövs.

Visa signatur

Asus B550M-Plus / Ryzen 5800X / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + HDDs / Corsair RM650x / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk

Okej så om jag vill att användaren i home katalogen skall endast ha till gång till sin katalog skall det se ut som följande ?

sudo chown -R test /home/test

då blir alla kataloger i test + test katalogen test ägare och test ägaren kan endast skriva och ändra i test katalogen ?

Permalänk
Medlem

Ägandeskapet blir rätt, men du behöver fortfarande använda chmod för att styra vilken behörighet ägare/grupp/övriga ska ha.

Permalänk

Ja jo men då kör jag chmod 755 /home/test så blir mappen endast skriv bar för ägaren test eller ?

Permalänk
Hedersmedlem

-R på chmod också, och du vill nog ändra gruppen från root... eller?
chown -R test:<grupp> /home/test
chmod -R 644 /home/test
find /home/test -type d -exec chmod 755 {} \;

(644 för att du inte vill ha alla filer som executable, sista kommandot för att göra alla mappar listbara (x används för att tillåta att lista innehåll på mappar, eftersom "execute" på mappar saknar mening.))

Visa signatur

Asus B550M-Plus / Ryzen 5800X / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + HDDs / Corsair RM650x / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem

OT
På min (ubuntu) server kör jag
sudo chown -hR tomas:www-data Publikt/
sudo chmod -r 775 Publikt/
Jag har fått för mig att det här är bra och i viss mån medelsäkert.

Det finns ju miljoner sätt att göra på, är det här någorlunda bra iaf?

Visa signatur

--
Tompa

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Tompalaz
sudo chown -hR tomas:www-data Publikt/
sudo chmod -r 775 Publikt/
Jag har fått för mig att det här är bra och i viss mån medelsäkert.

Det finns ju miljoner sätt att göra på, är det här någorlunda bra iaf?

Påpekas bör att användaren och gruppen www-data är den identitet som apache kör under per default i Debian-deriverade system. Den gruppen är inte tänkt att äga data och än mindre ha skrivrättigheter. Detta för att hindra att server-processen kan manipulera data om den skulle komprometteras. Därför bör du använda en annan grupp för att ge gruppaccess till data i webträdet.

Permalänk

http://sv.wikipedia.org/wiki/chmod visar hur det här går till på ett väldigt pedagogiskt sätt.

Permalänk
Citat:

Ursprungligen inskrivet av Thomas
-R på chmod också, och du vill nog ändra gruppen från root... eller?
chown -R test:<grupp> /home/test
chmod -R 644 /home/test
find /home/test -type d -exec chmod 755 {} \;

(644 för att du inte vill ha alla filer som executable, sista kommandot för att göra alla mappar listbara (x används för att tillåta att lista innehåll på mappar, eftersom "execute" på mappar saknar mening.))

Detta förstod jag inte alls hur du menar. vad innebär executable ?

Samt vad menar du med listbara ?

Varför kan jag inte bara enkelt använda mig av chmod 755 på home katalogen ?

Och vad innebär flaggor ?

Permalänk
Medlem

Executable = körbar
Listbar = innehållet i mappen kan visas i en lista.
Visst kan du använda chmod 755 på home katalogen. Det ändrar endast rättigheterna för katalogen inte underkataloger eller filer i den.

Flaggor är parametrar som förändrar ett kommandos beteende. I kommandot. T.ex. flaggan -R i chmod gör att rättigheterna ändras också för innehållet i katalogen( rekursivt).

Visa signatur

Fagerja

Permalänk

Okej men om jag nu vill att endast ägaren av katalogen /home/test och resten av underkatalogerna och filerna i test katalogen endast skall vara skriv bara av ägaren och endast läs bara för alla andra hur skriver jag då ?

För om jag fattat rätt så räcker det inte med sudo chmod 755 /home/test

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av forcevision
Okej men om jag nu vill att endast ägaren av katalogen /home/test och resten av underkatalogerna och filerna i test katalogen endast skall vara skriv bara av ägaren och endast läs bara för alla andra hur skriver jag då ?

För om jag fattat rätt så räcker det inte med sudo chmod 755 /home/test

Läs och begrunda? Svaret har ju redan blivit givet till dig:

Citat:

Ursprungligen inskrivet av adisbladis
http://sv.wikipedia.org/wiki/chmod visar hur det här går till på ett väldigt pedagogiskt sätt.

Men för att förtydliga extra extra med ett exempel:

(Det är positionerna jag syftar på nedan.)

7 : Gäller ägaren till filen (chmod -R 764 /home/namn/test)

6 : Gäller vad andra användare som ingår i Gruppen för filen (varje fil har ägare och en grupp) ska ha för rättigheter till filen. (chmod -R 764 /home/namn/test

4 : Gäller de som inte är ägare och ej ingår i samma grupp, dvs övriga. chmod -R 764 /home/namn/test

-R : Rekursivt, dvs gäller alla underkataloger+filer.

I ditt fall med andra ord: chmod -R 744 /din/mapp

EDIT: Notera följande: För att kunna öppna en mapp måste den ha flaggan execute satt, dvs "vara körbar".

Dvs om du vill att andra ska kunna öppna katalogen måste du köra chmod -R uo+X /din/mapp (Notera att du ska använda stort X så att det bara gäller mappar. Annars tillåter du alla att folk ska kunna exekvera/köra filer, vilket kanske inte är önskvärt. Förklaring till uo+X finns på länken.)

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk

hmmm..... men vad står alla siffrona för då ?

7 du har man fulla rättigheter skriva läsa execute om jag fattat det rätt.

6 vet jag inte vad den står för ?

5 vet jag inte heller ?

4 om jag fattat detta rätt är endast läsa.

Och vilken siffra skall jag skriva om bara användaren skall ha till gång till kataloger samt mappar ?

Permalänk
Medlem

Rättigheterna anges med 4 eller 3 siffror Första siffran anger specialrättigetern aom talet är fyrsiffrigt, annars ägarens rättigheter. Följande siffror anger gruppens rätigheter och den sista siffran anger rättigheterna för övriga.

0 = inga rättigheter
1 = köra (filer) / gå in i (kataloger)
2 = skriva
4 = läsa

Sammansatta:
3 = 1 + 2 = kör och skriv
5 = 1 + 4 = kör och läs
6 = 2+4 = läs och skriv
7 = 1 + 2 + 4 = kör, skriv och läs

Om du anger rättigheterna med 4 siffror betyder den första siffran:
1 = suid (rooträttighet)
2 = guid (endast kataloger, sätter automatiskt katalogens gid på nya filer)
4 = klistrig (endast kataloger, endast ägaren kan ändra filerna) (används för /tmp)

Skall endast ägaren (och root) ha tillgång till katalog: 700 och fil: 600 men 750 resp. 640 brukar ofta användas då endast ägaren är gruppmedlem.

Visa signatur

Fagerja

Permalänk
Hedersmedlem

Skulle föreslå att du låter bli siffrorna i början (eller för alltid) och håller dig till symbolisk notation som är mer intuitiv och dessutom lämpligare när man vill modifiera rättigheter snarare än skriva över dem.

svaret på sista frågan är:
chmod u+rwx,go-rwx /home/test

lägg till(+) rättigheterna (r)ead (w)rite och e(x)ecute för (u)ser och ta bort(-) dem för (g)roup och (o)thers.
Här behöver vi inte vara rekursiva eftersom de som saknar r & x för test inte heller kommer kunna gå in i underkataloger.

Visa signatur

I have free will but I choose to oscillate

Permalänk

okej

men om jag nu då tex använder mig av chmod u+rwx,go-rwx /home/test/www så att användaren skall kunna ladda upp sin hemsida skall det stå som följande då: chmod u+rwx,go+r,go-wx /home/test/www eller är jag helt fel ?

Sedan spelar det någon roll vilken ordning du sätter rwx i tex kan jag skrive chmod u+xrw eller u+wxr ?

Sedan hur blir det med underkatalogerna om jag gör så som jag skrev här?

Permalänk
Medlem

+ för att lägga till permission, - för att ta bort, = för att sätta absolut.

ex:
Filen foo har permissions -rw-r----- (640).

chmod g+w foo ger group skrivrättigheter (-rw-rw----/660)

chmod o=rw foo ger other läs- och skrivrättigheter (-rw-rw-rw-/666)

chmod g-w foo tar bort groups skrivrättigheter (-rw-r--rw-/646)

chmod go-rw foo tar bort group och other läs- och skrivrättigheter (-rw-------/600)

chmod g+rw,o+r foo ger group läs- och skrivrättigheter men endast läs till other (-rw-rw-r--/660)

chmod g= foo tar bort alla rättigheter för group (-rw-------/600)
raden ovan har ett mellanslag efter g= som är lite svårt att se men det är viktigt

Ordningen på permission-flaggorna spelar ingen roll.

Vad som händer med underkataloger beror dels på om du använder -R (för existerande kataloger), dels om du sätter SGID (som styr permissions på nyskapade kataloger).

Permalänk

Okej som jag skrev ovan då går att göra chmod u+rwx,go+r,go-wx /home/test/www och -R om alla underkataloger i www skall ha samma rättigheter. Men sgid hur skriver jag in det för katalogerna som eventuellt användaren skapar skall ha samma rättigheter eller kan användaren själv ändra det i tex ftp clienten ? ?

Permalänk
Medlem

chmod g+s foo sätter SGID på en katalog. Alla nya kataloger som skapas under den kommer då att få samma grupp.

Permalänk

Okej men jag trodde att om man sätter chmod u+rwx,go+r,go-wx tex, så alla kataloger som sedan skapas i den katalogen man sätter dessa rättigheterna på får samma rättigheter med. Men så är det alltså inte ?

Permalänk

Ett boktips för att förstå chmod och användarrättigheter är: Att använda GNU/Linux av Linux Walleij. Bra bok enligt mig (de stycken jag läste)
Den är gratis och man kan ladda ner den här: http://www.df.lth.se/~triad/gnulinux/
Kolla kapitlet om filrättigheter upplaga 2, sid 60.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av forcevision
Okej men jag trodde att om man sätter chmod u+rwx,go+r,go-wx tex, så alla kataloger som sedan skapas i den katalogen man sätter dessa rättigheterna på får samma rättigheter med. Men så är det alltså inte ?

Nej, det enda som ärvs är grupp om du har använt +s på föräldrakatalogen (+s ärvs också). Alla de andra bitarna styrs av fil- eller katalogskaparens umask.

Har inte läst boken som space age rekommenderar men råder dig också att läsa på lite om permissions. Det är bra grundkunskap (essentiell om du vill ha koll på säkerhet) och underlättar om du måste gå vidare till mer avancerade modeller som posix ACLs för att uppfylla dina behov.