sticky bit

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
guennid

sticky bit

Beitrag von guennid » 18.05.2015 14:49:34

Was ist das eigentlich?

Wikipedia bringt nicht wirklich weiter: eine erweitertes Dateirecht - Nichtssagender geht eigentlich nicht mehr.

Statt einer inhaltsträchtigeren Definition ist im weiteren Fortgang die Rede von "Wirkung auf Dateien und Verzeichnisse". Bei ersteren werden nur ausführbare beschrieben. Bei mir klebt das Ding zum Beispiel an /dev/sr0. Als executable ist /dev/sr0 nicht deklariert.

Grüße, Günther

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: sticky bit

Beitrag von uname » 18.05.2015 15:17:25

Ich finde die Erklärungen sowohl im deutschen als auch englischen Wikipedia gar nicht schlecht.

Frei nach dem englischen Wikipedia, Sätze getauscht:
Without the sticky bit set, any user with write and execute permissions for the directory can rename or delete contained files, regardless of the file's owner.
Wenn die Rechte z.B. für /tmp "rwxrwxrwx" sind kann jeder alles löschen. Das ist bei /tmp unpraktisch, da die Benutzer sich gegenseitig die Verzeichnisse oder Ordner löschen.
When a directory's sticky bit is set, the filesystem treats the files in such directories in a special way so only the file's owner, the directory's owner, or root can rename or delete the file.
Das Sticky Bit ermöglicht eine Benutzer-Unterscheidung obwohl alle Benutzer eigentlich beliebig auf /tmp zugreifen dürfen.

Das Sticky-Bit ist bei Linux nur für Verzeichnisse relevant.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: sticky bit

Beitrag von rendegast » 18.05.2015 15:23:46

An /dev/sr* habe ich das Ding noch nicht gesehen, scheint mir da wenig Sinn zu machen.
Von einem Mount-Dämon o.ä.? Durch eine selbst-erstellte udev-Regel?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: sticky bit

Beitrag von smutbert » 18.05.2015 15:29:54

Die ursprüngliche Bedeutung, dass eine ausführbare Datei bei der das Bit gesetzt ist, nachdem der zugehörige Prozess beendet wurde im Arbeitspeicher bleibt, damit sie schneller wieder gestartet werden kann, spielt keine Rolle mehr.

Inzwischen wird dieses Bit nur mehr für Verzeichnisse verwendet, in dem Dateien und Verzeichnisse mehrerer Benutzer gespeichert werden und in denen daher mehrere/alle Benutzer Schreibrechte haben. Dort hat es die Bedeutung, dass jeder Benutzer nur seine eigenen Dateien löschen darf und nicht die der anderen Benutzer.

Edit: Ok, soweit war ich bis jetzt eindeutig der langsamste, aber es kommt noch etwas :wink:

Liegt im Zusammenhang mit /dev/sr? vielleicht eine Verwechslung (von t mit +) vor?
Das Sticky Bit wird in der Ausgabe von ls durch ein t gekennzeichnet und /dev/sr0 verfügt in Debian iA über ACL, die durch ein + gekkennzeichnet werden:

Code: Alles auswählen

$ ls -dal /tmp
drwxrwxrwt 11 root root 300 Mai 18 15:27 /tmp
$ ls -al /dev/sr0 
brw-rw----+ 1 root cdrom 11, 0 Mai 18 08:55 /dev/sr0
$ getfacl /dev/sr0 
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: dev/sr0
# owner: root
# group: cdrom
user::rw-
user:smutbert:rw-
group::rw-
mask::rw-
other::---


guennid

Re: sticky bit

Beitrag von guennid » 18.05.2015 15:45:40

@uname
Ich finde die Erklärungen [...] im deutschen [...] Wikipedia gar nicht schlecht.
Ich schon, zumal sie mich OFFENSICHTLICH in die Irre geführt hat: Ich hatte es bei einer Datei, nicht bei einem Verzeichnis gesehen.
Wenn man definieren könnte: "Ein sticky bit verbietet in einem Verzeichnis das Löschen von Dateien durch andere Benutzer mit Ausnahme von root und Eigentümer, obwohl jedermann darin schreiben darf" (ich behaupte nicht, dass man's so definieren darf), warum macht man's dann nicht, sondern benutzt ein weiteres Kapitel, das sich noch dazu nur auf Verzeichnisse bezieht. Und wenn es nur für Verzeichnisse Sinn macht, dann baut man den Artikel auch entsprechend auf. Ich behaupte mal, dass du deine Kenntnisse ursprünglich nicht wikipedia verdankst. :wink:

Meine vielfältigen Begegnungen mit Wikipedia lehren mich immer wieder: Das Teil ist und bleibt mit Vorsicht zu genießen.

@rendegast
An /dev/sr* habe ich das Ding noch nicht gesehen, scheint mir da wenig Sinn zu machen.
Ich hab's willentlich nicht gesetzt (wheezy).

Auf der jessie-Maschine, die ich ohne udev einrichte und deswegen die Rechte selber setzen muss, kann ich's also weglassen?

@smutbert
Moment! Muss ich erst verdauen. :wink:

Grüße, Günther
Zuletzt geändert von guennid am 18.05.2015 15:55:26, insgesamt 1-mal geändert.

guennid

Re: sticky bit

Beitrag von guennid » 18.05.2015 15:51:59

@smutbert
Nein:

Code: Alles auswählen

ls -al /dev/sr0
brw-rw---T 1 root cdrom 11, 0 Mai 18 14:56 /dev/sr0
Ich habe übrigens auch schon "T+" gesehen, allerdings nur "in den unergründlichen Weiten ...", keine Ahnung wie korrekt oder nicht das dann war. Es ist eben "Vorsicht die Mutter der Porzellankiste" :mrgreen:

Übrigens:
Same procedure auf einer weiteren wheezy-Maschine bei /dev/sr0.

Hängt das stickybit vielleicht mit udf zusammen, immerhin kann man damit ja in dvd-rams nach Belieben fuhrwerken?

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: sticky bit

Beitrag von Meillo » 18.05.2015 16:40:47

guennid hat geschrieben:@uname
Ich finde die Erklärungen [...] im deutschen [...] Wikipedia gar nicht schlecht.
Ich schon, zumal sie mich OFFENSICHTLICH in die Irre geführt hat: Ich hatte es bei einer Datei, nicht bei einem Verzeichnis gesehen.
Meine vielfältigen Begegnungen mit Wikipedia lehren mich immer wieder: Das Teil ist und bleibt mit Vorsicht zu genießen.
Du solltest nicht vergessen, dass eine Transferleistung noetig ist, um von den Informationen in der Wikipedia zum Verstehen in deinem Kopf zu kommen. Ja, in dieser Hinsicht ist jede Art von Information mit Vorsicht zu geniessen!

warum macht man's dann nicht, sondern benutzt ein weiteres Kapitel, das sich noch dazu nur auf Verzeichnisse bezieht
Weil es zum Sticky-Bit mehr zu sagen gibt, als die moderne Bedeutung zu erklaeren. Anfangs hatte es naemlich gar keine Wirkung bei Verzeichnissen und ausschliesslich eine Wirkung auf ausfuehrbare Dateien. Jetzt ist es anderst rum. Beide Aspekte sind fuer das Verstaendnis des Sticky-Bits noetig. (Btw: Die Wikipedia ist nicht Stackoverflow.)


Zum konkreten Problem: AFAIK hat das Sticky-Bit keine Auswirkung auf Block-Devices. Es koennte aber sein, dass es (deshalb!) zur Markierung fuer irgendwelche Verwaltungszwecke verwendet wird.
Use ed once in a while!

guennid

Re: sticky bit

Beitrag von guennid » 18.05.2015 16:58:48

Du solltest nicht vergessen, dass eine Transferleistung noetig ist, um von den Informationen in der Wikipedia zum Verstehen in deinem Kopf zu kommen.
Allgemeinplätzchen.

Das folgende hatte ich eigentlich nicht vor, weil nicht zur Sache gehörend, aber so lasse ich das auch nicht stehen.

Von Inhaltsangaben, Beschreibungen informierenden Texten dachte ich bisher einiges zu verstehen.

Genauso allgemein wie im Zitat beschrieben gilt: Auch beim Schreiben von Informationen ist eine gewisse Transferleistung nötig, nämlich die, den Standpunkt des zu informierenden, ergo nichtinformierten Lesers einzunehmen, mit allem was dazugehört. Ohne das wird aus Information schlicht Selbstdarstellung

Nun ja, Lobt weiter Wikipedia - ohne Ausnahme. Passt halt ins Weltbild. Denken lässt man. Differenzierte Betrachtungen sind nicht jedermanns Sache.

Grüße, Günther
Zuletzt geändert von guennid am 18.05.2015 17:24:52, insgesamt 1-mal geändert.

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: sticky bit

Beitrag von Livingston » 18.05.2015 17:21:57

guennid hat geschrieben: Nun ja, Lobt weiter Wikipedia - ohne Ausnahme. Passt halt ins Weltbild. Denken lässt man. Differenzierte Betrachtungen sind nicht jedermanns Sache.
Grüße, Günther
Also echt, ey!
Warum zitierst Du dann Wikipedia resp. nutzt es als Informationsquelle? Frag doch einfach, wo beim sticky bit der Schuh drückt, und gut is.
Natürlich kann man nicht verlangen, dass im allgemeinen Wiki alle Fragen allumfassend geklärt werden. Dafür sind Foren wie dieses hier - oder das eigene Wiki im DF - wesentlich geeigneter.

guennid

Re: sticky bit

Beitrag von guennid » 18.05.2015 17:41:29

Frag doch einfach, wo beim sticky bit der Schuh drückt
Um mir dann mangelnde Eigeninitiative vorwerfen zu lassen?
Und außerdem ging es mir eben nicht nur darum, zu wissen, ob ich's bei /dev/sr0 nun setzen soll oder nicht, sondern darum, zu verstehen, warum ich das tun oder lassen sollte.
Warum zitierst Du dann Wikipedia resp. nutzt es als Informationsquelle?
S.o.

Ich lehne Wikipedia nicht ab, aber ich schalte beim Lesen auch nicht den Verstand ab, nur weil ich wikipedia lese. Ich bat um diffrenzierte Betrachtungsweise.
Ich könnte mich jetzt mit Meillo oder evtl. uname weiter darüber unterhalten - streiten, wenn's beliebt - wie man Sachinformationen sinnvoll und möglichst allgemeinverständlich aufbaut, aber diese Diskussion ist hier fehl am Platz und ich werde mich hier nicht weiter daran beteiligen.

Grüße, Günther

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: sticky bit

Beitrag von catdog2 » 19.05.2015 02:03:57

Zum konkreten Problem: AFAIK hat das Sticky-Bit keine Auswirkung auf Block-Devices. Es koennte aber sein, dass es (deshalb!) zur Markierung fuer irgendwelche Verwaltungszwecke verwendet wird.
Wird teilweise für andere Zwecke benutzt ja. Google findet hier auch schnell eine Antwort wofür udev das einsetzt:
http://comments.gmane.org/gmane.linux.debian.user/428727 hat geschrieben:/* set sticky bit, so we do not remove the node on module unload */
Unix is user-friendly; it's just picky about who its friends are.

guennid

Re: sticky bit

Beitrag von guennid » 19.05.2015 10:38:55

Danke!

Damit wäre dann ja auch geklärt, warum das bit bei meinem udev-losen jessie nicht gesetzt ist.

Übersetze ich richtig: "Bei gesetztem bit löschen wir die Gerätedatei nicht, auch wenn das zuständige Kernel-Modul entladen wird"?

Das dürfte dann ja ohne udev eh nicht passieren, deswegen nochmal zurück zur Theorie - meillos Beitrag war nicht so gut für meinen Blutdruck, ich habe mich noch weiter umgetan und das weitaus Meiste [1-3], was ich gefunden habe, war informativer und für meinen Geschmack eindeutig besser formuliert als der deutsche wikipedia-Artikel, einschließlich der englischen wikipedia Seite(bei der kann ich's eigentlich nur für den Aufbau sagen, da ich nicht alles verstehe) wohl wissend, dass die beiden anderen Artikel noch andere Aufgaben als einer für wikipedia haben) - muss es denn bei sr0 eigentlich stehen? Oder noch anders: Würde es nicht reichen, das bit beim übergeordneten Verzeichnis /dev zu setzen? Da steht's nämlich beim udevlosen jessie nicht, wohl aber beim wheezy mit udev.

Grüße, Günther

[1] https://en.wikipedia.org/wiki/Sticky_bit
[2] https://www.debian.org/doc/manuals/debi ... 01.de.html
[3] http://www.zettel-it.de/docs/SUID-SGID- ... ky-Bit.pdf

Antworten