Linux文件权限

本文详细介绍了Linux文件权限的重要性、查看方法,包括如何修改文件所有者和权限,以及系统预留权限的设定。此外,还探讨了特殊权限如sticky、sgid和suid的工作原理和修改方法,并简单介绍了ACL权限列表及其在赋予特定用户特定文件权限方面的应用。

文件权限

一、权限的意义

  • 系统最底层安全设定方法之一
    保证文件可以被可用的用户做相应操作

二、文件权限的查看

可使用如下的命令行对文件或目录查询其属性

命令行功能
ls -l对目录内部文件或子目录属性
ls -ld对目录本身查看属性
ll等同于ls -l
ll -d等同于ll -ld
ll -R递归显示,即列出所有子目录下的文件

输入ll查看1.unit1文件的属性,出现如下格式将其可具体分为八部分,以|隔开。

-|rw-rw-r-- |1|  kiosk | kiosk | 2740 |Mar 23 16:48| 1.unti1

1)第一部分

表示文件的类型
字符含义
-表示纯文本或空文件,即普通文件
l表示符号链接文件。软链接,类似于windows里的快捷方式
d表示目录 directory
c表示字符设备
ssocket表示套接字符,与程序交互的“门”
bblock表示块设备 如/dev/sda u盘 /dev/pts/l 设备
ppipe表示管道文件

2)第二部分

  • 表示文件对于U、G、O三者的权限

       rw-|rw-|r--
      【u】【g】【o】
      user group other
    
文件目录
r表示可读r表示可查看目录下有什么文件
w表示可写w表示是否可以删除或新建
x表示可执行x表示是否可进入目录
  • 关于对于权限的修改:

      1.mod u(g,o)+r(w,x) 
    
      例如chmod u+rwx file
    

在这里插入图片描述

	2.使用r=4,w=2,x=1三者修改权限

	使用命令chmod XXX file进行修改  

	例如chmod 777 file

3)第三部分

文件目录
表示文件的硬链接数表示目录所含的子目录数

4)第四部分

  • 表示该文件的所属用户

      chown ##修改所属用户(仅限超户)
      chown user:(.)group ##同时修改用户及组
    

在这里插入图片描述

  	-R   ##递归修改

在这里插入图片描述在这里插入图片描述
如上两图对比,输入命令行chmod -R kiosk 1 将1及1内的2同时修改所有者为kiosk

5)第五部分

表示所属组

chgrp ##修改所属组

6)第六部分

文件目录
表示文件大小子文件元数据(metadata)大小
*元数据:又称中介数据、中继数据,为描述数据的数据(data about data),
	主要是描述数据属性(property)的信息,
	用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。

元数据计算:一个文件属性可分为八部分,除文件名外,其他各部分各占一个字节,
			文件名一个字符占一个字节。

7)第七部分

表示文件最后一次的修改时间

8)第八部分

表示文件名  

三、系统预留权限

umask   ##系统预留权限

在这里插入图片描述

输入命令行umask可查看当前umask值
通过umask xxx可临时修改当前umask值为xxx

永久修改umask值方法:

vim	/etc/profile(bashrc)     ##进入永久修改预留权限系统配置文件(在shell配置文件修改)

source  /etc/profile(bashrc)	##使其生效

在这里插入图片描述
在这里插入图片描述

  • 文件内形式如上
    • 002表示对于系统用户的预留权限
    • 022表示对于其他用户的预留权限

在这里插入图片描述

上图为修改后的umask值

  • profile与bashrc区别:

      /etc/profile为系统配置文件
      修改其后,在系统中创建的文件预留权限会根据修改值变化
      /etc/bashrc为shell配置文件
      修改其后,在shell中创建的文件预留权限会根据修改值变化
    

四、特殊权限

1)sticky ##粘滞位

作用:

	只针对目录生效,当一个目录上有sticky权限时
	在这个目录中的文件只能被文件的所有者删除

修改方式:

	chmod o+t  dir
	chmod 1xxx  dir

在这里插入图片描述

  • 如上图,修改后,其文件权限最后位会变成t

在这里插入图片描述
在这里插入图片描述

  • 在对已经有sticky权限的目录test内部文件进行删除时,提示Operation not permitted无法删除。

2)sgid ##强制位

作用:

	对文件:	只针对于二进制可执行文件
	        当文件上有sgin时任何人执行此文件产生的进程都属于文件的组
	对目录:	在该目录内的任何人建立的文件的所属组都会变为该目录所属的组

修改方式:

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

在这里插入图片描述

  • 由上图可看到在该目录表示G权限的最后一位变成了s,代表已经成功的修改

在这里插入图片描述

  • 在该目录下建立文件,文件所属组为root

在这里插入图片描述

  • 上图可看到在该文件表示G权限的最后一位变成了s,代表已经成功的修改

在这里插入图片描述

  • 当文件上有sgin时任何人执行此文件产生的进程都属于文件的组

3)suid ##冒险位

	对文件:	只针对于二进制可执行文件
			当文件上有suid时任何人执行此文件产生的进程都属于文件的所有人

修改方式

			与sgid类似
			chmod u+s(4xxx)file
acl权限列表

1.作用

  • 让特定的用户对特定的文件拥有特定权限

2.acl列表查看

-rw-rw-r--+ 1 kiosk kiosk    0 Mar 31 16:17 file
      	  |
         ”+“表示acl开启

输入命令行getfacl: ##查看acl的文件的权限

在这里插入图片描述

含义
file: home/kiosk/file文件名
owner: kiosk文件拥有者
group: kiosk文件拥有组
user::rw-文件拥有人的权限
user:kiosk:rw-指定用户的权限
group::rw-文件拥有组的权限
mask::rw-最大权力阀值
other::r–其他人的权限

设定acl权限方式:

setfacl -m u:kiosk:6 /home/kiosk/file   ##设定用户kiosk对file拥有6的权限
getfacl /home/kiosk/file				##查看
setfacl -m g:kiosk:6 /home/kiosk/file   ##设定组kiosk对file拥有6的权限
setfacl -x u:kiosk file					##删除用户kiosk对file拥有的权限
setfacl -x g:kiosk file                 ##删除组kiosk对file拥有的权限
setfacl -b file                      	##关闭acl

修改acl权限内mask方式

mask
setfacl -m m:--- file   	##修改mask值

acl的默认权限设定

	只针对目录设定
	"acl默认权限只针对设定完成后新建立的文件或目录生效,已经存在的文件不会继承权限"

acl的默认权限设定方式:
	setfacl -m d:u:kiosk:rwx /home/kiosk/file		#开启
	setfacl -k /home/kiosk/file 					#关闭

在这里插入图片描述

  • 对该目录进行默认权限设定

在这里插入图片描述

  • 在该目录建立文件file1,file1自动含有acl列表,而原来已有的file并没有变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值