我有一個資料夾,/var/www
我正在嘗試將其移動到用戶的主目錄。
我最初運行mv folder/ ~
,並收到權限被拒絕錯誤。我以為我已經正確設定了權限,但為了確保我運行的sudo chown -R folder/ user
用戶是我目前的用戶。然後我跑去chmod -R u=rwx folder/
寫和讀取權限給自己(或任何mv
可能需要的權限)。然而,即使再次嘗試運行mv
,我仍然缺乏權限。
什麼可能導致這種情況?
我重複上述過程的完整日誌:
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$
編輯:有趣的是,當我嘗試單獨移動子目錄和檔案時,它成功了,沒有任何問題:
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$
答案1
您擁有 的寫入權限/var/www/website
,但沒有 的寫入權限/var/www
。為了移動/var/www/website
到任何地方,您需要寫入權限/var/www
。