文件权限管理(包含ACL以及SUID,SGID,Sticky)

文件权限查看及简介

 ls
 参数 -a 查看所有文件,包括隐藏文件
 	  -l 查看文件的详细属性 
 	  -d 查看目录属性
 	  -R 查看目录以及目录下文件属性
 	  -i 打印文件所占inode数
 	  -s 打印文件所占blocks数目
 	  -S 按文件大小排序  

利用ls -l查看文件详细属性

在这里插入图片描述

  - 	  |    rw-   |  r--    |	  r--	 |    1   |    root  |  root   |    0    |     Apr  1 20:52    | file
 文件类型    拥有者权限 组用户权限   其他用户权限 文件连接数   拥有者    文件所属组  文件大小     文件最后一次修改时间  文件名称    

文件类型

	 - 普通文件            d 目录 				l 链接文件 
	 b 块设备				 c 字符设备			s socket套接字符

权限介绍

	权限表示共有四个字符
    对文件: r 代表读权限       w 代表写权限     x 代表执行权限    - 表示无权限
    对目录: r 代表查看目录下文件
    	    w 代表是否可以在目录下创建删除文件/目录
    	    x 是否可以进入目录

文件连接数

	表示有多少文件连接到此节点

文件大小

   对文件:文件大小(一般以B为单位)
   对目录:目录中子文件元数据(matedate可以理解为文件的属性)

文件权限修改

注意:权限设置对root用户无效

修改文件权限

chmod

 参数		 -R表示递归修改目录下所有文件

(1)字母方式修改

 u->针对用户所有者权限
 g->针对用户所在组权限
 o->针对其他用户权限
 a->针对所用用户		另:不指定默认为a
 + 表示添加权限 
 - 表示删除权限
 = 表示权限与后接字符相等

例:
在这里插入图片描述

(2)数字方式修改

数字对应关系	
     r w x  -
     4 2 1 0
     利用以上映射得出各部分用户权限的大小
     例如:所有者拥有读写执行权限,组内用户拥有读写权限,其他用户无权限,则此时应为 760

例:
在这里插入图片描述

修改文件所有者(也可以用来修改所属组)
chown

参数		 -R表示递归修改目录下所有文件

例:先修改文件所有者,后修改文件所在组
在这里插入图片描述
修改文件所在组
chgrp

 参数	 -R表示递归修改目录下所有文件

例:root用户下新建文件夹 test1/test2/Octopus 在Octopus下建立文件file,修改以上所有文件目录所属组为student
在这里插入图片描述
在这里插入图片描述

系统保留权限

查看系统保留权限
用777-保留权限=新建文件默认权限
新建文件默认没有执行权限

  umask

临时设置系统保留权限

  umask 022

永久设置用户保留权限

相关文件

    /etc/profile
    /etc/bashrc
	修改以上文件中umask值
	source /etc/profile 
	source /etc/bashrc
	配置生效

在这里插入图片描述

ACL权限设置方式

设置ACL权限位
setfacl

参数 	-m 设置acl权限给后续文件使用
		-b 删除所有acl权限
		-k 删除默认acl权限
		-R 递归设置acl权限
		-d 设置默认acl权限,只针对目录使用
		注意 setfacl -m m:rx test/ 的用法,修改有效权限限制

例:递归设置test目录acl权限,尝试取消所有目录acl权限失败,利用-R参数取消成功
在这里插入图片描述
查看ACL权限位

 getfacl 文件名

在这里插入图片描述

特殊权限

Sticky
作用:
只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被文件的所有者所删除,其他用户无法删除
设定方式:

 chmod o+t dir
 chmod 1xxx dir

创建test目录,修改权限1777,利用student用户创建文件,切换至kiosk,发现无法删除
在这里插入图片描述
在这里插入图片描述

SGID
作用
对文件:只针对与二进制可执行文件,当文件上有sgid时任何人执行此文件生成的进程都属于文件的组
对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组

设定方式:

 chmod g+s file|dir
 chmod 2xxx file|dir

在这里插入图片描述
SUID
只针对与二进制可执行文件
当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人

设定方式:

  chmod u+s file
  chmod 4xxx file

例:修改/bin/watch为4777,利用kiosk执行watch
在这里插入图片描述
SGID和SUID可以同时设置
chmod 6777 file
chmod ug+s file
在这里插入图片描述
注意:rwS中产生S是因为文件本身不具有x权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值