Hallo Liste, soeben bin ich auf ein Problem mit einer umask-Einstellung gestoßen, welches ich mir nicht erklären kann. Mit der Standard-umask 022 bekommen Dateien die Berechtigung rw_ r__ r__. Dies ergibt sich aus der Subtratkion der Berechtigungen 666 - 022 = 644. Stellt man nun die umask auf 456 ein, so würde ich folgendes Ergebnis erwarten: 666 - 456 = 210 => _w_ __x ___ Mein SuSE 9.0 oder 8.1 liefert mir hingegen ein _w_ _w_ ___ zurück. Weiß jemand wo der Fehler liegt? Teilweise werden auch andere Zahlenkombinationen anders interpretiert, als ich erwarten würde. Vielen Dank für eure Antworten, Mike
Hallo auch, Am Mittwoch, 17. März 2004 16:28 schrieb Mike Unke:
Hallo Liste,
soeben bin ich auf ein Problem mit einer umask-Einstellung gestoßen, welches ich mir nicht erklären kann.
Mit der Standard-umask 022 bekommen Dateien die Berechtigung rw_ r__ r__. Dies ergibt sich aus der Subtratkion der Berechtigungen 666 - 022 = 644.
Stellt man nun die umask auf 456 ein, so würde ich folgendes Ergebnis erwarten: 666 - 456 = 210 => _w_ __x ___ Mein SuSE 9.0 oder 8.1 liefert mir hingegen ein _w_ _w_ ___ zurück.
Hat mich auch interessiert. Schonmal vorab, das ist auf SuSE 8 und SunSolaris 8 dasselbe. Aber: Es sollte doch 777 - umask heißen. Wenn also die umask 022 ist , hätte ich eigentlich ein 755 erwartet. Tatsächlich kommt aber das 644 auch bei mir. Nehmen wir aber mal an, das so keine "x" gesetzt werden können. Ein umask 456 bringt dann ein 321, das ist _wx _w_ __x Lasse ich die "x" weg, kommt ein _w_ _w_ ___ raus, was dem Ergebnis entspricht. Oder ein umask 127 bringt dann ein 650, das ist rw_ r_x ___ Lasse ich die "x" weg, kommt ein rw_ r__ ___ raus, was bei mir ebenfalls dem Ergebnis entspricht. Wenn ich noch mehrere Fälle probier, scheint das imer so zu laufen. Weiß einer wieso? -- [Zufallssig 5] Microsoft is a cross between The Borg and the Ferengi. Unfortunately they use Borg to do their marketing and Ferengi to do their programming.
Hallo Bernd, On Wed, Mar 17, 2004 at 05:08:49PM +0100, Bernd Tannenbaum wrote:
Hat mich auch interessiert. Schonmal vorab, das ist auf SuSE 8 und SunSolaris 8 dasselbe.
Aber: Es sollte doch 777 - umask heißen. Wenn also die umask 022 ist , hätte ich eigentlich ein 755 erwartet. Tatsächlich kommt aber das 644 auch bei mir.
Nehmen wir aber mal an, das so keine "x" gesetzt werden können. Ein umask 456 bringt dann ein 321, das ist _wx _w_ __x Lasse ich die "x" weg, kommt ein _w_ _w_ ___ raus, was dem Ergebnis entspricht.
Oder ein umask 127 bringt dann ein 650, das ist rw_ r_x ___ Lasse ich die "x" weg, kommt ein rw_ r__ ___ raus, was bei mir ebenfalls dem Ergebnis entspricht.
Wenn ich noch mehrere Fälle probier, scheint das imer so zu laufen. Weiß einer wieso?
Eine Datei bekommt beim erstellen immer nur so viele Rechte wie unbedingt benötigt. Erstelle die Datei mit dem gcc dann hat die auch ein X :) Oder mit mkdir dann bekommt sie auch eines *g* Greetings Daniel -- Was einen Anfang hat muss auch ein Ende haben
Hallo, Am Wed, 17 Mar 2004, Mike Unke schrieb:
Mit der Standard-umask 022 bekommen Dateien die Berechtigung rw_ r__ r__. Dies ergibt sich aus der Subtratkion der Berechtigungen 666 - 022 = 644.
Subtraktion ist falsch. ==== man 2 umask ==== Specifically, permissions in the umask are turned off from the mode argument to open(2) (so, for example, the common umask default value of 022 results in new files being created with permissions 0666 & ~022 = 0644 = rw-r--r-- in the usual case where the mode is specified as 0666). ==== Es wird also ein _binares UND_ auf das binaere Komplement der umask angewendet. 666 & ~022 == 666 & 755 == 644 =~ rw-r--r-- 777 & ~022 == 777 & 755 == 755 =~ rwxr-xr-x 666 & ~027 == 666 & 750 == 640 =~ rw-r----- 777 & ~027 == 777 & 750 == 750 =~ rwxr-x--- 666 & ~127 == 666 & 650 == 640 =~ rw-r----- 777 & ~127 == 777 & 650 == 650 =~ rw-r-x--- Bernd Brodesser hat das hier mal *viel* besser erklaert, sucht mal im Archiv nach "+Brodesser +umask +Komplement". -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
Vielen Dank für die vielen Antworten! Jetzt ist mir die Thematik klar und wer sagt's denn...das System ist wie immer logisch. :-) @David: Deine Erklärung war besonders hilfreich für mich! ;-) Nun noch eine abschließende Frage. Kann man denn die Ausganswerte 666 bzw. 777 bei Verzeichnissen irgendwo festlegen? Nochmals vielen Dank, Mike Am Mittwoch, 17. März 2004 19:36 schrieb David Haller:
Es wird also ein _binares UND_ auf das binaere Komplement der umask angewendet.
Mike Unke sagte:
Nun noch eine abschließende Frage. Kann man denn die Ausganswerte 666 bzw. 777 bei Verzeichnissen irgendwo festlegen?
du kannst natürlich in /etc/profile.d in irgendeiner profile datei (am besten in profile.local) reinschreiben was du willst. Aber wenn du wirklich 666 vorgibst bzw. 777 für Verzeihnisse, also jeder darf alles lesen und schreiben, komm ich dir da hin und beiss dir die ohren ab. da kannst du ja schon fast allen usern das root-passwort sagen. schlimm sowas. wozu hat man denn dann ein multiusersystem. lesetips: man chmod, man chown. und denk mal etwas über sticky bit, change user bit, change group bit und sekundäre benutzergruppen nach. bye, MH
Hallo Liste
Aber wenn du wirklich 666 vorgibst bzw. 777 für Verzeihnisse, also jeder darf alles lesen und schreiben, komm ich dir da hin und beiss dir die ohren ab. da kannst du ja schon fast allen usern das root-passwort sagen.
Hi hi, keine Angst, ich werde diese Einstellung sicherlich nicht in dieser Art vornehmen. :-) Dafür ist mir die Sicherheit viel zu wichtig! Der Grund meiner Frage war folgender. Durch das bitweise-UND mit 666 ist es nicht möglich einer Datei, per default, Ausführungsrechte zu geben. Mich hätte nur interessiert, ob dies über das Ändern der Standardvorgabe von 666 auf z.B. 777 möglich wäre. Dieses 777 sind NICHT die Berechtigungen, die die Datei bekommt. Siehe Ausführungen von David Haller in diesem Thread! Gruß, Mike
Hallo, Mike Unke schrieb:
Vielen Dank für die vielen Antworten! Jetzt ist mir die Thematik klar und wer sagt's denn...das System ist wie immer logisch. :-)
@David: Deine Erklärung war besonders hilfreich für mich! ;-)
Nun noch eine abschließende Frage. Kann man denn die Ausganswerte 666 bzw. 777 bei Verzeichnissen irgendwo festlegen?
Ich verstehe Dein Frage so, dass Du die Ausgangswerte, auf die die umask angewendet wird, umstellen möchtest?? Diese Ausgangswerte (666 für Dateien bzw. 777 für Verzeichnisse) kann man meines Wissens nach nicht umstellen. Das ist wohl irgendwo im Code "tie vergraben" ;-) Deshalb ist es auch nicht möglich, über die umask z.B. dafür zu sorgen, dass neu erzeugte Dateien ein Ausführrecht haben. Gruß, Anke -- Think before you ...
Hallo, Am Thu, 18 Mar 2004, Mike Unke schrieb:
Kann man denn die Ausganswerte 666 bzw. 777 bei Verzeichnissen irgendwo festlegen?
Ja. In den Quelltexten des jeweiligen Programmes, das die Dateien/Verzeichnisse erstellt. Siehe man 2 open, man 2 mkdir, jeweils das Argument 'mode'. So verwendet (das Programm) 'mkdir' z.B. 777, touch 666 usw... Diese Rechte werden dann jeweils durch ein "& ~umask" modifiziert. -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
Hallo Liste
Kann man denn die Ausganswerte 666 bzw. 777 bei Verzeichnissen irgendwo festlegen? Ja. In den Quelltexten des jeweiligen Programmes, das die Dateien/Verzeichnisse erstellt. Siehe man 2 open, man 2 mkdir, jeweils das Argument 'mode'.
Vielen Dank für die kompetente Antwort! Das war genau der Punkt, der mir zu meinem Seelenfrieden noch gefehlt hat! :-) Somit hat sich auch dieses Problem geklärt und ich kennzeichne diesen Thread als gelöst. Ebenfalls gilt der Dank auch an euch Anderen, dir mich auf die richtige Spur gebracht haben. Viele Grüße, Mike Unke
participants (7)
-
Anke Boernig
-
Bernd Laengerich
-
Bernd Tannenbaum
-
Daniel Lord
-
David Haller
-
Mathias Homann
-
Mike Unke