Linux: Dateiattribute wieder herstellen
klawischnigg
- betriebssystem
- linux
Hi there,
ich habe in einem Verzeichnis, in das mehrere Linuxlaufwerke (unter anderem auch das Startlaufwerk mit dem Betriebssystem vom Root weg) gemountet waren ein vorschnelles, wie immer gedankenloses 😉, chmod 777 -R abgesondert. Jetzt funktioniert natürlich fast nix mehr, vor allem funktioniert nix mehr, was Root-Rechte benötigt.
Gibts irgendeinen Weg, das relativ schmerzlos zu reparieren oder ist Neuinstallation (Mint 19.3 ist eh schon etwas angegraut) der bessere Weg?
Was ich schon versucht habe (die Root-Eingabeaufforderung im Recovery-Modus funktioniert noch):
beides hat nicht funktioniert. Ist jetzt nicht dramatisch tragisch, Daten sind alle da, würd' mich nur interessieren, ob es irgendeinen Weg gibt, an einer Neuinstallation vorbeizukommen...
Jetzt funktioniert natürlich fast nix mehr, vor allem funktioniert nix mehr, was Root-Rechte benötigt.
Hm. Eleganter Weg, sein System zu zerschießen. sudo rm -rf /
tut's ja seit einiger Zeit nicht mehr.
Ich vermute recht dringend, dass eine Neuinstallation der einfachste und schnellste Weg ist. Alles was Du ohne Kenntnis der originalen Rechte wieder herstellen kannst wird mehr oder weniger kaputt oder unsicher sein.
Aber fang mit
chmod 0440 /etc/sudoers
chmod 0640 /etc/shadow
chmod 0644 /etc/passwd /etc/group
chmod 4755 /usr/bin/sudo
chmod 4755 /usr/bin/su
an…
Hi there,
Jetzt funktioniert natürlich fast nix mehr, vor allem funktioniert nix mehr, was Root-Rechte benötigt.
Hm. Eleganter Weg, sein System zu zerschießen.
Ja, gell? Bin richtig stolz auf mich...😉
Aber fang mit
chmod 0440 /etc/sudoers chmod 0640 /etc/shadow chmod 0644 /etc/passwd /etc/group chmod 4755 /usr/bin/sudo chmod 4755 /usr/bin/su
Ja, danke, ich probier's damit, ehe ich den finalen Stecker ziehe...
Hi there,
Aber fang mit
chmod 0440 /etc/sudoers chmod 0640 /etc/shadow chmod 0644 /etc/passwd /etc/group chmod 4755 /usr/bin/sudo chmod 4755 /usr/bin/su
an…
Also, es läuft noch etwas holprig, aber es beginnt zu laufen. Ich kann auf dem Rechner im Terminal und dort, wo's notwendig ist, wieder Gott spielen. Vielleicht krieg' ich den Rest ja auch noch hin, jetzt, wo ich nicht bei jeder klitzekleinen Änderung wieder booten muß, danke nocheinmal...😉
# schon genannt:
chmod 0440 /etc/sudoers
chmod 0640 /etc/shadow
chmod 0644 /etc/passwd /etc/group
chmod 4755 /usr/bin/sudo
chmod 4755 /usr/bin/su
# weitere:
chmod 1777 /tmp
chmod 2755 /usr/bin/bsd-write
chmod 2755 /usr/bin/chage
chmod 4755 /usr/bin/chfn
chmod 4755 /usr/bin/chsh
chmod 2755 /usr/bin/crontab
chmod 2755 /usr/bin/expiry
chmod 4755 /usr/bin/fusermount
chmod 4755 /usr/bin/gpasswd
chmod 2755 /usr/bin/mlocate
chmod 2755 /usr/bin/locate #(wenn nicht durch mlocate ersetzt)
chmod 4755 /usr/bin/mount
chmod 4755 /usr/bin/newaliases #(wenn kein Link)
chmod 4755 /usr/bin/newgrp
chmod 4755 /usr/bin/passwd
chmod 4755 /usr/bin/pkexec
chmod 2755 /usr/bin/ssh-agent
chmod 4755 /usr/bin/umount
chmod 2755 /usr/bin/wall
chmod 4755 /sbin/exim4
chmod 4754 /usr/sbin/mount.ecryptfs_private
chmod 2755 /usr/sbin/pam_extrausers_chkpwd
chmod 4754 /usr/sbin/pppd
chmod 2755 /usr/sbin/unix_chkpwd
chmod 4755 /vmware-authd
Es gäbe sicher auch die Mäglichkeit, ein Skript zu erstellen.
Aber:
Man kann sich wohl einfacher eine Liste aller installieren Pakete ausgeben lassen und die dann mit apt --reinstall install paket neu installieren.
#!/bin/bash
for paket in $(dpkg -l | grep "^ii" | sed -E "s/[\t ]+/ /g" | cut -d " " -f2);
do
sudo apt --reinstall install $paket;
done
Hi there,
ich werde mir diese Liste unter Garantie aufheben, in Stein meisseln und als Batch-Datei irgendwo einmal benötigen.
Im konkreten Fall hab ich einfach eine komplette Neuinstallation durchgeführt. Ich habe vorher das ganze Home-Directory (selbstverständlich inkl. der "verborgenen" Verzeichnisse) gesichert und bin jetzt schon fast wieder auf dem gleichen Stand wie vorher. Abzüglich der Programme, die ich nur ein mal probieren wollte und ohnehin nie benötigt habe😉.
Danke auf alle Fälle nocheinmal für Dein Bemühen...
Im konkreten Fall hab ich einfach eine komplette Neuinstallation durchgeführt. Ich habe vorher das ganze Home-Directory (selbstverständlich inkl. der "verborgenen" Verzeichnisse) gesichert
Das hast Du richtig gemacht.
Beim nächsten Mal sichere unbedingt auch die Inhalte von /etc
(aber nicht brutal zurückschreiben - sonst geht wieder was kaputt ) und zum Beispiel (Du musst hier nachsehen und darüber nachdenken, was genau gebraucht wird) /var/lib/mysql
, /var/mail
, /var/www
, '/var/spool', …