Standartmäßig Rechte vergeben

Post Reply
Message
Author
Adrian

Standartmäßig Rechte vergeben

#1 Post by Adrian »

Hallo,

ich habe einen Server mit RedHat Linux 9. Über SSH kann ich mich darauf einlogen und Befehle eingeben. Ich versuche seit Wochen den UMASK-Befehl richtig auszuführen. Mein Ziel ist es, einem Ordner zu befehlen, dass alle Unterordner, auch die die neu erstellt werden (gerade die!!) die Rechte 777 bekommen sollen. Soviel wie ich erfahren konnte muss ich dazu

umask 000 /var/www/.../*

anwenden. Oder alternativ

umask u=rwx,g=rwx,o=rwx /var/www/.../*

Bei beiden Befehlen bekomme ich keine Fehlermeldung. Scheint also alles zu funktionieren. Wenn ich nun aber einen Ordner erstelle hat dieser immernoch 755 und nicht wie gefordert 777 (UMASK vergibt ja standatmässig 022. Sprich 777 - 022 = 755). Warum bekomme ich das nicht mit dem Befehl hin? Mach ich da was falsch? Das Ziel ist also wie gesagt, das Ordner die in dem Ordner neu erstellt werden automatisch mit 777 ausgestattet werden. Daher bitte keine CHMOD-Antworten ;))

ratte

Re: Standartmäßig Rechte vergeben

#2 Post by ratte »

Hi,

der manpage von umask kann man entnehmen, dass umask nur ein Argument erwartet und demnach die Angaben von z.B. Verzeichnissen in Folge ohne Folge bleiben. Das Argument, das umask entgegenimmt, ist der dezimale Wert der binaeren Maske, die bei neu angelegte Dateien 666 und Verzeichnisse 777 subtrahiert wird. Ausserdem kann man der manpage entnehmen, dass umask nur bei Verwendung von open(2) (also man 2 open, siehe dort) Anwendung findet. Weswegen du keine Fehlermeldung bekommst, steht ebenfalls in der manpage zu umask.

Ein gutes Linux-Buch o.ae. zeigte, dass die systemweite Einstellung der umask in der Datei /etc/profile definiert wird. Aus gleicher oder anderer kompetenter Quelle wuerde man gelernt haben, dass das Neusetzen der umask nur Gueltigkeit in der aktuellen Shell hat.

Was du zur Realisierung brauchst, ist z.B. ein Alias oder eine Bashfunktion, die dir mkdir mit der gewuenschten Funktionalitaet ersetzt, u.U. sogar ohne umask und anstelle davon die Verwendung von chmod.

ratte

Jochen

Re: Standartmäßig Rechte vergeben

#3 Post by Jochen »

Interessehalber: Wie werden die Ordner denn neu erstellt?

Von der Shell aus kann man sich mit Aliasen, Shellfunktionen oder -skripten behelfen, wie ratte ganz richtig gesagt hat. umask diskriminiert übrigens nicht nach Dateien; wenn man ein "umask 000" einstellt, erhalten nicht nur Verzeichnisse, sondern auch neu angelegte normale Dateien die Zugriffsrechte 666 bzw. 777 - freier Zugriff für alle! Das ist meist nicht gewünscht.

Sollten die neuen Verzeichnisse aus Skripten heraus angelegt werden, ist ein zusätzliches chmod schnell eingebaut.

Samba bietet mehrere Parameter in der smb.conf für diese Zwecke: create mask, directory mask, force directory mode u.v.a.m. Am einfachsten erarbeitet man sich diese Optionen, indem man über SWAT ein Share anlegt und in die erweiterte Ansicht dieses Shares geht. Von dort aus kann man sich schön direkt von den Optionen zu den Eräuterungen klicken.

Jochen

User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

Re: Standartmäßig Rechte vergeben

#4 Post by Stormbringer »

Hallo Adrian,

naja, Erklärungen dazu haben ratte & Jochen ja schon gegeben .... aber mal eine andere Frage:
bist Du sicher, daß Du einem WWW zugänglichen Bereich 0777 Berechtigungen geben willst?

Gruß
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)

Post Reply