linux - 文件与目录权限的设置与修改

发布时间 2023-12-18 19:25:01作者: 箫笛

文件权限说明

[-][rwx][r-x][r--]

文件权限分为四部分:
1. 第一部分表示文件类型,- 代表普通文件,d代表目录, l代表链接文件
2. 第二部分表示文件所有者权限,r 代表可读, w代表可写, x代表可执行
3. 第三部分表示所属用户组权限,r 代表可读, x代表可执行
4. 第四部分表示其他用户权限,r 代表可读
5. 用数字表示权限,r:4, w:2, x:1, 每个身份的权限需要将这些数字进行累加,因此4+2+1,4+1,4, 最终权限为754

改变文件所属用户组

chgrp [-R] group dir/file

改变文件所有者

chown [-R] owner dir/file # 仅改变文件所有者
chown [-R] owner:group dir/file # 改变文件所有者同时改变用户组

改变文件权限

  • 通过数字设置文件权限
    chmod [-R] xyz dir/file # xyz 表示每个身份的权限累加
    chmod 777 dir/file # 文件权限变为-rwxrwxrwx
    chmod 755 dir/file # 文件权限变为-rwxr-xr-x

  • 通过符号类型改变文件权限 (u,g,o)
    chmod [u,g,o,a][+-=][rwx] dir/file
    chmod u=rwx,g=rx,o=r dir/file # 设置文件权限
    chmod a+w dir/file # 增加所有身份写的权限
    chmod a-x dir/file # 取消所有身份执行的权限

权限对于文件和目录的意义

  • 权限对于文件的意义
r(read): 可以读取此文件的实际内容
w(write): 可以编辑,新增,或是修改该文件的内容(但不含删除该文件)
x(execute): 该文件具有被系统执行的权限

总之文件权限是针对文件内容的读取编辑和执行

  • 权限对于目录的意义
r(read contents of directory): 可以读取目录下文件名的数据
w(modify contents of directory): 可以在目录下新建文件和目录,删除已经存在的文件和目录,重命名文件和目录,转移文件和目录位置
x(access directory): 表示用户能否进入该目录使其成为工作目录