Linux chown 修改檔案擁有者與群組
chown 是 Change Owner 的縮寫。
用來改變檔案或目錄的「擁有者 (User)」與「所屬群組 (Group)」。
通常只有 root (超級使用者) 或檔案原本的擁有者(轉讓給別人)有權限執行此指令。
基本語法
chown [擁有者]:[群組] [檔案]
常見用法
1. 只修改擁有者
將 file.txt 的擁有者改為 miko。
sudo chown miko file.txt
2. 同時修改擁有者與群組
將 web 目錄的擁有者改為 www-data,群組也改為 www-data。
sudo chown www-data:www-data /var/www/html/web
中間的冒號 : 是分隔符號。
3. 只修改群組
如果只想改群組,擁有者不變,可以把冒號前面留空。
# 只把群組改為 staff
sudo chown :staff file.txt
(註:其實有一個專門改群組的指令叫 chgrp,但 chown 也能做,所以大家通常直接用 chown)。
遞迴修改 (-R)
跟 chmod 一樣,如果要修改整個目錄下所有的檔案,務必加上 -R。
# 把整個 html 資料夾的所有權都交給 www-data 使用者
sudo chown -R www-data:www-data /var/www/html
常見情境
當你用 sudo 或 root 身份複製/建立檔案到原本使用者的家目錄時,檔案的擁有者會變成 root,導致原本的使用者無法修改或刪除。
這時就需要用 chown 把檔案「還給」原本的使用者。
# 修正 .ssh 目錄權限,還給 ubuntu 使用者
sudo chown -R ubuntu:ubuntu /home/ubuntu/.ssh