Linux文件权限包括读(r)、写(w)、执行(x),可通过数字(4/2/1)或符号表示,要将一个文件的权限赋予另一文件,常用chmod命令的--reference选项:执行chmod --reference=源文件 目标文件,系统会自动读取源文件的权限模式并应用到目标文件,将file1权限赋予file2,运行chmod --reference=file1 file2即可,也可先通过ls -l查看源文件的数字权限(如644),再用chmod 644 file2手动设置,但前者更直接高效,操作需确保当前用户对目标文件有写权限,避免因权限不足失败。
在Linux系统中,文件权限是保障系统安全与数据访问控制的核心机制,每个文件都关联着读(r)、写(w)、执行(x)权限,分别针对文件所有者(user)、所属组(group)及其他用户(other),日常运维中,我们常需要将一个文件的权限(包括权限位、所有者、所属组)复制给另一个文件,以保持权限一致性,本文将详细介绍如何通过Linux命令实现“一个文件给另一个文件赋权”的操作。
Linux文件权限基础回顾
在开始操作前,需先明确权限的表示方法:
- 数字表示法:r=4、w=2、x=1,权限位组合为3位数字(如755表示所有者rwx=7,所属组r-x=5,其他r-x=5)。
- 符号表示法:通过
u(所有者)、g(所属组)、o(其他)、a(所有用户)结合(添加)、(取消)、(设置)操作权限(如u+x表示为所有者添加执行权限)。
文件还包含所有者(Owner)和所属组(Group)信息,这些也是权限管理的重要组成部分。

核心操作:将一个文件的权限赋予另一个文件
“赋权”可能包含两种场景:仅复制权限位(如755→644),或同时复制权限位、所有者、所属组,以下分情况说明具体操作方法。
场景1:仅复制权限位(不改变所有者/所属组)
若目标文件仅需与源文件权限一致(如源文件是755,目标文件需改为755),可使用chmod命令的--reference选项,直接引用源文件的权限位。
命令格式
chmod --reference=源文件 目标文件
操作示例
假设当前目录下有source.txt(权限755)和target.txt(权限644),需将source.txt的权限复制给target.txt:
-
查看源文件权限
ls -l source.txt # 输出:-rwxr-xr-x 1 alice staff 0 Jan 1 12:00 source.txt # 解释:所有者alice(rwx=7),所属组staff(r-x=5),其他用户(r-x=5)
-
复制权限给目标文件
chmod --reference=source.txt target.txt
-
验证目标文件权限
ls -l target.txt # 输出:-rwxr-xr-x 1 bob users 0 Jan 1 12:01 target.txt # 解释:权限位已变为755,但所有者(bob)和所属组(users)未改变
场景2:同时复制所有者、所属组(完整权限赋权)
若目标文件需与源文件的权限位+所有者+所属组完全一致(如部署环境时保持文件归属统一),需结合chown(修改所有者/所属组)和chmod(修改权限位)操作。
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

