Harte Verknüpfung der Dateien anderer Benutzer

7

Angenommen, Benutzer A und Benutzer B haben Festplattenkontingente von 1 GB.
Angenommen, Benutzer B erstellt eine 900-MB-Datei mit der Berechtigung 0666.
Dadurch kann Benutzer A vorübergehend auf diese Datei zugreifen (für einige Projekte usw.).
Beachten Sie, dass Benutzer A auch in die Datei schreiben kann.

Wenn Benutzer A eine feste Verknüpfung zu dieser Datei erstellt und Benutzer B die Datei dann löscht, hat Benutzer A das Quotensystem im Wesentlichen ausgenutzt, indem er Benutzer B 900 MB Speicherplatz "gestohlen" hat?

Angenommen, Benutzer B meldet dies niemals dem Administrator und der Administrator findet es nie heraus.
Nehmen Sie außerdem an, dass Benutzer B niemals etwas über Benutzer A ahnt. Mit anderen Worten, Benutzer B nimmt das Verzeichnis von Benutzer A und die entsprechenden Dateien nicht an.

Wenn eine ähnliche Frage schon einmal gestellt / beantwortet wurde, entschuldige ich mich dafür, dass ich sie nicht finden konnte.

nehcsivart
quelle
Dies hängt vom Kontingent ab. Nach dem ersten Hardlink hat A möglicherweise 900 MB verwendet. Da Sie kein Betriebssystem angeben, ist unklar, ob das Kontingent den physischen Speicherplatz (900 MB) oder den logischen Speicherplatz (2 x 900 MB) berücksichtigt.
Archemar
Der Eigentümer der Datei wird im Inode gespeichert, nicht in den Verzeichniseinträgen (Hardlinks). Daher ist es ganz natürlich, die Datei gegen das Kontingent von Benutzer B zu zählen.
Ansgar Esztermann
@AnsgarEsztermann dann bleibt in diesem Fall die Quote von A unverändert (1G) und die unbekannten 900 Mb in der Quote.
Archemar
@Archemar Gibt es Quotensysteme, die eine Datei mehrmals zählen würden, wenn sie mehrere feste Links hätte? Das scheint kaputt (und schwieriger zu implementieren).
Gilles 'SO - hör auf böse zu sein'
1
Vielen Dank an alle für das Feedback! Zur Verdeutlichung haben A und B weiterhin eine Quote von 1 GB. Der Unterschied besteht nun darin, dass B keinen Zugriff auf 900 MB seines 1-GB-Kontingents hat, während A weiterhin Zugriff auf die zusätzlichen 900 MB hat, die zu B gehören. Es scheint, dass meine Frage diesbezüglich etwas unklar war. Ich habe es für zukünftige Zuschauer aktualisiert.
Nehcsivart

Antworten:

6

Dies ist einer der hässlichen Eckfälle des Unix-Berechtigungsmodells. Durch das Gewähren des Schreibzugriffs auf eine Datei kann diese fest verknüpft werden. Wenn Benutzer A über Schreibrechte für das Verzeichnis verfügt, in dem sich die Datei befindet, kann er sie in ein Verzeichnis verschieben, auf das Benutzer B keinen Zugriff hat. Benutzer B kann dann nicht mehr auf die Datei zugreifen, zählt jedoch für Kontingentzwecke immer noch gegen Benutzer B.

Einige ältere Unix-Systeme hatten eine schlimmere Lücke: Ein Benutzer konnte anrufen chown, um eine seiner Dateien einem anderen Benutzer zu gewähren. Wenn sie die Datei zuvor für die Welt beschreibbar gemacht hätten, könnten sie diese Datei weiterhin verwenden, aber die Datei würde auf das Kontingent des anderen Benutzers angerechnet. Dies ist ein Grund, warum moderne Systeme sich chownder Wurzel vorbehalten .

Es gibt keine rein technische Lösung. Es liegt an Benutzer B, zu bemerken, dass seine Festplattennutzung ( du ~) nicht mit seiner Kontingentnutzung übereinstimmt, und sich beim Systemadministrator zu beschweren, der Benutzer A untersucht und bestraft.

Gilles 'SO - hör auf böse zu sein'
quelle