Erlaubnis verweigert auf ~, obwohl der Eigentümer als ich aufgeführt ist

13

Irgendwie schaffte ich es, meine Gedanken in Vergessenheit zu bringen.

Wenn ich versuche, mich über die Shell anzumelden, erhalte ich

bash: ~/.bashrc : Permission denied

Auch nachdem ich ( als root ) gelaufen bin

chown -hR nroach44 /home/nroach44

und

chmod -R 666 /home/nroach44

oder ( als nroach44 )

chmod -R 644 /home/nroach44

Keiner dieser Befehle gibt Fehler zurück.

Ebenfalls:

ls -la /home/nroach44

Liefert viele

drw-rw-rw-  1 nroach44 nroach44 4096 --date-- ti:me foldername

Irgendeine Hilfe?

NRoach44
quelle
Vielen Dank an alle! Gibt es eine Anleitung, welche Dateien welche Berechtigungen im Home-Ordner benötigen? :)
NRoach44
/homesollte drwxrwxr-xund root:rootund /home/user rw rw -- or r-abhängig davon sein, ob andere Benutzer Ihre Benutzerdateien lesen sollen. Verzeichnisse und ausführbare Dateien mit x. Dasselbe userinterne Verzeichnis ist kein Problem, wenn Sie den Benutzer group = (nroach44: nroach44) haben, den Sie anscheinend haben (ich würde nur 0 (---) Berechtigungen für andere vergeben).
Laurent

Antworten:

14
chmod -R 666 /home/nroach44

oder

chmod -R 644 /home/nroach44

Dadurch werden alle Dateien in Ihrem Home-Verzeichnis nicht ausführbar. Es war keine gute Idee;)

Ich weiß nicht, wie ich dieses Durcheinander beseitigen soll. Als schnelle Umgehung können Sie versuchen, es als root zu tun:

chmod -R 755 /home/nroach44

Mit diesem Befehl erhalten Sie Ausführungsberechtigungen für alle Dateien in Ihrem Basisordner. Es sollte Ihre unmittelbaren Probleme lösen, aber es könnte ein Sicherheitsalptraum sein.

Die beste Lösung ist, ein anderes Benutzerkonto zu eröffnen und die Dateien und Einstellungen nacheinander zu übertragen.

Javier Rivera
quelle
6
Ich wusste nicht, dass Verzeichnisse x Berechtigungen zum Öffnen benötigen. Vielen Dank!
NRoach44
5

Für Verzeichnisse muss das Ausführungsbit gesetzt sein, damit Sie in das Verzeichnis absteigen können. Plain 666ist einfach falsch, auch wenn Sie als Root ausgeführt werden. Es gibt jedem Schreibrechte.

Führen Sie Folgendes aus, um die Dateien sicherer zu machen:

chmod -R 640 /home/nroach44

Führen Sie Folgendes aus, um die Ordner wieder absteigend zu machen:

find /home/nroach44 -type d -exec chmod 750 \;

Hinweis: Ich habe mich für xx0 entschieden, da einige Dateien möglicherweise vertraulich sind und nicht von anderen gelesen werden. Entfernen Sie zum Speichern die Lese-, Schreib- und Ausführungsberechtigungen für die ganze Welt.

Lekensteyn
quelle
Ich wollte nur testen, ob es funktionieren würde oder nicht :)
NRoach44
4

Da Sie anscheinend über ausreichende Berechtigungen für ~ /homeverfügen , benötigen Sie die Berechtigung x für andere (sudo chmod +rx /home ) und prüfen, ob die Berechtigungen für die /home/nroach44/.bashrcDatei in Ordnung sind .

Ein weiterer Punkt ist, dass Verzeichnisse über die Berechtigung x verfügen müssen, damit sie eingegeben werden können, damit alle Probleme behoben werden können sudo chmod -R +X /home/nroach44.

laurent
quelle
Zu wissen, dass zum Eingeben von Ordnern Ausführungsberechtigungen erforderlich sind, war schon vorher gut zu wissen. Vielen Dank!
NRoach44
Ich kannte kein Kapital X+1
Lekensteyn
capital Xist sehr nützlich und ich habe mich sehr gefreut, es zu entdecken ... nach langer Zeit mit find !!
Laurent
1

Dies liegt daran, dass Sie die Berechtigungen aller Dateien in Ihrem HOME-Ordner durcheinander gebracht haben. Seien Sie bitte sehr vorsichtig, wenn Sie mit Dateiberechtigungen spielen, verwenden Sie chmod und chown sehr vorsichtig, sonst kann es zu einem Durcheinander kommen.

bash: ~/.bashrc : Permission denied

Ich denke, Sie haben die Berechtigungen aller Dateien in Ihrem Home-Verzeichnis geändert, sodass sich auch die Berechtigung von bashrc geändert hat.

Die Standardberechtigungen für das ~ / .bashrc-Skript sind

-rw-r--r-- 1 user1 user1  3353 2012-01-09 12:05 .bashrc

Um dies zu erklären, sollten Sie sowohl Lese- als auch Schreibrechte für die Datei haben, andere Benutzer der Benutzergruppe sollten in der Lage sein, sie zu lesen, und alle anderen können sie auch lesen.

Ändern Sie nun die Berechtigungen des bashrc-Skripts mit chmod auf 644

chmod 644 ~/.bashrc

Wenn die obigen Befehle die Erlaubnis verweigern. dann

Laufen Sie zuerst als sudo

sudo chown user1:usergrp ~/.bashrc

Ersetzen Sie user1 durch Ihren Benutzernamen und usergrp durch Ihre Standardbenutzergruppe.

Jetzt nochmal machen

chmod 644 ~/.bashrc

Jetzt haben Sie die Berechtigung für das basrc-Skript. Versuchen Sie, sich anzumelden und zu überprüfen, ob andere Fehler auftreten. :)

Rajesh Pantula
quelle
0

Für das Öffnen von Verzeichnissen muss das x-Bit gesetzt sein (für Verzeichnis wird dieses Bit als Suchbit angesehen). Also benutze ich tree, um nur den Ordner zu erhalten und den Albtraum zu vermeiden, dass alle Dateien als ausführbare Dateien festgelegt werden (die Option für tree ist -d List directories only.):

sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755  "{}"

Warnung!!! Sie sollten dies berücksichtigen:

  • Die Verwendung von chmod oder chown für das Stammverzeichnis /oder die Systemverzeichnisse zerstört Ihr Betriebssystem (tatsächlich ist alles, was für das /Verzeichnis oder die Systemverzeichnisse rekursiv ist, gefährlich).

  • Dies ist keine gute Sicherheitspraxis, um einen solchen Berechtigungsumfang festzulegen

Eduard Florinescu
quelle