Linux文件权限详解

0    29    1

👉 本文共约2529个字,系统预计阅读时间或需10分钟。

文件权限

一个文件用10个小格来记录文件的类型和权限。第一个小格表示文件的类型(文件、文件夹、连接),接下来的三个小格是拥有者(user)本身的权限,中间三个小格是和使用者同一组的成员(group)的权限,最后三个小格是表示其它使用者(other)的权限

r=4,w=2,x=1

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=5。

文章目录

Linux文件权限详解

Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

一、文件权限

  1. 文件的权限针对三类对象进行定义

    owner 属主,缩写u

    group 属组,缩写g

    other 其他,缩写o

  2. 每个文件针对每类访问者定义了三种主要权限

    r:Read 读

    w:Write 写

    x:eXecute 执行

    另 X:针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)

    注意:root账户不受文件权限的读写限制,执行权限受限制

  3. 对于文件和目录来说,r,w,x有着不同的作用和含义:

    本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

    针对文件:

    针对目录:目录本质可看做是存放文件列表、节点号等内容的文件

    权限

  4. 用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

二、修改文件访问权限的方法

  • chmod 修改权限 change mode

    方法1:mode法

    格式:chmod who opt per file

    方法2:数字法

    格式:chmod XXX file

    例:chmod 764 file 给file文件添加 rwxrw-r– 权限

    chmod -R +X dir 给dir目录添加X执行权限,dir目录下文件不添加执行权限

    (如果dir目录下有文件已具备执行权限,则添加该文件执行权限)

三、UMASK值

作用:取消对应的权限,影响创建文件和目录的默认权限

四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)

  1. suid

    作用:给一个用户继承二进制程序所有者拥有的权限

    suid权限位 位于所有者的执行权限位上,如果一个文件具有suid权限,则所有者执行位为s,文件表现为红色背景

    注: suid只适合作用在二进制程序上

  2. sgid

    作用1:给一个用户继承二进制程序所有组拥有的权限

    sgid权限位 位于所有组的执行权限位,如果一个文件具有suid权限,则所有组的执行位为s,文件表现为黄色背景

    作用2:作用在目录上时,使一个目录下的新建的文件继承目录的所属组

  3. sticky

    作用:作用于目录上,此目录的文件只能被所有者删除

    sticky权限位 位于其他的执行权限位上,如果一个文件具有sticky权限,则其他的执行位为t,目录表现为绿色背景

五、ACL访问控制列表

作用:实现更加灵活的权限管理,打破了三类用户的权限管理

  1. 添加ACL权限

    ACL权限执行顺序类似于用户获取文件权限的顺序,getfacl顺序从上到下执行,一旦生效,下面的将不再生效(如果属于多个组,权限累加)

  2. 删除ACL权限

  3. ACL权限下的mask

    ACL生效顺序:所有者、自定义用户、自定义组、其他人

  4. 备份和恢复ACL权限

六、文件权限操作的常用命令

  • chown 设置文件所有者(普通用户无法修改文件所有者)

  • chgrp 设置文件所属组(普通用户要想该所属组,前提是文件所有者为自己,自己在所属组中)

  • chmod 设置指定文件权限

  • chattr 给指定文件添加保护,避免root账户误操作

  • lsattr 查看指定文件是否有锁定状态

  • setfacl 设置文件ACL权限

  • getfacl 查看文件ACL权限

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

10 + 16 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部