Rechten probleem

Pagina: 1
Acties:

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 08-02 04:09

Nick_S

++?????++ Out of Cheese Error

Topicstarter
Ik zit even met een rechtenprobleem op mijn Debian machine. Ik dacht dat ik chmod, chown en chgrp wel aardig door had, maar het blijkt toch niet te werken.

Ik kan als gebruiker toch bestanden verwijderen, die niet van mij zijn.

Vb. ($ = gebruiker prompt, # = root prompt)

code:
1
2
3
$ echo bla > bla
$ ls -l bla
-rw-r--r--  1 nick nick 4 Sep 23 15:15 bla

Bestand aangemaakt, ikke rechten op. So far, so good.
code:
1
2
3
4
5
$ su -
# chown root bla
# chgrp root bla
# ls -l bla
-rw-r--r--  1 root root 4 Sep 23 15:15 bla

Bestand is nu van root en niet meer van mij. Ook goed.
code:
1
2
3
4
5
# exit
$ rm bla
rm: remove write-protected regular file `bla'? y
$ ls -l bla
ls: bla: No such file or directory


Bestand weg, terwijl ik daar helemaal geen schrijfrechten op hoor te hebben. :?

Volgens mij zie ik iets heel simpels over het hoofd, maar ik weet niet zo goed waar ik op moet zoeken. Wie kan mij even op weg helpen?

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Heb je als gebruiker nog schrijfrechten in de directory waar die file staat?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 08-02 04:09

Nick_S

++?????++ Out of Cheese Error

Topicstarter
Ja, het bestand was gemaakt in de home directory van die gebruiker.

Ok, even getest en ik mag inderdaad niet in het bestand schrijven, maar het bestand wel verwijderen.

Is er een manier om een bestand in de home directory van een gebruiker te zetten, zonder dat deze het mag verwijderen/verplaatsen?

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:10

Gerco

Professional Newbie

Als ik het goed heb, is het verwijderen van een bestand een actie op de directory in plaats van het bestand, als je dus in een directory kan schrijven, kun je elk bestand daarin verwijderen. Om dit te voorkomen kun je "chmod +t" doen, dan kan alleen de eigenaar van een bestand het nog verwijderen.

De 't'-bit heet de "Sticky bit", quote uit "man chmod":
The name of the `sticky bit' derives from the original meaning: keep program text on swap device. These days, when set for a directory, it means that only the owner of the file and the owner of that directory may remove the file from that directory. (This is commonly used on directories like /tmp that have general write permission.)
Hmm, als de gebruiker de eigenaar is van zijn homedir (wat hij waarschijnlijk wel is), gaat dit nog geen zin hebben :(

Ik heb de rechten van mijn homedirs als volgt ingesteld:
code:
1
2
3
4
5
6
7
8
9
10
11
server ~ # getfacl --all-effective ~user
getfacl: Removing leading '/' from absolute path names
# file: home/klanten/user
# owner: root
# group: root
user::rwx
user:apache:--x                 #effective:--x
user:user:rwx                   #effective:rwx
group::---                      #effective:---
mask::rwx
other::---


Hierbij kan ik dus wel de +t aanzetten en gaat het nog werken ook, de user is geen eigenaar van zijn homedir, hij mag 'em alleen gebruiken. Hiervoor is alleen wel ACL support in de kernel nodig en je moet het filesystem (ext2/3) met "user_xattr,acl" mounten. Er zijn vast makkelijker manieren, bonusje van deze manier is wel dat apache de directory niet mag listen, maar wel in de public_html directory mag komen (door de --x).

[ Voor 109% gewijzigd door Gerco op 23-09-2005 16:33 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Rac-On
  • Registratie: November 2003
  • Niet online
dat je met writeacces op de directory iedere file erin kan wijzigen, is logisch als je de structuur van linux kent. In feite staan alle bestanden verdeeld over je disk en is er een soort boomstructuur die aangeeft vanaf je root welke bestanden/mappen eronder hangen, en wat daar weer onder hangt, en wat daar weer onder hangt

een bestand kan op die manier ook in meerdere directoryies staan. Wanneer je de laatste link naar een bestand verwijderd, zal je kernel de betreffende diskspace als vrij markeren. Je wist dus niet de file, maar je haalt bij de "inhoudsopgave" van de directory de verwijzing ernaartoe weg. ak: je wijzigt iets aan de directory (waar je schijfrechten op hebt) en de kernel besluit vervolgens dat een file die nergens in staat, op mag rotten

doet niet aan icons, usertitels of signatures


  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 08-02 04:09

Nick_S

++?????++ Out of Cheese Error

Topicstarter
Klinkt logisch. Dat van die boom en dergelijke heb ik inderdaad ook op school gehad, maar had het nog even niet gekoppeld aan mijn huidige probleem.

Ik ga mij eens verdiepen in ACL. (Als in toegevoegd aan FSTAB en nu aan het rebooten, aangezien ik mijn rootpartitie niet kon umounten. Ook logisch.)

In ieder geval bedankt voor de snelle hulp en duidelijke uitleg! (En de eerste die in LA weer een topic opent over het nivo en sfeer op GoT lach ik weer lekker uit.)

[Edit] En het werkt! _/-\o_

[ Voor 4% gewijzigd door Nick_S op 23-09-2005 16:30 ]

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'

Pagina: 1