linux系统中的权限设定

文件权限存在的意义

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

文件权限的查看

ls -l file 	 查看文件信息
ls -ld dir 	 查看目录本身信息
ll file 	 相当于ls –l file
ll -d dir 	 相当于ls -ld dir
ls –LR dir 	 递归显示子目录

(1) ls -l file ##使用此命令查看文件的属性以及权限
在这里插入图片描述
(2) ls -ld dir ##使用此命令查看目录的属性以及权限
在这里插入图片描述
(3) ll file ##查看文件的属性
在这里插入图片描述
(4) ll -d dir ##查看目录的属性
在这里插入图片描述
(5) ls –LR dir ##递归显示子目录
在这里插入图片描述
(6) ls –lR dir 可以递归查看目录下的所有目录、文件以及目录下的文件
在这里插入图片描述

文件属性的查看

 - | rw-r--r--|1|root|root| 32 |Oct 8 02:48 |filename
 1       2	   3   4    5    6       7            8     

(1)文件类型

- 	  空文件,或者文本
d 	  目录
l 	 软链接,相当于快捷方式
s 	 socket套接字(一个程序对外开放的门)
b 	 block块设备
c 	 字符设备

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

s 表示套接字(socket)   是程序的一扇门 ,进入这扇门内部才能进入程序内部和程序交流
b 表示块设备(block)

c表示字符设备
在这里插入图片描述

2)  文件的权限:(文件权限共9位,分为3部分)
| rw- |rw- | r–| 三位为一位,分别代表的是user,group,other(简写为u,g,o)
u:文件拥有者对文件能做什么操作(所有人)
g:文件所有组对文件能做什么操作(所有组)
o:其他人对文件能做什么操作(其它人)

(3)文件内容被系统记录的次数:“1”(硬链接)

对文件文件内容被系统记录的次数(文件硬链接个数)
对目录目录中文件属性的字节数(目录中子目录的个数)

在这里插入图片描述
硬链接是有着相同 inode 号仅文件名不同的文件
在这里插入图片描述
(4) 用户名字:“root”(文件的所有人)
(5) 用户组名字:“root”(文件的所有组)
(6) 文件内容的大小

对文件文件内容大小
对目录目录中子文件元数据(文件属性)大小

(7)文件最后一次被修改的时间
(8)文件的名称

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

使用命令chown或者chgrp
chown username file或者dir 	更改文件或者目录的拥有者
chown user-group file或者dir 	更改文件或者目录的用户和用户组
chown -R user-group dir 	递归更改目录的用户和用户组

准备工作
在这里插入图片描述
(1)chown username file|dir ##更改文件或者目录的所有人
在这里插入图片描述
(2)chown username.groupname file|dir ##更改文件或者目录的所有人所有组
在这里插入图片描述
(3)chown -R username dir ##更改目录本身及里面所有文件的所有人
在这里插入图片描述

chgrp group file或者dir 	改变文件或者目录的用户组
chgrp -R group dir 	递归改变目录的用户组

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

文件普通权限

r w - | r - - | r - -
  u       g       o

表示:

u文件所有人对文件可以读写
g文件组成员对文件可读
o其他人对文件可读

r:
对文件:可以查看文件中的字符
对目录:可以查看目录中文件的信息
w:
对文件:可以更改文件内字符
对目录:可以在目录中添加删除文件
x:
对文件:可以运行文件内记录的程序动作
对目录:可以进入目录中

修改文件的权限

chmod +(增加权限)or -(去掉权限)来改变权限

(1)chmod <u|g|o><+|-|=><r|w|x> file|dir 总的格式
在这里插入图片描述
(2) chmod u-x file1 file1拥有者去掉x权限
在这里插入图片描述
(3) chmod u+x,g-w file1 file1拥有者去掉x权,file1拥有组添加w权限
在这里插入图片描述
(4) chmod ugo-r file2 file2的用户、组、其他人去掉r权限
在这里插入图片描述

数字方式修改文件权限

在linux中,三种权限的权值为:r=4,w=2,x=1

例如:
u= r w - = 4+2+0=6
g= r - - = 4+0+0=4
o= r - - = 4+0+0=4
所以文件权限表示为644
在这里插入图片描述

系统默认权限的设定

从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
权限设定方式如下:
umask ##查看系统保留权限默认为022
umask 077 ##修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

永久设定方式:
vim /etc/bashrc ##设置shell中的权限
70 if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then
71 umask 002 ##普通用户的umask
72 else
73 umask 077 ##超级用户的umask
74 fi
vim /etc/profile ##设置系统的权限
59 if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then
60 umask 002 ##普通用户umask
61 else
62 umask 077 ##超级用户umask
63 fi
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上两个文件umask设定值必须保持一致
source /etc/bashrc
source /etc/profile
让设定立即生效

文件的访问控制(acl列表)

1)acl定义: acl = access control list
指定特殊用户对特殊文件有特殊权限

(2) acl列表查看

-rw-rwxr--+ 1 root root 0 Oct 21 1545 file  出现“+”表示acl开启

在这里插入图片描述

getfacl file   #查看acl开启的文件权限
#file: file #文件名称
#owner: root #文件拥有者
#group: root #文件拥有组
user::rw-  #文件拥有人的权限
user:kiosk:rwx #指定用户的权限
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权限
setfacl -x u:username file  #从acl列表中删除username
setfacl -x g:group file  #从acl列表中删除group组
setfacl -b file  #关闭file上的acl列表

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

在权限列表中mask表示能生效的权限值
当用chmod减小开启acl的文件权限值时mask值会发生改变
chmod g-w westos
如果要恢复mask值
setfacl -m m:rw westos

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

acl默认权限只针对目录设定
acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件不会继承默认权限
setfacl -m d:u:student:rwx /mnt/westos
setfacl -k /mnt/westos

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

特殊权限

1.sticky 粘制位

只针对目录有效,当一个目录上有sticky权限时,这个目录中的文件只能被文件的所有者删除
设定方式:
chmod o+t direcotry
chmod 1777 direcotry
chmod 1xxx direcotry

(1) (1)先在超级用户下建立一个目录 mkdir /mnt/westos
然后设置监控命令j监控改目录以及改目录下的文件:
watch -n 1 “ls -ld /mnt/westos ; ls -l /mnt/westos”
并且在超级用户下设置满权限 chmod 777 /mnt/westos
在超级用户下建立两个普通用户leo westos
分别切换到两个普通用户下建立文件file file1
在这里插入图片描述
(2) westos用户可以删除leo用户建立的文件file,这样做很不安全
在这里插入图片描述
(3) 在超级用户模式下给westos这个目录增加t权限
给westos目录加上t权限以后,leo用户就不能删除westos用户建立的file1文件了
在这里插入图片描述
2.sgid 强制位

设定方式:
chmod g+s file|dir
chmod 2xxx file|dir
对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组

(1)首先在超级用户下建立一个目录 并且对这个目录进行监控
在这里插入图片描述
(2) 查看这个目录的权限
在这里插入图片描述
(3)在超级用户下建立一个新用户,并且将新建目录的用户组变为刚刚新建的用户 然后在改目录下建立新的文件,发现此文件的用户组仍然为超级用户,
并不是刚刚 新建的那个用户tom
在这里插入图片描述
(4) 为了使在目录中建立的文件都属于目录的用户组,需要在目录上加上s权限
在这里插入图片描述
由此可见,当给目录加上s权限时,目录的所有组权限会出现s,此时建立的文件的所有组为目录的所有组。

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

(1)先监控二进制文件的进程
在这里插入图片描述
(2) 查看该二进制文件的权限
在这里插入图片描述
(3) 以root身份启动一个进程,这个进程的所有人和所有组均为root
然后将改文件的所有组改为westos,发现并没有改变,仍为root
在这里插入图片描述(4) 给二进制文进加上s权限,重新开启一个新的进程 发现进程属于文件所有组
在这里插入图片描述
3.suid 冒险位

作用:只针对二进制可执行文件,当文件上有suid权限时任何人执行这个文件中程序产生的进程都属于文件的所有人
设定方式:
chmod u+s file
chmod 4xxx file

(1) 监控二进制文件的进程
在这里插入图片描述
(2) 设置/bin/watch的用户为student 执行watch命令发现进程所有人为root
在这里插入图片描述
在这里插入图片描述
(3)设定冒险位权限后,执行watch命令 发现进程的用户属于student
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值