• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

chown und chgrp funktioniert nicht!

Halle Leute,

hoffe mal, dass es noch keinen Beitrag zu diesem Thema hier gibt. Habe schon über die Suchfunktion gesucht aber nix gefunden.

Habe folgendes Problem:
Ich habe Suse 10.3 neu installiert und vorher meine Privaten Dateien wie Textdokumente und Musikdateien gesichert (als root). Nun habe ich alles wieder in mein Benutzerverzeichnis kopiert. Natürlich ist jetzt bei jeder Datei Benutzer sowie Gruppe auf ROOT gesetzt und bisher habe ich dies über die Konsole als root mit folgenden Befehlen erfolgreich geändert (chown -hR neuer Benutzer /root sowie chgrp -hR users /root).
Jetzt ist es aber so, das er die Befehle nicht anmeckert aber auch weder Benutzer noch die Gruppe wie gewünscht ändert.

Hat jemand eine Idee, wie ich das Problem lösen kann oder was ich falsch mache?
Bin kein Linux-Crack sondern noch relativ neu in der Linux gemeinde aber das ist kein Grund mich zu verschonen ;-)

Danke euch schonmal für eure Hilfe.

P.S.: Die Antwort 42 funktioniert auch nicht ;-)
 

spoensche

Moderator
Teammitglied
Bekommst du eine Fehlermeldung? Wenn ja mal posten.

Code:
chown -R user:gruppe /pfad/zum/verzeichnis

Das ist der korrekte Aufruf und nicht mit der Option -h. Die steht nämlich für eine symbolische Verknüpfung.
 

pft

Advanced Hacker
... und Besitzer/Gruppe von "/root" solltest Du definitiv nicht ändern, sondern auf /root belassen.

Poste bitte statt prosa einen Konsolenauszug, d.h. genaue Abfolge sinnvoller Befehle (hier abwechselnd chown/chrgrp und ls -l) und Rückmeldungen. Sonst ist man nei sicher was Du wirklich getan hast bzw. was passiert.

Im Übrigen kann man mit cp bzw. besser mit tar durchaus so sichern, dass die Rechte nach dem zurückspielen wieder stimmen. Man-pages sollen hier ganz hilfreich sein ;-)
 
pft schrieb:
Im Übrigen kann man mit cp bzw. besser mit tar durchaus so sichern, dass die Rechte nach dem zurückspielen wieder stimmen. Man-pages sollen hier ganz hilfreich sein ;-)
Im Übrigen kann man das nicht, weil tar sich keine ACLs merkt. Und wenn man schon cp kann, dann ist rsync nicht weit.
 

pft

Advanced Hacker
... und von ACLs war ja erst mal gar nicht die Rede, sondern nur von Eigentümer und Gruppe.
Aber was hilft uns bzw. ihm DIESE Diskussion jetzt?
 
OP
N

Norvegicus

Newbie
norvegicus@linux-suse:~> su
Passwort:
linux-suse:/home/norvegicus # chown -hR norvegicus /root
linux-suse:/home/norvegicus # chgrp -hR users /root
linux-suse:/home/norvegicus #

So, oben mal die Befehle die ich eingebe.
Die logische Verknüpfung (-h) brauche ich doch wenn ich sämtliche Ordner und Dateien in dem Verzeichnis mit einbeziehen möchte oder sehe ich das falsch? Zumindest gibt mir die Hilfe das so an.

@ pft: Ich will die Rechte der Dateien von /root auf meine Benutzerrechte übertragen, da die Dateien ja meine sind und ich sie in meinem Home-Verzeichnis verwalten möchte.
wie z.B. mein Opera-Profil.

Hoffe mal das sind alle Infos die Ihr braucht.

Nachtrag:
@ spoensche: Habe es gerade mal mit dem von Dir angegebenen Befehl versucht und es hat funktioniert. Hat sofort die Benutzerrechte für alle gewünschten Ordner übernommen.
Verstehe nur nicht warum er das mit meiner Variante nicht macht....*grübel*....hat sonst auch funktioniert.

Aber auf jeden Fall Danke an alle für eure Hilfe!!!
 

pft

Advanced Hacker
Ich will die Rechte der Dateien von /root auf meine Benutzerrechte übertragen, da die Dateien ja meine sind und ich sie in meinem Home-Verzeichnis verwalten möchte.
Ist Dir eigentlich klar was deine Befehle tun würden, wenn sie denn funktionieren würden wie Du möchtest?

Ich steh ja manchmal auf der Leitung, aber das ist für mich unklar bzw. daneben:
1) "Dateien von /root" was soll das sein? /root ist ein directory und zwar das home directory des super users. Folglich gibt es bestenfalls Dateien "in" oder "unter" /root und deren Rechte solltest Du erst nach dem kopieren an den richtigen Ort (dein home-directory) ändern.
2) wenn Du meinst "Dateien von root" (man beachte den fehlenden slash), also die, die jetzt dem super user gehören, dann ist dein Vorgehen daneben. Dazu brauchst Du "find"
3) wenn Du Rechte bzw. besser Besitzer und Gruppe von Dateien ändern willst dann tu das, aber bitte nicht für das ganze übergeordnete directory und schon gar nicht für /root

Also überleg Duir was Du meinst und was Du willst:
* zu ändernde Dateien über den Ort spezifizieren: dann erst kopieren und dann ändern, etwa so
Code:
cp -r /root/* /home/meinname
chown -hR meinname:users /home/meinname
* zu ändernde Dateien über den derzeitigen Besitzer spezifizieren: mit "find" arbeiten, aber gaaaaanz vorsichtig, sonst stehst Du kurz vor 'ner Neuinstallation; wieder besser erst kopieren und dann ändern, etwa so
Code:
cp -r src_dir/* /home/meinname
find /home/meinname -user root -exec chown -h meinname:users {} \;
In dem Fall dass Du als src_dir "/root" angibst, kommt natürlich beides aufs gleiche raus

Achtung: ich bezweifle, dass Du wirklich ALLE Dateien unter /root ändern willst. root selbst hat da ja auch was zu liegen.
 

spoensche

Moderator
Teammitglied
Sieh dir mal wegen der Option -h die Hilfe des Befehls an. Die ist für eine symbolische Verknüpfung, wie ich das schon gesagt hatte.

Ich war eigentlich davon ausgegangen das er die Daten von einem normalen Benutzer als root gesichert hatte und deswegen den Benutzer ändern wollte.
 
OP
N

Norvegicus

Newbie
@ pft: Ich danke Dir für die Aufklärung. Arbeite mich halt nur langsam an das Thema ran bei dem bisschen Freizeit das ich habe.
Wollte ja nicht das Verzeichnis von "root" ändern sondern die Benutzerrechte die ich als "root" von anderen Usern gesichert hatte, denn es gestaltet sich schwierig eigene Dateien zu bearbeiten wenn man keine Rechte dazu besitzt.
Habe einfach mit den Befehlen gearbeitet, die in der Hilfe angezeigt werden...aber wer lesen kann ist klar im vorteil...also muss ich wohl doch meine Brille aufsetzen ;-)

Also danke für die Hilfe Leute!
 
Oben