Linux chown 修改檔案擁有者與群組

chownChange 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