Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2011-02-10, 19:45
  #1
Medlem
movsds avatar
Sökte lite här på forumet men fann inget relevant, iaf inget som gav mig klarhet på min fråga.

Försöker förstå mig på users och group permissions och har kollat lite på denna länk.

Om jag förstått allt rätt så kan en användare radera sina egna filer men inte andras. Problemet är att jag har lite kataloger som är skapade av en användare, i dessa kataloger ska en annan användare kunna skriva filer men inte radera dem!

Just nu kör jag med ägaren av katalogerna och skriver till kataloger via samba, detta har jag märkt är väldigt farligt då jag enkelt kan radera precis allt om jag raderar huvudkatalogen. Jag vill alltså komma förbi detta genom att skriva filer med en annan användare med restricted-access men som inte kan ta bort andras eller egna filer. Går detta att lösa? Hur ska jag sätta upp folder-/ file-permissions?

Såhär ser det ut nu.

katt:kattmat (ägare av alla kataloger)
råtta:råttgift (ska kunna skriva till dessa kataloger men inte radera andras/egna filer)

Har tänk på att man kanske kan göra ett script som körs varje dag som byter ägare på alla filer om det nu inte går att lösa "ej radera egna filer" problemet. Då återstår i så fall hur jag sätter rättigheterna. Samba kanske kan detta?

Sitter förövrigt och läser denna tråd, en bra sammanställning av permissions, men blir inte så mycket klokare av det.

Tack på förhand.
__________________
Senast redigerad av movsd 2011-02-10 kl. 19:56.
Citera
2011-02-10, 20:00
  #2
Medlem
dests avatar
Har inte alltför mycket tid atm, men att kunna skriva räknas i princip som att kunna radera då du helt enkelt kan skriva över filen.

Edit:

Såg inte din sista länk. Se även: http://sv.wikipedia.org/wiki/Chmod
Citera
2011-02-10, 20:19
  #3
Medlem
movsds avatar
Citat:
Ursprungligen postat av dest
Har inte alltför mycket tid atm, men att kunna skriva räknas i princip som att kunna radera då du helt enkelt kan skriva över filen.

Edit:

Såg inte din sista länk. Se även: http://sv.wikipedia.org/wiki/Chmod
Okej, då kanske den lättaste lösningen för mig är att göra ett automatisk script som körs varje dag och byter ägare på alla nya filer och kataloger som är gjorda av "råtta". Hur löser man detta? Går det att lösa så det körs på nya kataloger skapade av en viss användare så den inte skriver över alla underkataloger, jag har nämligen väldigt mycket filer och kataloger.

När jag skapade råtta och gruppen råttgift så skrev jag:

sudo groupadd råttgift
sudo adduser -M -g råtta råttgift

Denna användare får väl inte radera/skriva över katt:kattmat's filer etc eller behöver jag ändra några rättigheter?
Citera
2011-02-10, 20:40
  #4
Medlem
hashs avatar
Citat:
Ursprungligen postat av movsd

katt:kattmat (ägare av alla kataloger)
råtta:råttgift (ska kunna skriva till dessa kataloger men inte radera andras/egna filer)


Allt går att fixa, men vill du verkligen att användare "råtta" inte skall kunna radera sina egna filer?
Citera
2011-02-10, 20:46
  #5
Medlem
movsds avatar
Citat:
Ursprungligen postat av hash
Allt går att fixa, men vill du verkligen att användare "råtta" inte skall kunna radera sina egna filer?
Jag tycker att det är den säkraste vägen att gå eftersom jag för över filer från en windowsburk och den är alltid kopplad mot den andra datorn. Man vet aldrig när man råkar göra en tabbe eller när någon annan använder windows datorn. Vill helst skydda informationen på servern så gott det går. De få gånger jag vill radera något kan jag ansluta till den via vnc eller något. I dagsläget kan någon via utforskaren i princip tömma hela servern, gillar inte tanken.
Citera
2011-02-11, 03:58
  #6
Medlem
Nu man borde sova egentligen istället för att svamla men:

Du borde kunna sätta sticky bit på katalogen (chmod +t) så att bara ägaren till en fil kan ta bort den. Detta tillsammans med att samba väl har möjlighet att sätta "force user" och "force group" på filer som skrivs till en katalog.

Är det inte löst när jag vaknar får jag väl laborera lite.
Citera
2011-02-11, 11:39
  #7
Medlem
movsds avatar
Citat:
Ursprungligen postat av decent
Nu man borde sova egentligen istället för att svamla men:

Du borde kunna sätta sticky bit på katalogen (chmod +t) så att bara ägaren till en fil kan ta bort den. Detta tillsammans med att samba väl har möjlighet att sätta "force user" och "force group" på filer som skrivs till en katalog.

Är det inte löst när jag vaknar får jag väl laborera lite.
Det vore snällt om du ville kolla på det, blir inte värst mycket klokare av det här.

Testade att sätta upp en user i samba; råtta:råttgift, men när jag fört över filer från windowsburken så står ägaren som katt:kattman och alla filer kataloger är drwxr-xr-x.

Vill att ingen ska kunna skriva i de kataloger som de inte är ägare till så länge man inte sätter en sådan rättighet på den katalogen, då ska det väl inte vara drwxr-xr-x som standard?
Citera
2011-02-11, 13:16
  #8
Medlem
movsds avatar
Har pillat lite och standardalternativet när man skapar kataloger med katt:kattmat vara drwxr-xr-x (755).

ägare; skapa och ta bort filer, exekvera filer.
grupp; access till filer, exekvera filer.
andra; access till filer, exekvera filer.

Det ultimata är väl att ha standardalternativet till rwxr--r-- (744) istället.

ägare; skapa och ta bort filer, exekvera filer.
grupp; access till filer.
andra; access till filer.
andra; ingen access (alternativ om råtta ligger i kattmat gruppen, kanske det bästa?!)

Hur jag än vrider och vänder på saker och ting så blir det strul. Nu blir problemet att råtta inte kan skriva till dessa kataloger och sätter man skrivrättigheter på gruppen kattmat så kan råtta radera katt's filer i vilket fall om man nu lägger råtta i gruppen kattmat.

En lösning jag tänkt på är att göra en katalog för råtta och föra över allt dit och sedan flytta filerna med katt efteråt och ändra rättigheter, men det är jävligt omständigt då jag kan göra ett script som körs och ändrar ägare på filer, bara råtta får skrivrättigheter till katt's kataloger, men då är förutsättningen att råtta inte kan ta bort filer.

Det är kul det här.
Citera
2011-02-11, 13:51
  #9
Medlem
Vill du alltså bara kunna spela upp filerna på katt via råtta, men sen inte kunna göra något annat? I så fall går det ju lätt att ställa in i permissions i en viss mapp och sen se till att allt flyttas till den mappen. Vill du bara att t.ex. mediafiler ska till den mappen så är det script som gäller och det brukar finnas att tanka färdiga om man inte kan fixa själv.

Edit: med scripts går det väl få dem att få tillfällig root-tillgång? Har aldrig skapat egna scripts annat än på riktig bebisnivå, men jag har för mig jag sett massa sånna.
__________________
Senast redigerad av Wo0ozle 2011-02-11 kl. 13:54.
Citera
2011-02-11, 13:55
  #10
Medlem
movsds avatar
Citat:
Ursprungligen postat av Wo0ozle
Vill du alltså bara kunna spela upp filerna på katt via råtta, men sen inte kunna göra något annat? I så fall går det ju lätt att ställa in i permissions i en viss mapp och sen se till att allt flyttas till den mappen. Vill du bara att t.ex. mediafiler ska till den mappen så är det script som gäller och det brukar finnas att tanka färdiga om man inte kan fixa själv.
nej, vill kort och gott kunna skriva till en katalog med en användare men användaren ska i bästa fall inte kunna radera dessa när de skrivits. användaren ska även inte kunna radera något i katalogen, bara kunna skriva. jag vill inte sätta upp en ftp utan tänkte använda mig av samba för överföring. problemet är att har man skrivrättigheter så får man även rättigheter att radera med den användaren.

Har förstått att genvägar går på bekostnad av mindre säkerhet. Alternativet är att sätta upp en katalog där en användare kan kopiera, radera och skriva bäst den vill, nackdelen att det blir mycket arbeta att flytta dessa saker till rätt ställe och ändra rättigheterna på dessa filer/kataloger, varje gång. Tycker att det borde gå att åstadkomma det jag eftersöker.
__________________
Senast redigerad av movsd 2011-02-11 kl. 14:11.
Citera
2011-02-11, 15:10
  #11
Medlem
movsds avatar
Skapade en testkatalog för att leka lite, men det vill sig inte.

Kod:
ls -asl

4 drwxr-x---  3 katt kattmat 4096 2011-02-11 13:45 test

Användaren råtta är medlem i råttgift och kattmat men när jag skriver su och loggar in med råtta och sen försöker gå in i katalogen så vill den inte. Sätter jag däremot execute-permission (741 eller 751) på others så kommer råtta in. Hur kommer det sig, är ju medlem i kattmat?!

Testat lite usermod -g, usermod -G och att bara vara medlem i kattmat utan framgång.
Citera
2011-02-11, 15:28
  #12
Medlem
Helt smidigt verkar det väl inte riktigt vara och jag har egentligen bara laborerat i en "security = share"-miljö.

Men sticky bit på för att se till att bara ägaren till en fil kan ta bort den. Sedan får du nog ta och köra ett cron-script alternativt finns "root postexec" som kör script när klienten som laddat upp kopplar ifrån, vilket väl kanske är rättvist. Går att låta den köra ett script som ändrar ägare på filerna.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback