Ich habe dort einen Ordner, /var/www
den ich in mein Benutzer-Basisverzeichnis verschieben möchte.
Ich habe es zunächst ausgeführt mv folder/ ~
und die Fehlermeldung „Berechtigungen verweigert“ erhalten. Ich dachte, ich hätte die Berechtigungen richtig eingerichtet, aber um sicherzugehen, habe ich es ausgeführt, sudo chown -R folder/ user
wobei der Benutzer mein aktueller Benutzer war. Dann habe ich es ausgeführt, chmod -R u=rwx folder/
um mir selbst Schreib- und Leseberechtigungen zu erteilen (oder was auch mv
immer erforderlich sein könnte). Aber selbst nach einem erneuten Versuch mv
fehlten mir immer noch die Berechtigungen.
Was könnte die Ursache dafür sein?
Vollständiges Protokoll meiner Wiederholung des obigen Vorgangs:
webserver@testingweb:/var/www$ ls -la
total 12
drwxr-xr-x 3 root root 4096 Mar 18 10:29 .
drwxr-xr-x 14 root root 4096 Mar 18 10:13 ..
drwx------ 4 webserver webserver 4096 Mar 18 10:44 website
webserver@testingweb:/var/www$ sudo chown -R webserver website/
webserver@testingweb:/var/www$ ls -la
total 12
drwxr-xr-x 3 root root 4096 Mar 18 10:29 .
drwxr-xr-x 14 root root 4096 Mar 18 10:13 ..
drwx------ 4 webserver webserver 4096 Mar 18 10:44 website
webserver@testingweb:/var/www$ chmod -R 700 website/
webserver@testingweb:/var/www$ ls -la
total 12
drwxr-xr-x 3 root root 4096 Mar 18 10:29 .
drwxr-xr-x 14 root root 4096 Mar 18 10:13 ..
drwx------ 4 webserver webserver 4096 Mar 18 10:44 website
webserver@testingweb:/var/www$ mv website/ ~
mv: cannot move 'website/' to '/home/webserver/website': Permission denied
webserver@testingweb:/var/www$
Bearbeiten:Interessanterweise klappte es problemlos, als ich versuchte, Unterverzeichnisse und Dateien einzeln zu verschieben:
webserver@testingweb:/var/www$ cd website/
webserver@testingweb:/var/www/website$ ls
git reproot
webserver@testingweb:/var/www/website$ mv git/ ~/website/
webserver@testingweb:/var/www/website$ ls
reproot
webserver@testingweb:/var/www/website$ mv reproot/ ~/website/
webserver@testingweb:/var/www/website$ ls
webserver@testingweb:/var/www/website$
Antwort1
Sie haben Schreibberechtigung für /var/www/website
, aber nicht für /var/www
. Um sich /var/www/website
irgendwohin zu bewegen, benötigen Sie Schreibberechtigung für /var/www
.