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

Alle Dateien alle Rechte gleichmachen

Hallo,

mein user ging nicht mehr, da hab ich alle "wichtigen" Dateien in einen neuen user reinkopiert. Jetzt sind die Dateien nicht mehr änderbar,
weil der neue user keine Rechte an den Dateien hat. Ich kann jede Datei einzeln anklicken und die Rechte ändern. Aber ich frage euch,
gibt es eine andere Möglichkeit z,B, alle Rechte aller Dateien in einem Verzeichnis mit einem Befehl so zu ändern, dass jetzt der neue user der Eigentümer ist ?

Danke

0815
 
A

Anonymous

Gast
LinuxUser0815 schrieb:
Ich kann jede Datei einzeln anklicken und die Rechte ändern.
zitrone schrieb:
Code:
man chmod
und/oder
Code:
man chown
aufpassen dass ihr hier nicht aneinander vorbei redet. Einer will mit der Maus spielen der andere auf der Konsole ;)
http://www.linupedia.org/opensuse/Hilfe_zu_Antworten_aus_dem_Forum#man_irgendwas

Prinzipiell sollte es in jedem Dateimanager aber möglich sein bei den Eigenschaften eines Ordners auch die Zugriffsrechte rekursiv zu verändern bzw zu korrigieren.
Könnte dort versteckt sein zB. hinter dem Begriff "Änderung auf alle Unterordner und ihre Inhalte anwenden"
In der Regel ist der Benutzer hier bei einem Kopiervorgang der Dateien falsch übernommen oder gesetzt worden.

robi
 

abgdf

Guru
LinuxUser0815 schrieb:
gibt es eine andere Möglichkeit z,B, alle Rechte aller Dateien in einem Verzeichnis mit einem Befehl so zu ändern, dass jetzt der neue user der Eigentümer ist ?
Ja. Als root:
Code:
chown -R [name].users /home/directory
wobei [name] der Name des neuen Benutzers ist.

Etwas Vorsicht ist bei so einem Befehl aber schon angebracht.
Ich mußte einmal Linux ganz neu installieren, weil ich damit in den Systemverzeichnissen einen falschen Eigentümer gesetzt hatte. Das war nicht wiederherzustellen, weil die Information über den, bzw. die ursprünglichen Eigentümer dann weg war.
Dasselbe gilt für "chmod" und die Rechte.
 

marce

Guru
Auch wenn's vielleicht über die Anfoderung und Kentniss des TE hinaus geht:

Ich würde auch chmod -R generell verzichten und lieber mit find arbeiten, damit man so zwischen Verzeichnissen und Dateien unterscheiden kann - Verzeichnisse z.B. mit 700, Dateien mit 600 - x-Rechte braucht man auf Dateien eher selten...
 

/dev/null

Moderator
Teammitglied
Ich habe es nie probiert, weil ich "für sowas" auch nie Klickibunti verwenden würde ... .
Würde es denn nicht auch funktionieren, wenn in YAST > Benutzer ... dem Benutzer die nun aktuelle UID lt. /etc/passwd zugewiesen würde?
Vlt. auch einmal zw. einer beliebigen und der gewollten UID hin- und her ändern.
Die von einem anderen Nutzer übernommenen Rechte müssten ja, wenn vorher korrekt, jetzt auch immer noch stimmen. Es geht ja nur um den Besitz.
Versuch macht kluch ... .


MfG Peter
(der sich gern belehren lässt, wenn der Gedanke abwegig ist)
 
A

Anonymous

Gast
marce schrieb:
Ich würde auch chmod -R generell verzichten und lieber mit find arbeiten, damit man so zwischen Verzeichnissen und Dateien unterscheiden kann - Verzeichnisse z.B. mit 700, Dateien mit 600 - x-Rechte braucht man auf Dateien eher selten...
Das macht wahrscheinlich jeder der zu faul ist die Manpage zu lesen. Warum enthält wohl die Modesyntax von chmod ein großes "X" obwohl es so ein Zugriffsrecht gar nicht gibt ?
manpage chmod schrieb:
'[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'
robi
 

abgdf

Guru
Leute:
LinuxUser0815 schrieb:
da hab ich alle "wichtigen" Dateien in einen neuen user reinkopiert. Jetzt sind die Dateien nicht mehr änderbar, weil der neue user keine Rechte an den Dateien hat.
Hier sollte man doch die Zugriffsrechte in Ruhe lassen und nur den Eigentümer ändern, das heißt den neuen user zum Eigentümer machen, also chown, nicht chmod. find oder nicht find spielt dann auch keine Rolle.
 

/dev/null

Moderator
Teammitglied
Und genau deswegen meine Frage, ob das (für den Mausschubser) nicht mit dem Eintragen der "richtigen" UID in Yast erreichbar ist.
 

marce

Guru
Nach der Beschreibung: Nein.

Er hatte einen User, "der ging nicht mehr", hat sich einen neuen angelegt und dort die wichtigen Dateien des alten Users hinkopiert. Sprich dort befinden sich nun Daten mit UserID1 und UserID2 - zudem exisitiert wohl der alte User noch im System - dann hätte man eine doppelte UserID.

Klappen kann das (hängt noch von ein paar mehr Faktoren ab), wenn es keine Mischdaten gibt - man also User1 von System1 vor dem Anlegen des USers2 auf System2 nach System2 kopiert und dann den User2 auf System2 mit der ID von User1 auf System1 expliziet anlegt.

So, alle noch dabei? :)
 
A

Anonymous

Gast
marce schrieb:
So, alle noch dabei? :)
Sicher sind hier alle noch dabei, außer vielleicht LinuxUser0815 der hier nicht versehen wird wie aus einer ganz einfachen Frage so ein philosophisches Problem werden kann
marce schrieb:
man also User1 von System1 vor dem Anlegen des USers2 auf System2 nach System2 kopiert und dann den User2 auf System2 mit der ID von User1 auf System1 expliziet anlegt.
und wieso sich sein Problem jetzt plötzlich über 2 Rechner erstrecken soll, wo er doch nur eines hat. :???:
Warum einfach wenn es auch kompliziert geht. ;)

Es sind Dateien von User-Gehtnicht nach User-Anders verschoben/kopiert worden. Lesen kann er die Dateien, nur nicht ändern. - Richtig?
Also reicht es aus einen Dateimanager als User root zu öffnen, den Ordner /home/User-Anders zu nehmen und bei Eigenschaften->Berechtigungen den Eigentümer "User-Anders" einzustellen und das Feld "Änderungen auf alle Unterordner und Inhalte anwenden" zu markieren, und dann das Ganze mit OK zu bestätigen. - Das sollte doch wohl ausreichen.

Dazu braucht sich LinuxUser0815 nicht damit beschäftigen wie er sowas auch auf der Konsole mittels chown, chmod, oder gar noch mittels setfacl , find ... -exec ...\; , usermod , mit vi /etc/irgendwas, hexedit irgendetwas oder wie auch immer bewerkstelligen kann und das er dazu dann aber noch ls , man, info und sudo nutzen sollte.

Einfache Frage, Einfache Antwort, alles andere ist Thema verfehlt

robi
 

marce

Guru
robi schrieb:
und wieso sich sein Problem jetzt plötzlich über 2 Rechner erstrecken soll, wo er doch nur eines hat. :???:
Warum einfach wenn es auch kompliziert geht.
Wenn Du genau liest antworte (mit Erkllärung) ich auf die Frage, ob es nicht auch einfach reichen würde, dem User2 die UID von User1 zu verpassen.

Aber ja, dem TE reicht vermutlich einfach ein chown an der Konsole oder die entsprechenden Optionen, die man sicherlich in jedem Dateimanager anwählen kann, damit das (a) mit root-Rechten und (b) rekursiv auf alle Unterverzeichnisse gemacht wird.
 

TomcatMJ

Guru
Oh man,was für'n Hickhack mit doppelter User-ID und ähnlichen faxen die nur wirklich klappen wenn man dem User die ID bei Erstellung des Users bevor die Dateien im /home/Username Verzeichnis angelegt werden verpasst da man sonst fast immer irgendeine relevante Datei vergisst der explizit vergebenen UserID zuzuordnen.....

Machen wirs nochmal für Laien etwas verständlicher:
Angenommen wir haben einen User Namens Sepp der gerade neu angelegt wurde weil der bis dahin genutzte User Jupp irgendwas in der Konfiguration geschreddert hat.
Zuerst wird ein Backup der nun funktioniernden Userdateien in ein Verzeichnis außerhalb des Userhomes angelegt damit man ggf. was hat auf das man nochmal zurückgreifen kann und legen dafür über die Konsole oder sonst irgendeine Terminalemulation wie xterm ein Verzeichnis mit Zugriffsrechten für den funktionierenden User an:
Code:
sudo mkdir /home/Userhomebackup_Sepp
sudo chown Sepp:users /home/Userhomebackup_Sepp
Dann kopiert man einfach mit einem Dateimanager nach Wahl das komplette Homeverzeichnis /home/Sepp dorthin unter Beibehaltung der Dateiattribute. Ob man das nun mit mc im xterm oder Dolphin macht oder mit einem anderen Dateimanager ist ziemlich egal solang man nicht vergisst die Beibehaltung der Dateiattribute zu aktivieren.
Danach legt man unter der normalen funktionierenden Userkennung von Sepp als der man ja akut eingeloggt ist ein Verzeichnis an in das man die Dateien von Sepp kopieren kann:
Code:
mkdir /home/Sepp/Jupp-Backup
Dorthin kopiert man nun im Superuser-Modus (auch als root-Modus bekannt) mit einem Dateimanager nach Wahl der sich in diesem Modus starten lassen sollte die Dateien von /home/Jupp.
Nun gilt s die Dateien Sepp verfügbar zu machen und dazu nutzt man wieder die Konsole bzw. die Terminalemulation und führt dort fiolgendes aus:
Code:
sudo chown -R Sepp:users /home/Sepp/Jupp-Backup/*
Danach kann man nun die Dateien so ins Userhome von Sepp verschieben bis man alles so am laufen hat wie man es haben will und hat noch immer die Option auf die funktionierende Version der ursprünglichen Fassung des Users Sepp zum benutzen oder vergleichen zurückzugreifen wenn man nun aus versehen die kaputte Konfiguratioonsdatei von Jupp über die vorher funktionierende originale Version von Sepp gebügelt hat.

Sobald man sicher ist das alles so wie gewünscht funktio0niert und alle Daten die man übernehmen wollte wieder vollumfänglich verfügbar sind kann man natürlich die Backupdaten aus /home/Userhomebackup_Sepp entfernen ebenso wie sonst doppelt im System herumliegende Daten aus /home/Sepp/Jupp-Backup, nur sollte man vorher wirklich ganz sicher sein daß ealles nun funktioniert wie gewünscht und die Daten auch alle da sind wo sie sein sollen und in vollem Umfang nutzbar sind wie gewünscht.

chown ist für solche Aufgabe einfach weitaus effektiver und mit weniger Aufwand zu nutzen als die üblichen grafischen Dateimanager da man mit einer zeile das erledigen kann wozu man in einem Dateimanager erstmal durch zig Fenster hrumklicken müsste und sich dort auch an diversen Stellen schnell mal Stolperfallen verstcken können die man meist erst bemerkt wenns eh schon zu spät ist ;) Allenfalls der MidnightCommander (vulgo mc) vereinfacht da dann die Umsetzung des Befehls über die Tastenkombination Strg-x-o nach vorherigen Markieren der zu ändernden Dateien/Ordner (denn Dateimanager sind ja auch nur mehr oder weniger grafische Oberflächen für diverse Befehle wie eben auch chown einer ist) eventuell auch nochmal ein bischen,aber auch nicht wesentlich...
 
Oben