Ordnerberechtigungen werden automatisch geändert

2

Hey Leute, zuerst habe ich viel auf dieser Seite gesucht, aber keine genaue Antwort auf meine Fragen bekommen. Ich weiß nicht, dass etwas automatisch passiert ist und alle Ordnerberechtigungen sich automatisch geändert haben. Alle meine Ordner und Dateien sind mit einem Schlosssymbol versehen. Dann habe ich auf dieser Seite gesucht und die Lösung als diesen Befehl bekommen

sudo chown 777 -R $USER:$USER $HOME

Es hat mein Problem auf halbem Weg gelöst, das Schlosssymbol wurde entfernt, aber jetzt sind alle Ordnerberechtigungen schreibgeschützt. Bitte führen Sie mich durch, wie Sie alle Ordnerberechtigungen so zurücksetzen, wie sie zuvor waren.

Ich benutze Ubuntu 12.10

Vielen Dank

shivamDev
quelle
Aber wie es jetzt nur zu lesen ist, Ich bin nicht in der Lage, etwas zu tun ... Ich denke, es hat den Besitzer oder etwas geändert ... Bitte helfen Sie mir Jungs ...
shivamDev

Antworten:

3

TUN SIE DAS NICHT!

Sie haben geschrieben, dass Sie getan haben sudo chown 777 -R ${USER}:${USER} ${HOME}

1. Problem

Sie verwenden sudo, um einen Vorgang auszuführen, der normalerweise die Ressourcen ändern sollte, die Sie mit Ihrem aktuellen Benutzer steuern. Das ist extrem unsicher.

2. Problem

Sie verwenden Sudo und Umgebungsvariablen. Dies kann zu einer Fehlersituation führen. Versuchen Sie zur Veranschaulichung Folgendes.

  • sudo echo $USER -> zB shivam
  • sudo echo '$USER'-> root

3. Problem

chownändert den Besitz einer Datei. Zum Glück haben Sie einen Fehler hinzugefügt. Der Parameter 777wird als Benutzername identifiziert, der nicht vorhanden ist, und die Datei $ {USER}: $ {USER} wird nicht gefunden.

Der Befehl chmodist für das Ändern von Datei- oder Verzeichnisberechtigungen verantwortlich.

Festlegen der Berechtigungen aller Ordner unter einem bestimmten Verzeichnis.

Verwenden Sie Folgendes, um die Ordnerberechtigungen unter einem bestimmten Verzeichnis zu ändern:

find BASEDIR -type d -exec chmod u+rwx \{\} \;

In Ihrem Fall ersetzen BASEDIRmit ~. Dafür wird die Bash ~durch das Home-Verzeichnis des aktuellen Benutzers ersetzt.

Dadurch werden nur Verzeichnisse (keine Dateien) verarbeitet und die Lese- , Schreib- und Eingabeberechtigungen (auch bekannt als Ausführungsberechtigungen ) für den Eigentümer des Verzeichnisses festgelegt.

Für weitere Informationen lesen Sie bitte man chmod

Anmerkungen:

  • Seien Sie vorsichtig mit der rekursiven Option, -Rda sie alle Verzeichnisse und Dateien unterhalb des angegebenen Verzeichnisses verarbeitet.
  • Verwenden Sie die symbolische Berechtigungsschreibweise wie u+rwx, da dies einfacher zu verstehen ist.
  • Nicht verwenden, sudowenn Sie es nicht wirklich brauchen.

Stellen Sie sicher, dass Ihr Dateisystem korrekt eingehängt ist

Stellen Sie sicher, dass die Partition, die das problematische Basisverzeichnis enthält, mit Lese- / Schreibzugriff bereitgestellt ist .

  grep /home /proc/mounts  

Dies sollte eine ähnliche Ausgabe ergeben:

/ dev / mapper / system-home / home ext4 rw , relatime, discard, commit = 600, data = orders 0 0

Wenn die Option rw nicht angezeigt wird, ist die Partition aus bestimmten Gründen (z. B. Inkonsistenz) schreibgeschützt. Wenn dies der Fall ist, rufen Sie eine Dateisystemprüfung auf. Dies wird normalerweise auch beim Booten Ihres Computers aufgerufen.

H.-Dirk Schmitt
quelle
Kannst du mich mit Basedir führen? ..Im neu bei Linux
shivamDev
Dies sind die Ergebnisse: shivamd @ shivam: ~ $ grep / home / proc / mounts shivamd @ shivam: ~ $ / dev / mapper / system-home / home ext4 rw, relatime, discard, commit = 600, data = orders 0 0 bash: / dev / mapper / system-home: Keine solche Datei oder kein solches Verzeichnis shivamd @ shivam: ~ $
shivamDev
Ich glaube, als ich diesen Befehl zum ersten Mal ohne 777 ausprobiert habe, hat sudo chown 777 -R $ {USER}: $ {USER} $ {USER} $ {HOME}
shivamDev
Nein, eigentlich habe ich dieses Tool verwendet und es durch den Namen meines Home-Verzeichnisses ersetzt ... Aber es gab mir einen Fehler, da das Verzeichnis nicht gefunden wurde. Ich habe diesen Befehl ausgeführt: find shivamd -type d -exec chmod u + rwx \ {\} \;
ShivamDev
sudo chown -R ${USER}:${USER} ${HOME}nicht gut, aber wahrscheinlich hat es nichts verschlüsselt, weil normalerweise $ USER: USER das richtige Eigentum für Benutzer und Gruppe von Elementen unter dem Benutzerverzeichnis ist.
H.-Dirk Schmitt
1

Das größte Problem besteht darin, dass sich alle Ihre Dateien in einem Zustand befinden, der zwar jetzt lesbar, aber ziemlich unbrauchbar ist.

Das Problem beim manuellen Festlegen von Berechtigungen besteht darin, dass nicht alle Dateien den gleichen Berechtigungssatz haben (denken Sie beispielsweise an Ihre SSH-Schlüssel, Sie möchten nicht, dass jemand anderes sie lesen kann), sodass Sie sich in einer chaotischen Situation befinden für jede einzelne Datei zu entscheiden, welche Berechtigungen sie haben sollen.

Das Beste, was Sie tun können, ist, ein neues Konto zu erstellen und die benötigten Dateien vom alten Konto zu kopieren. Berechtigungen werden dann automatisch festgelegt. Wenn Sie Ihre persönlichen Einstellungen benötigen, können Sie diese auch von Ihrem alten Konto kopieren. Sie befinden sich in versteckten Dateien oder in versteckten Verzeichnissen in Ihrem Ausgangsverzeichnis. Achten Sie darauf, nur das zu kopieren, was Sie brauchen.

Es kann auch ratsam sein, danach eine Dateisystemprüfung durchzuführen.

thom
quelle