Linux学习笔记五(系统中的权限管理)

文件的权限

文件权限存在的意义

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

文件权限的查看

ls -l    file 
ls -ld   dir
ll       file
ll -d	 dir

文件权限的读取

  - | rw-rw-rw-- | 1 |kiosk|kiosk| 0 |Oct 11 22:18|file
 [1]	  [2]  	  [3]  [4]   [5]  [6]		[7]		[8]

[1]文件类型:

参数文件类型
-空文件,或者文本
d目录
l软链接
ssocket套接字
bblock块设备
c字符设备

[2]文件的权限:

rw-|rw-|r--
 1   2   3

1.[u] 文件的拥有者能对文件做什么操作
2.[g] 文件的所有组能对文件做什么操作
3.[o] 文件的其他人能对文件做什么操作

[3]文件的权限:
对文件:文件的硬链接的个数(文件内容被记录的次数)
对目录:目录中子目录的个数

[4]文件的所有用户

[5]文件的所有组

[6]文件的大小

[7]文件最后一次被系统修改的时间

[8]文件的名字

改变文件的所有人和所有组

chown|chgrp
chown		username file|dir
chown		user.group file|dir
chown  -R	user.group	dir

chgrp		group	 file|dir
chgrp  -R	dir           	

实验环境的准备:
创建相应文件夹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

改变文件的权限

对权限的理解

r:
对文件:是否可以查看文件的内容(cat file)
对目录:是否可以查看目录中有什么子文件或者子目录(ls dir)
w:
对文件:是否可以改变文件的字符
对目录:是否可以对目录中子文件或者子目录的元数据进行更改
r:
对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入目录

更改方式

chmod	<u|g|o><+|-|=><r|w|x>		file|dir
chmod	u+x		file1			//file1文件的用户权限增加执行
chmod	g-r		file2			//file2文件的组去掉读权限
chmod	ug-r	file3			//file3文件的用户和组去掉读权限
chmod	u-r,g+x	file1
chmod	-r		file1
chmod	o=r-x	file1			//将其他用户权限设置为r_x

在这里插入图片描述
在这里插入图片描述
复制文件权限:
在这里插入图片描述

系统的默认权限

系统默认预留权限(为了安全,部分权限被系统回收):
在这里插入图片描述777-022=755(directory)
755-111=644(file)

将系统预留权限设置为077:
777-077=700(directory)
700-111=600(file)文件权限不存在负值,所以为600
在这里插入图片描述
这种预留值的更改知识暂时的,新打开shell后便恢复默认,如果想永久更改需要编辑两个系统文件:
/etc/bashrc
/etc/profile(系统环境变量配置文件)

编辑bashrc文件:
在这里插入图片描述
将022修改为077:
在这里插入图片描述
编辑profile文件和以上文件相同的方法:
在这里插入图片描述
更改之后使其重新执行两个文件,使更改后的文件生效(source命令):
在这里插入图片描述
然后重新打开shell,输入umask,系统默认留权限修改成功:
在这里插入图片描述

特殊权限

sticky 粘制位

作用

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

chmod	o+t	dir
chmod	1xxx dir
sgid 强制位

作用

对文件:之针对二进制可执行文件,当文件有sgid时任何人执行此文件产生的进程都属于文件的组。

对目录:当目录上有sgid权限时任何人在此目录建立的文件都属于目录的所有组

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

实验(对文件)
在daguaniu用户下执行watch进程
在这里插入图片描述
watch进程的user,group都为daguaniu
在这里插入图片描述
在root下对该文件增加sgid强制位,然后再切换到daguaniu用户下执行该文件进程
在这里插入图片描述
该文件执行的进程的组变为root
在这里插入图片描述
实验(对目录)
在这里插入图片描述

suid 冒险位

作用 :

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

chmod	u+s    	file
chmod	4xxx	file

实验:
创建一个普通用户,使用普通用户执行watch文件:
在这里插入图片描述
该文件产生的进程的所有人属于普通用户daguaniu:
在这里插入图片描述
登录超户,修改watch文件权限,增加suid冒险位,然后再切换回普通用户daguaniu执行watch文件:
在这里插入图片描述
置冒险位后,普通用户执行该watch文件时,其权限升级为root超户权限(执行结束后恢复普通用户权限):
在这里插入图片描述

acl权限列表

作用:
		让特定的用户对特定的文件有特定权限
acl列表查看

在这里插入图片描述
"+"代表权限列表开启
在这里插入图片描述

getfacl file			//查看ac开启的文件权限
# file: file			//文件的名称
# owner: root			//文件的拥有者
# group: root			//文件的拥有组 
user::rw				//文件拥有者的权限
user:kiosk:rw-			//指定用户的权限
group::r--				//文件拥有组的权力
mask::rw-				//能赋予用户的最大权力阀值
other::r--				//其他人的权限    
acl列表的管理
getfacl file			
set -m u:username:rwx file	//设定username对fle拥有rwx权限
set -m u:group:rwx file		//设定group组成员对fle拥有rwx权限
set -x u:username file		//从acl列表中删除username
setfacl -b file				//关闭file上的acl列表
mask值

在权限列表中mas标示能生效的权力值
当用chmod减小开启acl的文件权限时mask值会发生改变
在这里插入图片描述

setfacl -m m:rwx file					//改变mask值(恢复马赛克值)

在这里插入图片描述

acl默认权限设定

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

setfacl -m d:u:student:rwx file
setfacl -k file

在这里插入图片描述
对于该目录下新建立的文件默认权限生效(对设定默认权限之前建立的再该目录下的文件不生效):
在这里插入图片描述
关闭设定的默认权限:
在这里插入图片描述

各种权限优先级排列

userperm > acluser > aclgroup > groupperm > otherperm

chattr命令和lsattr命令

lsattr dir
lsattr-d  dir 				//显示目录本身
chattr +i|=i dir			//为目录设置i权限,既不能添加也不能删除
chattr -i dir				//取消目录i权限
chattr +a|=a dir			//为目录设置append权限,只许添加,不许删除
chattr -i dir				//取消目录a权限

在这里插入图片描述
所以开放权力不一定会使权力变大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值