Verwerndung von chown - Verst�ndnisfrage
Hallo Liste, nachdem ich nun die Einstellung meines "musterusers" für KDE auf die anderen User übertragen habe, wollte ich mit chown die Rechte in den Verzeichnissen für die einzelnen User korregieren. Normalerweise sollte das mittels 'chown -Rf user:group /home/user/*' kein Problem sein. Aber wie bekomme ich es hin, dass chown auch die mit einem Punkt beginnenden Datein und Verzeichnisse ändert? Wenn ich 'chown -Rf user:group /home/user/.*' machen würde, würden doch auch die darüber liegenden Verzeichnisse behandelt, bis hin zu /home. Wenn ich aber 'chown -f user:group /home/user/.*' ausführe, würden die darunter liegenden Verzeichnisse doch nicht erfasst, so dass ich diese einzeln abarbeiten müsste. Irgendwie steh ich da gerade auf dem Schlauch, 'man chown' und 'info chown' helfen mir auch irgendwie nicht weiter. Wie kann ich das Problem lösen, _ohne_ jedes Unterverzeichnis einzeln abarbeiten zu müssen? -- j<b>k
Hallo Jörgie, * Joerg *Joergie* Kirstner schrieb am 27.Mai.2003:
nachdem ich nun die Einstellung meines "musterusers" für KDE auf die anderen User übertragen habe, wollte ich mit chown die Rechte in den Verzeichnissen für die einzelnen User korregieren. Normalerweise sollte das mittels 'chown -Rf user:group /home/user/*' kein Problem sein. Aber wie bekomme ich es hin, dass chown auch die mit einem Punkt beginnenden Datein und Verzeichnisse ändert?
Es ist nicht chown, das Du nicht verstanden hast, sondern die bash. chown bekommt den * gar nicht zu Gesicht, und wenn doch, könnte es nichts damit anfangen. Es ist die bash, die den * durch die Dateinamen ersetzt. Für chown gibt es keinerlei Unterschied, ob Du die Dateinamen direkt eingibst, oder aber über den * Deine Frage ist somit in zwei Teilen zu teilen, einmal eine Frage nach der bash, und einmal nach chmod.
Wenn ich 'chown -Rf user:group /home/user/.*' machen würde, würden doch auch die darüber liegenden Verzeichnisse behandelt, bis hin zu /home.
Ja, weil Du /home/user/.. mitnimmst, und das ist nichts anderes als /home
Wenn ich aber 'chown -f user:group /home/user/.*' ausführe, würden die darunter liegenden Verzeichnisse doch nicht erfasst, so dass ich diese einzeln abarbeiten müsste. Irgendwie steh ich da gerade auf dem Schlauch, 'man chown' und 'info chown' helfen mir auch irgendwie nicht weiter.
Weil das auch kein chown Problem ist. chown weiß nichts von dem Ersetzungsmechanismus der shell. Du müßtest bei man bash suchen. Eine Lösung über bash wäre etwa chown -Rf user:group /home/user/* /home/user/.??* fals Du keine Verzeichnisse wie .a hast.
Wie kann ich das Problem lösen, _ohne_ jedes Unterverzeichnis einzeln abarbeiten zu müssen?
Was hälst Du von chown -f user:group /home/user Bernd -- Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4
Hallo Bernd, On Tue, 27 May 2003 11:54:59 +0200 Bernd Brodesser wrote:
Hallo Jörgie,
* Joerg *Joergie* Kirstner schrieb am 27.Mai.2003:
nachdem ich nun die Einstellung meines "musterusers" für KDE auf die anderen User übertragen habe, wollte ich mit chown die Rechte in den Verzeichnissen für die einzelnen User korregieren. Normalerweise sollte das mittels 'chown -Rf user:group /home/user/*' kein Problem sein. Aber wie bekomme ich es hin, dass chown auch die mit einem Punkt beginnenden Datein und Verzeichnisse ändert?
Es ist nicht chown, das Du nicht verstanden hast, sondern die bash.
chown bekommt den * gar nicht zu Gesicht, und wenn doch, könnte es nichts damit anfangen.
Es ist die bash, die den * durch die Dateinamen ersetzt. Für chown gibt es keinerlei Unterschied, ob Du die Dateinamen direkt eingibst, oder aber über den *
Deine Frage ist somit in zwei Teilen zu teilen, einmal eine Frage nach der bash, und einmal nach chmod.
Wenn ich 'chown -Rf user:group /home/user/.*' machen würde, würden doch auch die darüber liegenden Verzeichnisse behandelt, bis hin zu /home.
Ja, weil Du /home/user/.. mitnimmst, und das ist nichts anderes als /home
Wenn ich aber 'chown -f user:group /home/user/.*' ausführe, würden die darunter liegenden Verzeichnisse doch nicht erfasst, so dass ich diese einzeln abarbeiten müsste. Irgendwie steh ich da gerade auf dem Schlauch, 'man chown' und 'info chown' helfen mir auch irgendwie nicht weiter.
Weil das auch kein chown Problem ist. chown weiß nichts von dem Ersetzungsmechanismus der shell.
Du müßtest bei man bash suchen. Eine Lösung über bash wäre etwa
chown -Rf user:group /home/user/* /home/user/.??*
fals Du keine Verzeichnisse wie .a hast.
Wie kann ich das Problem lösen, _ohne_ jedes Unterverzeichnis einzeln abarbeiten zu müssen?
Was hälst Du von chown -f user:group /home/user
Zwar hat sich das Problem durch Peters Antwort schon geklärt, aber trotzdem Danke für die kleine Nachhilfe. Mit ein bisschen nachdenken hät ich eigentlich drauf kommen können, das es ein Problem der bash ist. Naja, ich brauch wohl wirklich Urlaub. -- j<b>k
participants (3)
-
B.Brodesser@t-online.de
-
Joerg *Joergie* Kirstner
-
Peter Wiersig