Linux文件权限管理

Linux文件权限

学习Linux系统文件权限管理记录。

基本权限UGO

文件权限设置真实的样子:赋于某个用户或组能够以何种方式访问某个文件(图片文件,视频文件,普通文件)。
权限对象
	权限对象:
		属主:u
		属组:g
		其他人:o
		所有人:a(u+g+o)
权限类型
权限类型:
	读:r=4
	写:w=2
	执行:x=1
设置权限
更改属主、属组
  • chown
语法:
	chown [参数] 属主:属组 文件
参数:
	-R:对目前目录下所有文件和目录进行相同的变更
	-c:显示所属信息变更信息
	-f:若文件拥有者无法更改也不要显示错误
	-h:只对于链接文件进行变更,而非真正指向的文件
# 改变指定文件的所属主与所属组
[root@localhost ~]# chown user1:user1 test
# 改变指定目录及其内所有子文件的所属主与所属组
[root@localhost ~]# chown -R user1:user1 a
  • chgrp
用于变更文件或目录的所属群组。
	语法:
		chgrp [参数] 目录或文件
	参数:
		-c:回报更改的部分
		-f:不显示错误
		-h:对符号链接的文件作修改,而不更改其他任何相关文件
		-R:递归处理,将指定的目录及目录下的所有文件和子目录一并进行处理
	
# 更改目录a及目录下的子目录和文件的组属性
[root@localhost ~]# chgrp -R root a
设置权限
chmod用于改变文件或目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。
设置权限时可以使用数字法,亦可使用字母表达式,
对于目录文件建议加入-R参数进行递归操作,意味着不仅对于目录本身,也对目录内的子文件/目录都进行新权限的设定。
使用符号
使用符号:u用户、g组、o其他、a所有、r读、w写、x执行
语法:
	chmod [参数] 对象(u/g/o/a) 赋值符(+/-/=) 权限类型(r/w/x) 文件/目录
参数:
	-c:若该文件权限确实已经更改,才显示其更改动作
	-f:若该文件权限无法被更改也不显示错误讯息
	-v:显示权限变更的详细资料
	-R:对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
# 为file.txt文件赋予rwxr-xr-x权限
[root@localhost ~]# chmod u=rwx,g=rx,o=rx file.txt
-rwxr-xr-x. 1 root  root         0 10月 13 10:42 file.txt
# 把file.txt文件其他人的x权限删除
[root@localhost ~]# chmod o-x file.txt
# 为a目录及目录下的子目录和文件的属组添加w权限
[root@localhost ~]# chmod -R g+w a
使用数字
语法: 
	chmod [参数] 数字授权 文件/目录
# 为user.txt文件赋予774权限 
# 7:4+2+1 rwx 属主具有读取、写入、执行权限;
# 7:4+2+1 rwx 属组具有读取、写入、执行权限;
# 4:4+0+0 r-- 其他人具有读取权限,但是没有写入和执行的权限。
[root@localhost ~]# chmod 774 user.txt
-rwxrwxr--. 1 root  root       274 10月 12 15:36 user.txt

基本权限ACL

ACL全称是access Control List(访问控制列表),它是在UGO管理的基础上为文件提供一个额外的、更加灵活的权限管理机制,作为UGO权限管理的补充,
本领如下:
	1、可以针对用户来设置权限
	2、可以针对用户组来设置权限
	3、子文件/目录继承父目录的权限
设置ACL权限
语法:
	setfacl [参数] u/g:用户名/组名:权限 文件	
参数:
	-m:更改文件的访问控制列表
	-M:从文件中读取访问控制列表条目更改
	-x:根据文件中访问控制列表移除条目
	-X:从文件读取访问控制列表条目并删除
	-b:删除所有扩展访问控制列表条目
	-k:移除默认访问控制列表
	-d:应用到默认访问控制列表的操作
	-P:依照自然逻辑,不跟随符号链接
	-v:显示版本并退出
	-R:递归操作子目录
# 修改file.txt文件的acl权限,添加一个用户权限
[root@localhost ~]# setfacl -m u:user001:rwx ./file.txt
查看ACL权限
getfacl用于显示文件或目录的ACL策略。
语法:
		getfacl [参数] 文件或目录
参数:
	-a:显示文件的ACL
	-d:显示默认的ACL
	-c:不显示注释标题
	-e:显示所有的有效权限
	-E:显示没有的有效权限
	-s:跳过文件,只具有基本条目
	-R:递归到子目录
	-t:使用表格输出格式
	-n:显示用户的UID和组群的GID
# 查看指定文件上有那些访问控制策略
[root@localhost ~]# getfacl file.txt 
# file: file.txt
# owner: root
# group: root
user::rwx
user:user001:rwx
group::r-x
mask::rwx
other::r--
# 查看指定文件上有那些访问控制策略,不显示注释信息
[root@localhost ~]# getfacl -c file.txt 
user::rwx
user:user001:rwx
group::r-x
mask::rwx
other::r--

特殊权限(了解)

更改文件隐藏属性
chattr命令用于更改文件隐藏属性。
语法:
	chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
参数:
	-R:递归处理,将指定目录下的所有文件及子目录一并处理。
	-V:显示指令执行过程。
	-v:设置文件或目录版本
	+:开启文件或目录的该项属性
	-:关闭文件或目录的该项属性
	=:指定文件或目录的该项属性

属性:
	i:无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
	a:仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
	S:文件内容在变更后立即同步到硬盘(sync)
	s:彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
	A:不再修改这个文件或目录的最后访问时间(atime)
	b:不再修改文件或目录的存取时间
	D:检查压缩文件中的错误
	d:使用dump命令备份时忽略本文件/目录
	c:默认将文件或目录进行压缩
	u:当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
	t:让文件系统支持尾部合并(tail-merging)
	x:可以直接访问压缩文件中的内容
# 给指定文件添加隐藏属性
[root@localhost ~]# chattr +i file.txt
# 从指定文件移除隐藏属性
[root@localhost ~]# chattr -i file.txt 
# 给指定目录添加隐藏属性,递归操作
[root@localhost ~]# chattr -R +i a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值