Linux文件权限解读

十位文件权限位

1 2 3 4 5 6 7 8 9 10
- r w x r w x r w x
1:文件类型
	d:代表是文件夹
	-:代表是文件
	l:代表是连接文件
	b:代表是可供存储的接口设备
	c:代表是串行端口设备,如鼠标、键盘(一次性读取装置)
2-4:文件拥有者权限
5-7:文件所属的组的权限
8-10:其他用户的权限
权限位对文件的重要性
  • r:读权限
  • w:可以编辑、新增或者修改该文件的内容(但是不包括删除操作
  • x:执行权限,一个文件是否可以被执行,只与x位有关,与文件后缀名无关
rwx对文件夹的重要性
  • r表示具有读取目录结构的权限,只能通过ls命令将目录的内容列表显示出来,而不能进入该目录(如下所示,与user1同组的user2具有对aaa文件的r权限,只能读取该目录,不能进入该目录)
    Linux文件权限解读_第1张图片
  • w则允许对改文件夹下的文件进行修改、包括删除操作,并且删除该文件夹下的文件的时候不论文件的权限如何都可以操作。如下图,虽然user2对a.txt只有r权限,但是因为user2对aaa文件夹具有w权限,所以可以进行删除操作。
    Linux文件权限解读_第2张图片
  • x权限表示用户是否有权限进入该文件夹,如下图所示,虽然user2具有对文件夹aaa的rw权限,但是仍然无法进入aaa文件夹。
    Linux文件权限解读_第3张图片
umask的作用

umask在创建文件或文件夹的时候生成默认的UGO访问权限。

  • umask值的设定
umask 值
例:umask 002
  • umask用来限定文件和文件夹创建时的默认权限,用文件(666)或文件夹(777)的默认最大权限减去umask即为文件和文件夹创建时的默认权限。
    在这里插入图片描述
  • 当创建文件的时候默认权限的最大值是666,因为文件创建的时候默认是没有执行权限x的,而文件夹的默认权限最大为777。如下图可以看到文件夹bbb的默认权限是drwxrwxr-x(777-002=775),文件e的默认权限是-rw-rw-r–(666-002=664)
    Linux文件权限解读_第4张图片
SUID/SGID
Set UID
  • 当s标志出现在文件的拥有者的x权限位时就被称为Set UID,简称SUID的特殊权限,功能:
    (1)SUID权限仅对二进制程序有效
    (2)执行者对该程序有x的可执行权限
    (3)该权限只在执行该程序的过程中有效
    (4)执行者暂时具有程序拥有者的权限
    举例:当Mars用户修改密码的时候,由于passwd程序对Mars来说有执行权限,并且SUID已经设置,所以Mars用户在执行passwd命令的时候会暂时获取root的权限,对shadow文件进行修改,由此达到了修改密码的目的。
    Linux文件权限解读_第5张图片
Set GID
  • s位在群组的x位即为Set GID,当SGID可以针对文件和文件夹来设定,如果针对文件:
    (1)SGID对二进制程序有效
    (2)程序执行者对该程序有执行权限x
    (3)执行者在执行过程中会获取该程序群组的支持

  • SGID用在文件夹上:
    (1)如果用户对该文件有r和x权限,该用户能够进入此目录
    (2)用户在该目录下的有效群组将会变成该目录的群组
    (3)若用户在此目录下有w权限(可以创建新文件),则创建出来的文件的群组是与此目录相同的
    举例:Mars用户对aaa文件夹目录有rwx权限,而目录aaa是属于user1用户、test群组,Mars用户在该文件夹下创建的文件ttt是属于test群组的,而不是属于Mars所在的群组。
    Linux文件权限解读_第6张图片

  • SUID/SGID/SBIT权限设定

    • 在三位权限数字的前面再加一个数字进行设置。
      - 4为SUID(只用于文件)
      - 2为SGID(用于文件和目录)
      - 1为SBIT(用于目录和文件)
将一个文件权限改为-rwsr-xr-x
chmod 4755 filename

注:s和t表示x位为x,S和T表示x位为空。

你可能感兴趣的:(linux基础,linux)