Wechsel von Root zu User?

Hallo,

jahrelang habe ich alles in openSUSE als root erledigt, auch das Schreiben von
Briefen mit texlive und diese mit KGhostview angesehen und ausgedruckt. Eine
wirklich wichtige Tätigkeit seit ich meine alte Schreibmaschine in die Ecke ge-
stellt habe. Dabei sind seit etwa 1998 hunderte, wenn nicht tausende Briefe und
FAXe in diversen Ordnern und Unterordnern gespeichert. Dies ist natürlich mit
root:root geschehen.

Auf dringenden Rat hin und nach Installation von openSUSE-12.2 habe ich nun
alles Relevante von root auf user umgebaut.

Nun nach dem Umzug von root nach user (werner:users) habe ich mit
Code:
chown -R werner:users Briefe/
alles bis in die tiefsten Ordner darauf eingestellt. Nur wenn ich jetzt ein Schreiben
als User (werner) mit LaTeX kompiliere und letztlich als PS-File habe,
was funktioniert, und dieses mit KGhostview (aus kdegraphics3-postscript) an-
sehen und ausdrucken will, dann werde ich in kein Verzeichnis eingelassen:
Code:
Zugriff verweigert auf /home/werner/Briefe/Werner.
/home/werner/Briefe/ ist ein Softlink zu /archiv/Briefe/ Und merkwürtiger Weise
wird ein pdf-File direkt hinter /home/werner/Briefe/ ( /archiv/Briefe/) von KGhost-
view angezeigt

Also in meinen Nöten eben doch wieder alles als root ...

Dank für helfende Hinweise,
Werner.
 
Damit ein Benutzer in die Ordner wechseln kann, müssen diese für ihn das Executable-Flag haben. Folgender Befehl als Root sollte dies sicherstellen:

Code:
find . -type d -exec chmod a+rx {} \;

Auf einem als Multi-User-System genutzten Rechner, sollte man natürlich die Rechte etwas differenzierter setzen (ug+rx).

Ausserdem muss bei Links natürlich sichergestellt sein, dass der User diese Links auch nutzen kann. Der Link muss dem User gehören und mit den Zugriffsrechten 777 ausgestattet sein.
 
Danke für die rasche Antwort, nur so ganz steige ich nicht durch
Code:
find . -type d -exec chmod a+rx {} \;
Wo stelle ich mein Verzeichnis Briefe/ im oben genannten Befehl hin?

Oder geht es mit
Code:
chmod -R ug+rx Briefe/ ?
Gruß,
Werner.
 
Danke für die rasche Antwort, nur so ganz steige ich nicht durch
Code:
find . -type d -exec chmod a+rx {} \;
Wo stelle ich mein Verzeichnis Briefe/ im oben genannten Befehl hin?

Dort wo der einzelne Punkt steht. Syntax: find <wo-wird-gesucht> -type <welcher-typ-wird-gesucht d = directory> -exec <befehl der ausgefuehrt wird, wobei '{}' durch den Treffer ersetzt wird>

Oder geht es mit
Code:
chmod -R ug+rx Briefe/ ?
Gruß,
Werner.

Nein, damit würdest du auch alle Dateien erwischen und die sollen nicht alle ausführbar werden. Der oben genannte find-Befehl sucht nur die Ordner und wendet den mit '-exec' angegeben Befehl auf alle gefundenen Ordner an.
 
Zurück
Oben