Sida 1 av 1

rwxd vs. rwx eller var är d-flaggan?

Postat: 12 nov 2008, 22:45
av Christian Johansson
När jag gick på LTH mellan 1992 och 1997 där vi använde UNIX så har jag bestämt för mig att det fanns en d- (delete-)flagga för att säga om man fick lov att radera en fil eller inte. Man kunde t.ex. skriva:

Kod: Markera allt

chmod ugo=rwxd enfil
I Ubuntu hittar jag dock ingen d-flagga. Är det någon som vet varför den inte finns?

Re: rwxd vs. rwx eller var är d-flaggan?

Postat: 12 nov 2008, 22:54
av Osprey
Jag har för mig att det finns någon Unixversion som använder "sticky-bit" som en deleteflagga. För övrigt finns detta också i OpenVMS, som har RWED, istället för rwx.

Re: rwxd vs. rwx eller var är d-flaggan?

Postat: 13 nov 2008, 00:05
av ajja
Om rättigheten är satt att kunna skriva 'w' så innebär det att man kan skriva över, DVS radera.
Det är den enda förklaringen jag kan komma på nu.
Sticky-bit finns om man vill använda men den finns mer för att eventuellt förhindra en radering.

Re: rwxd vs. rwx eller var är d-flaggan?

Postat: 13 nov 2008, 01:29
av David Andersson
ajja skrev:Om rättigheten är satt att kunna skriva 'w' så innebär det att man kan skriva över, DVS radera.
Tänk på en katalog som en (nästan) vanlig fil, som innehåller en lista med filnamn, och för varje filnamn en uppgift om var på disken filen finns (*).

Strikt talat, att skapa och ta bort en fil i en katalog, är att lägga till och ta bort filnamnet ur katalogfilen. För att ändra i katalogfilen måste man ha skrivrättigheter (w) för katalogfilen. Det är alltså inte ens rättigheten till filen man ska ta bort som avgör, utan ens rättigheter till katalogen den ligger i. Du kan ta bort en fil som du inte har några rättigheter alls till, bara du har w-rättigheter till katalogen.

På låg invå i unix så heter anropet att ta bort en fil "unlink". Huvudfunktionen är att ta bort filnamnet ur katalogfilen. Att diskutrymmet som filen använde dessutom släpps för återanvändning (**) kan man se närmast som en bi-effekt.

(*) lätt förenklat
(**) det finns tillfällen bi-effekten inte sker

Re: rwxd vs. rwx eller var är d-flaggan?

Postat: 13 nov 2008, 01:36
av Osprey
David Andersson skrev:På låg invå i unix så heter anropet att ta bort en fil "unlink". Huvudfunktionen är att ta bort filnamnet ur katalogfilen.
Åhhhh gamla underbara unlink, nu börjar jag nästan himla med ögonen och drömma om tiden då ärans och hjältarnas kraftfulla kommando clri fanns...
Förlåt, jag blev bara lite nostalgisk... :)

Re: rwxd vs. rwx eller var är d-flaggan?

Postat: 13 nov 2008, 02:04
av Bowmore
David Andersson skrev:Du kan ta bort en fil som du inte har några rättigheter alls till, bara du har w-rättigheter till katalogen.
Förutsatt väl att inte sticky är satt.

Re: rwxd vs. rwx eller var är d-flaggan?

Postat: 13 nov 2008, 12:54
av Christian Johansson
Tack för svaren. Det där med att betrakta en katalog som en fil med en förteckning över vilka filer som finns i katalogen låter bekant från versionshanteringssystemet ClearCase som jag använder på jobbet. Om man lägger till eller tar bort en fil i en katalog måste man då checka ut katalogen.

Re: rwxd vs. rwx eller var är d-flaggan?

Postat: 23 nov 2008, 09:31
av Konservburk
Sidospåret om more och less har flyttats hit:

http://ubuntu-se.org/phpBB3/viewtopic.php?t=33945