chown — 變更檔案擁有者與群組

變更檔案或目錄的擁有者與所屬群組。

語法

chown [選項] 擁有者[:群組] 檔案...

常用選項

選項 說明 範例
-R, --recursive 遞迴套用到目錄及其所有內容 chown -R user:group /var/www/
-v, --verbose 顯示每個已處理的項目 chown -v user file.txt
-c, --changes 只顯示有實際變更的項目 chown -c user *.conf
--reference=檔 使用參考檔的擁有者與群組作為目標 chown --reference=ref.txt file.txt
-h, --no-dereference 對符號連結本身操作(非目標) chown -h user symlink

使用範例

範例 1:變更擁有者

將 data.txt 的擁有者改為 alice(群組不變)。

$ sudo chown alice data.txt
範例 2:同時變更擁有者與群組

使用 user:group 格式同時指定擁有者與群組,冒號分隔。

$ sudo chown www-data:www-data /var/www/html/
範例 3:只變更群組

使用 :group 格式(冒號開頭)只變更群組,擁有者不變。

$ sudo chown :developers project.py
範例 4:遞迴變更整個目錄

使用 -R 遞迴變更目錄下所有檔案與子目錄的擁有者。

$ sudo chown -R deploy:deploy /opt/myapp/
範例 5:確認變更結果

使用 ls -la 確認擁有者與群組已正確變更。

$ ls -la data.txt
-rw-r--r-- 1 alice developers 1024 May 20 09:00 data.txt

常見錯誤與排錯

chown: changing ownership of 'file': Operation not permitted
原因
非 root 使用者無法改變其他人的檔案擁有者。
解法
使用 sudo chown,或確認自己是檔案的目前擁有者。
chown: invalid user: 'username'
原因
指定的使用者名稱不存在於系統中。
解法
使用 id username 確認使用者存在,或用 cat /etc/passwd 查看可用使用者。

延伸閱讀