Ich habe einen virtuellen Host (KVM) mit Ubuntu Server 14.04.3 LTS installiert. Jetzt verbringe ich die letzte Woche damit, Apache, Module, Owncloud und andere Dinge einzurichten.
Bis ich der Empfehlung von Owncloud https://doc.owncloud.org/server/8.0/admin_manual/installation/installation_wizard.html#setting-strong-directory-permissions gefolgt bin, hat alles wunderbar funktioniert
Sie schrieben, dass der einfachste Weg wäre, ein Skript mit dem folgenden Inhalt zu erstellen
#!/bin/bash
ocpath='/var/www/owncloud'
htuser='www-data'
htgroup='www-data'
rootuser='root' # On QNAP this is admin
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
chmod 0644 ${ocpath}/.htaccess
chmod 0644 ${ocpath}/data/.htaccess
Naja, ich habe keine kritischen Inhalte gesehen, nur normale chmods für root und www-Daten. Also habe ich eine script.sh mit dem Inhalt oben in meinem www-Ordner erstellt und mit sudo ./script.sh ausgeführt
Das hat also eine Weile gedauert und dann sind fehlende Zugriffsrechte aufgetreten, während das Skript noch lief (was sehr lustig war, da sudo mit dem richtigen Passwort gut zurechtkam).
Nachdem das Skript seine Aufgaben erledigt hatte, versuchte ich, per sudo su in den Root-Modus zu wechseln, und dann sah ich, was passiert ist: Mein Ubuntu-Hauptbenutzer verlor das Recht, sudo su auszuführen, und es war sogar kein sudo mehr möglich.
Nun danach habe ich versucht, den virtuellen Host neu zu starten, um die Root-Shell im Wiederherstellungsmodus zu starten, aber zwischen dem Booten mit einer Kernel-Panik kommt es zum Stillstand.
Irgendeine Idee, was passiert ist? Konnte dieses Skript einem Symlink zu meinem Stammverzeichnis folgen? Sehen Sie eine Chance, meinen Server zu reparieren? Ansonsten verliere ich eine Woche Arbeit :(
find
on debian gibt symlinks nicht zurück oder folgt ihnen nicht, -L
es sei denn, es wird verwendet.
find ${ocpath}/ -type f -ls
2) Ich bin nicht sicher, warum sie verwenden find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
. Warum nicht einfach find ${ocpath}/ -type f -exec hmod 0640 +
(kürzer und effizienter). 3) Überprüfen Sie Ocpath. ocpath = '/ var / www / owncloud'. Stellen Sie sicher, dass kein versehentlicher Platz vorhanden ist. ZB ocpath = '/ var / www / owncloud' oder ähnliches.
chown -R ${rootuser}:${htgroup} "${ocpath}/"
chroot
.