
早安,
我正在嘗試在我的 CentOS 電腦上設定 cron 作業,它將檔案從一個使用者的主目錄傳輸到另一個使用者的目錄。
btiseis@mymachine [~]# mv ./myfile.csv /home/mmh/tmp
我已確保 tmp 目錄具有 0777 權限,但仍收到以下錯誤訊息:
mv: accessing '/home/mmh/tmp': Permission denied
我認為此問題是由於跨主目錄傳輸檔案造成的。
有任何想法嗎?
擔
答案1
主目錄沒什麼特別的;只是用戶這樣稱呼它們。系統中沒有任何內容關心目錄是否被視為使用者的「主目錄」。
您確實需要所有目錄的權限。因此,您需要對/home/mmh/tmp 進行寫入權限,並對/home/mmh 進行讀取+執行(儘管讀取或執行都足夠,只是不確定哪一個。但通常讀取和執行要么設置或取消設定)目錄),這樣您實際上就可以存取其中的 /home/mmh/tmp 。
如果你以 root 身分執行 cronjob,你就可以解決這一切;除非絕對必要,否則擴大存取權限通常不是一個好主意。對於您的情況來說,這可能是問題,也可能不是問題(我猜沒有其他用戶),但壞習慣以後很難改掉。
編輯:如果這兩個用戶是“友好的”(就像你自己的兩個化身,所以你真的不介意其他人窺探你的數據),你可以將“目標”用戶的主要群組添加到“發送”用戶,並使用群組權限。在許多系統上,每個使用者都是使用自己的私有群組建立的。