做什么
改文件 / 目录的所有者(user)和所属组(group)。
实战
sudo chown alice file.txt # 改 owner 为 alice
sudo chown alice:dev file.txt # owner=alice group=dev
sudo chown :dev file.txt # 只改 group
sudo chown -R alice:dev myfolder/ # 递归
sudo chown --reference=ref.txt new.txt # 复制 ref 的 owner/group 到 new
常用参数
| 参数 | 含义 |
|---|---|
-R |
递归 |
-v |
显示过程 |
-c |
仅显示改了的(节省输出) |
--reference=F |
用 F 的 owner/group 作模板 |
-h |
改链接本身,不跟随 |
实战场景
# Web 资源给 nginx
sudo chown -R www-data:www-data /var/www/site
# Docker 卷
sudo chown -R 1000:1000 /opt/docker-data
# 把用户家给用户
sudo chown -R alice:alice /home/alice
# 把项目给一个团队组
sudo chown -R :devteam /srv/project
sudo chmod -R g+w /srv/project
sudo chmod -R 2775 /srv/project # 加 SGID 让新文件继承组
看 owner / group
ls -l file.txt
stat file.txt
坑
- 普通用户不能 chown 给别人(防止"送给 root 后再读")—— 只有 root 能
- 改后之前的进程仍可能用旧权限缓存——通常立刻生效,偶尔要重启服务
- 软链接的 chown 默认改指向的文件——加
-h才改链接本身