Você tem permissões de gravação acima de /var/www/website
, mas não tem permissão de gravação sobre /var/www
.
Para mover /var/www/website
para qualquer lugar, você precisa ter permissão de gravação sobre /var/www
.
Eu tenho uma pasta localizada em /var/www
que estou tentando mover para o diretório pessoal do meu usuário.
Inicialmente, executei mv folder/ ~
e recebi um erro de permissão negada. Eu pensei que tinha definido as permissões corretamente, mas para ter certeza eu corri sudo chown -R folder/ user
onde o usuário era meu usuário atual. Em seguida, executei chmod -R u=rwx folder/
para obter permissões de gravação e leitura (ou o que for que mv
possa exigir). No entanto, mesmo depois de tentar executar mv
novamente, ainda não tinha permissões.
O que pode causar isso?
Log completo de mim repetindo o processo acima:
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$
Editar: Curiosamente, quando eu tentei mover subdiretórios e arquivos individualmente, tive sucesso sem problemas:
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$
Você tem permissões de gravação acima de /var/www/website
, mas não tem permissão de gravação sobre /var/www
.
Para mover /var/www/website
para qualquer lugar, você precisa ter permissão de gravação sobre /var/www
.