Linux文件模式

首先来看一张熟悉的Linux文件模式图:
这里写图片描述

接下来我们开始从ls -l命令讲起:
这里写图片描述

这是我执行ls -l后显示的结果。
-rwxrwxr-x(我们现在主要来讲解这串字符)
'-':它代表文件的类型
    1>  -      普通文件
    2>  d      目录文件
    3>  l      符号链接(指向另一个文件)
    4>  s      套接字文件
    5>  b      块设备文件
    6>  c      字符设备文件
    7>  p      命名管道文件
那后面的rwxrwxr-x呢? 
    我们把它分为3部分,与最上面的那个图的低九位对应:
        1>拥有者权限:rwx
        2>组用户权限:rwx
        3>其他用户权限:r-x
    R:读权限   W:写权限    X:执行权限
    则其对应的二进制为:  111111101
    通常用3位八进制对文件权限进行表示:  0775(0代表8进制)

这样,我们就搞定了文件类型,拥有者权限,组用户权限和其他用户权限,接下来来讲解权限修饰位。
这里写图片描述

SUID位:
主要针对可执行文件。如果一个文件的setuid被设置,则该文件被执行时,进程的有效用户ID(EUID)被设置成该文件的所有者。

这句话怎么来理解呢?
举个例子,比如一个普通用户运行passwd更改密码,但实际要更改/etc/passwd文件,但是,这个文件只有root权限的用户才能更改。
这样,就可以通过设置SUID位来解决。
设置了setuid位,在普通用户执行passwd操作时,他对/etc/passwd文件的操作上升至root用户权限,即可进行修改操作。
而当操作结束,它又回到普通用户的权限。

这种机制对于某些需要root用户启动,但启动后需要回到普通用户权限的程序很有帮助。

SGID位作用与SUID类似。

此为usr/bin/passwd可执行文件的权限:  -rwsr-xr-x
关于SUID和SGID的表示:
    x:只有可执行权限。
    s:既有可执行权限,SUID(SGID)位也被设置
    S:没有可执行权限,只有SUID(SGID)被设置

sticky位
    对于文件来说:实现交换技术。
    对于目录来说:使目录里的文件只能被创建者删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值