首页/系统/信创系统运维速查/chown 属主与属组修改
命令与包管理65 条

chown 属主与属组修改

调整文件归属:chown user:group、-R 递归、--reference 参照复制属性;部署后目录归属不对是服务起不来的常见原因。

信创系统运维速查系统更新于 2026-10-13

chown 是干什么的

chown 用来修改文件或目录的属主与属组,写法是 chown 用户:组 路径。递归要加 -R,符号链接默认只改指向的目标,改链接本身要加 -h。部署应用后目录归属不对,是服务起不来或写不进文件的常见原因,用哪类账号运行服务、目录就应该归属哪个账号。

基本信息

改属主chown 用户 文件
改组chown :组 文件,或使用 chgrp
同时改chown 用户:组 文件
递归-R 作用于整个目录树
仅改链接-h 只作用于符号链接自身

典型使用场景

  • 部署后把站点目录交给服务账号读写
  • 数据目录从其他主机迁移过来后修正归属
  • 日志目录交给采集账号保证可读
  • 共享目录统一属组便于协作
  • 按参考文件快速复制一套归属设置

典型用法

典型用法
chown -R nginx:nginx /data/web          # RPM 系服务账号,递归调整
chown -R www-data:www-data /data/web    # DEB 系服务账号
chown appuser:appgroup /opt/app/conf    # 同时改属主与属组
chown --reference=/opt/app/a /opt/app/b # 参照已有文件复制归属
chown -h appuser linkname               # 只改链接自身
ls -ld /data/web; stat -c '%U:%G %a' /data/web   # 复核结果
ps -o user= -p $(pgrep -f nginx | head -1)       # 确认服务实际运行账号

写法对照

写法效果注意点
chown 用户 文件只改属主属组保持不变
chown :组 文件只改属组等价于 chgrp
chown 用户:组属主与属组同时改最常用形式
-R递归处理目录树系统目录慎用
-h只改符号链接本身默认行为是改目标
--reference复制参考文件的归属批量对齐时高效

调整前确认

  • 先确认服务以哪个账号运行
  • 确认目录同时需要读写还是只读
  • 递归范围尽量精确,避免波及系统目录
  • 调整后核对属主与权限位
  • 把归属规则写进部署文档
服务以哪个用户运行可以从单元文件的用户设置里看,也可以用 ps 查看进程的属主;确认运行账号再决定目录归属,比凭经验套用更可靠。

易错点

  • 对系统目录执行递归修改:影响范围难以评估,先在具体业务目录小范围验证
  • 以为改属主就能解决权限问题:还要看权限位与上级目录的可执行权限,缺一不可
  • 改符号链接时没加 -h:实际改的是链接指向的目标文件,容易在共享文件上造成意外
  • 迁移后不修正归属:数据目录属主是旧主机的账号,新主机上服务写不进去
  • 改完不核对:用 ls -ld 或 stat 复核属主与权限,避免改动没有真正落下

数据来源与参考

  • GNU coreutils chown 手册
  • 服务部署实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌