chown(Change Owner)是 Linux/Unix 系统中用于更改文件或目录所有者和所属组的核心命令,在多用户环境下是管理文件访问权限的关键。它通常与 chmod(文件权限)和 chgrp(更改所属组)一起被系统管理员使用。
📖 命令格式
标准语法:
bash
chown [选项] [所有者][:[组]] 文件...
或者 使用参考文件来指定所有者/组:
bash
chown [选项] --reference=参考文件 文件...
这里 [选项]、 [所有者]、 [:组]和 文件都是可以根据需要灵活组合的。
🧩 所有者与组的不同写法
chown 命令的核心是 [所有者][:[组]] 这部分,通过不同的写法来精确指定要修改的所有者(User)和/或所属组(Group),包括以下几种常见情形:
| 用法 | 说明 | 示例 |
|---|---|---|
| 只改变所有者 | 仅修改文件/目录的所有者 (Owner)。 组(Group)保持不变。 | chown alice file.txt 将 file.txt 的所有者改为 alice。 |
| 同时改变所有者和组 | 使用冒号 : 同时修改文件/目录的所有者 和所属组。 | chown alice:developers file.txt 将 file.txt 的所有者设为 alice,组设为 developers。 |
| 只改变所属组 | 使用 : 并省略所有者 部分。 这会让 chown 的功能等同于 chgrp 命令。 | chown :developers file.txt 仅将 file.txt 的所属组改为 developers。 |
| 改变所有者并将组改为其登录组 | 使用 : 但省略组 名。 文件所有者被修改后,其所属组会被自动设为该新用户的默认登录组。 | chown alice: file.txt 将 file.txt 的所有者改为 alice,组也改为 alice 的登录组。 |
| 使用 UID/GID | 可以使用数字形式的用户 ID ( UID ) 和组 ID ( GID ) 来指定。 | chown 1001:1002 file.txt 将文件所有者改为 UID 1001 的用户,组改为 GID 1002 的组。 |
| 只改变所有者(保留组) | 不指定组,组保持不变(等同于第一种情况)。 | chown alice file.txt 将 file.txt 的所有者改为 alice,组不变。 |