liunx中的权限管理

本文详细介绍了Linux系统中关于文件权限的管理,包括文件权限的意义、如何改变文件权限、umask系统预留权限的设置,以及特殊权限如sticky、sgid、suid的使用。此外,还探讨了ACL(Access Control Lists)权限列表的应用,如何设定和管理ACL,以及默认权限的设定。通过实例演示了权限的变更过程,帮助理解如何确保文件的安全性和可控性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ls -lR 目录   ##查看目录下的所有文件(包含目录里的文件)的属性

在这里插入图片描述
文件权限存在意义:
保证文件可以被可用的用户做相应操作

  -|rw-r--r--| 1| root| root| 323| Oct 8 2013 |langpacks.conf
  1     2      3   4      5    6       7          8


 (1)文件的类型

    -      ##空文件,或者文本
    d      ##目录
    l      ##软链接,相当于windows的超链接
    s      ##socket套接字(程序与外界的接口)
    b      ##block块设备(文件以块的形式存储,比如u盘)
    c      ##字符设备(用来显示字符的设备,可与cpu相交互,是系统用内存空间模拟出来的一个空间)
    p	   ##管道

(2)文件的权限

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

    1.[u]用户能对文件做什么操作
    2.[g]用户所在组能对文件做什么(组成员能作什么)
    3.[o]其他人能对文件做什么

(3)文件的硬链接个数
文件被系统记录的次数=文件需要被删的次数

(4)文件所有人

(5)文件所有组
    
(6)对文件:文件大小
    		对目录:目录中子文件元数据大小
    		(元数据可理解为文件的属性大小)
(7)文件内容被修改的时间,不是修改属性的书简

(8)文件的名称

3.文件或目录的所有人或所有组更改

chown 更改后的所有人   文件/目录	   ##更改文件或目录的所有人
chgrp 更改后的所有组   文件/目录	   ##更改文件或目录的所有组
chown 更改后的所有人:更改后的所有组    ##更改文件或目录的所有人和所有组
加上-R 表示递归,适用于同时修改目录和目前下的文件的所以人和所有组
比如:  chown -R root:root /mnt/     更改目录下所有文件及目录的所有人和所有组(一起修改)

监视命令watch -n 1 'ls -lR /mnt/'

chown 更改后的所有人   文件/目录	   ##更改文件或目录的所有人

在这里插入图片描述

chgrp 更改后的所有组   文件/目录	   ##更改文件或目录的所有组

在这里插入图片描述

chown 更改后的所有人:更改后的所有组    ##更改文件或目录的所有人和所有组

在这里插入图片描述
加上-R 表示递归,适用于同时修改目录和目前下的文件的所以人和所有组
比如: chown -R root:root /mnt/ 更改目录下所有文件及目录的所有人和所有组(一起修改)

echo 输出命令

echo heheh  则输出heheh

在这里插入图片描述
4.如何改变文件权限
(1).对权限的理解

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

(2).更改方式

chmod <u|g|o><+|—|=><r|w|x>
chmod u+x   	  /mnt/file1
chmod g-r   	  /mnt/file2
chmod ug-r  	  /mnt/file3
chmod u-r,g+x     /mnt/file4
chmod -r          /mnt/file5
chmod o=r-x       /mnt/file6

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

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

   利用数字表示权限
        r w x
        r=4或0
        w=2或0
        x=1或0
    rwx|-wx|--x
     7   3   1
    chmod 731 /mnt/file1      
7=rwx
6=rw-
5=r-x
3=-wx
2=-w-
1=--x
0=---

在这里插入图片描述
新建目录权限默认为755
新建文件默认权限为644

5 .umas——系统中预留的权限

目的:为了安全起见,一个文件或者目录建立后系统需要回收一部分权力

umask   		##系统建立文件是默认保留的权力
umask   177    ##临时设定系统预留权限为177

永久更改umask

(1).vim /etc/profile ##系统配置文件

    59  if[$UID -gt 199]&&["`id -gn`"="`id -un`"];then
	60      umask 002      ##普通用户的umask
	61  else
	62 	    umask 022      ##超级用户的umask
	63  fi

在这里插入图片描述

(2).vim /etc/bashrc ##shell配置文件

    70 if[sUID -gt 199]&&["`id -gn`"="`id -un`"];then
	71    umask 002			##普通用户的umask
	72 else
	73    umask 022			##超级用户的umask
	74 fi    	

在这里插入图片描述
(3).执行生效(source ##重读目录文件)

source /etc/profile    ##让更改立即生效
source /etc/bashrc

示例:对超级用户的umask值修改为177
在这里插入图片描述
hhh的权限是777-177=600
可见6=2+4=rw权限

6.特殊权限

1.sticky    粘制位

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

设定方式:
chmod o+t      dir
chmod 1xxx     dir

未更改前
在这里插入图片描述
在这里插入图片描述
更改后
在这里插入图片描述
在这里插入图片描述
2.sgid 强制位

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

设定方式

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

未执行前
在这里插入图片描述
执行后
在这里插入图片描述
3.suid 冒险位

只针对与2进制可执行文件
当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人

设定方式:

chmod u+s    file
chmod 4xxx   file 

ps ax -o comm,user,group 扫描所有进程,包含其所有组和所有人并显示出来
执行前
在这里插入图片描述
执行后
在这里插入图片描述

7.acl权限列表

(1)作用:让特定的用户对特定的文件拥有特定权限

(2)acl列表查看

`-rw-rwxr--+  1 root root 0 Jul 21 14:25 file1`中权限中的“+”即为acl开启
getfacl file  ##查看acl开启的文件的权限

在这里插入图片描述

#file : file       ##文件名称

#owner : root      ##文件拥有者

#group : root      ##文件拥有组

user::rw-         ##文件拥有人的权限

user::xixi:rwx     ##指定用户(xixi)的权限

group::r--        ##文件拥有组的权力

Mask::rwx       ##能赋予用户的最大权力值

Other::r--      ##其他人的权限

(3)acl列表的管理

getfacl  file  ##查看权限

setfacl –m u:username:rwx file     ##设定username对file拥有rwx权限

setfacl  -m g:group:rwx file       ##设定group组成员对file拥有rwx权限

satfacl  -x u:username file     ##从acl列表中删除username

satfacl  -b file         ##关闭file上的acl列表

在这里插入图片描述
(4)mask的值

在权限列表中mask标志能生效的权力值,当用chmod减小开启acl的文件权限时,mask值会发生改变

chmod g-w file  可同时改变mask的值

在这里插入图片描述
如果要恢复mask的值

setfacl –m m:rw file

在这里插入图片描述
(5)acl的默认权限设定

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

setfacl –m d:u:xixi:rwx /mnt/westos   ##设定acl权限
setfacl –k /mnt/westos                ##删除默认的acl权限

在这里插入图片描述
默认权限列表对已经存在的file文件无效,但对新建的hh文件目录有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值