[linux-l] ...Imernoch die (mittlerweile) nervt?tende Dateirechte.

Ihno Krumreich ihno at lst.de
Do Jul 3 08:19:39 CEST 2003


On Wed, Jul 02, 2003 at 11:08:23AM +0200, Olaf Radicke wrote:
> Am Mit, 2003-07-02 um 01.00 schrieb Ihno Krumreich:
> > Hi Olaf,
> > On Tue, Jul 01, 2003 at 11:25:34AM +0200, Olaf Radicke wrote:
> [...] 
> > > Offensichtlich ist hat das Prog immer noch nicht root Rechte.
> > 
> > Das ist nicht der Grund. Es fehlt die search-permission.
> > 
> > Bei dem Verzeichnis /var/freepriority ist das x-bit fuer den User nicht
> > gesetzt. Damit scheitert jeder Zugriff als Nutzer freepriority wenn
> > der komplette Pfad (/var/freepriority/FreePriority) angegeben wird.
> 
> Klappt immer noch nicht. Merkw?rdigerweisse reagiert das Prog
> bei jedem User unterschiedlich. Aber wirklich wundern tut mich
> das eigentlich nicht, bei dem Wirrwarr an Datei-, Verzeichnis-,
> User, Gruppen-, Ausf?hrungs - R?chten.  
> 
> Ich denke ich muss das wirklich Programmintern l?sen.
> Da das Prog Dateien  anlegen und l?schen kann, will
> ich es nicht als Root laufen lassen.  
> 
> > Noch ein Tip zu den hier angegebenen chmod-Befehlen. Ich bin
> > ueberhaupt kein Freund von der oktalen Angabe von Zugriffrechten,
> > da meistens mehr gemacht wird als man will. Der obige Befehl
> > chmod -R 660 setzt die Schreibberechtigung, koescht aber bei
> > einem Verzeichnis die search-permission. Wenn ich es richtig
> > verstanden habe soll die Schreibberechtigung gesetzt werden.
> > Das geht auch mit chmod -R og+rw und damit werden andere
> > Rechte nicht veraendert.
> 
> Der Befehl zeigt bei mir keine Wirkung. Weder Fehlermeldung
> noch sonst was.

Ich habe gerade nochmal nachgesehen. Bei dieser Form wird
die gesetzte umask beachtet. Villeicht passiert dewegen nichts.

>   
> > > Innerhalb des (erw?hnten) Progs werden Datein angelegt vom
> > > User. Z.T. mir "echo > neuedatei.xml". Diese haben dann den
> > > Mudus rwx--x--x. Was verhindert, das andere User der Gruppe,
> > > diese Dateien modivizieren k?nnen. Deshalb muss bei jedem 
> > > Prog- Start erstmal das ganze Verzeichnis mit "chmod -R 660" ?ber
> > > geb?gelt werden.
> > 
> > Um zu verhindern, das die Dateien mit den falschen berechtigungen
> > angelegt werden muss man die umask setzen. Normale Dateien 
> > werden mit 0666 angelegt. Dann werden die Bits geloscht, die in der
> > umask angegeben sind (Im normalfall 0022, d.h. Schreibberechtigung
> > fuer gruppe und Welt wird geloescht.)
> > 
> > Setzen kann man die umask in der shell mit
> > 
> > umask 0011
> > 
> > oder in einem C-Programm mit
> > 
> > umask(0011);
> 
> O.K. Das klingt schon wesentlich interessanter. Ich habe mir
> mit sauer zu hause ersessenen Arbeitslosengeld "Linux/Unix-
> Systemprogrammierung" von H. Herold gekauft. Das Kapitel
> zu umask habe ich mir drei mal durchgelesen und so wie
> ich es (bisher) verstanden habe, kann man damit nur sagen
> was beim Anlegen einer Datei NICHT gesetzt werden darf und
> nicht was gesetzt werden muss.

Dann hat du es genau richtig verstanden.

Ihno




Mehr Informationen über die Mailingliste linux-l