第五章 Linux系统中的权限管理

###1.权限查看及读取###

权限查看

ls -l wetsos           ##查看文件权限
ls -ld westosdir     ##查看目录权限

权限的读取

"文件的属性被叫做文件的元数据(meta data)"

"一种元数据用1个byte来记录内容"

#文件权限信息#
① -  |② rw-r–r-- |③ . |④ 1 | ⑤ root |⑥ root |⑦ 0 |⑧ Apr 12 10:57 |⑨ westos 

#目录权限信息#
    d | rw-r–r-- | . | 2 | root | root | 0 | Apr 12 10:57 |  dir

第五章 Linux系统中的权限管理

对于每一位的解释

[1]        ##文件类型
                #-   普通文件
                #d  目录
                #l   软连接
                #b  快设备
                #c  字符设备
                #s  socket套接字
                #p  管道 |

[2]       ##用户权限
               ##rw-   |r–   |r–
               # user group other

[3]      ##系统的selinux开启

[4]      ##对于文件:文件内容被系统记录的次数(硬链接个数)
          ##对于目录:目录中子目录的个数

[5]      ##文件拥有者

[6]      ##文件拥有组

[7]      ##对于文件:文件内容大小
          ##对于目录:目录中子文件的元数据大小

[8]      ##文件内容被修改的时间

[9]      ##文件名称


###2.普通权限的类型及作用###

用户对文件的身份

u:         #user     文件的拥有者,ls -l 看到⑤的信息
g:         #group   文件拥有组,    ls -l 看到⑥的信息
o:         #other    既不是拥有者也不是拥有组成员的其他用户的统称

权限位

rwx|r–|r–
u    g    o 

 用户身份匹配

user>group>other

权限类型

‘-’            #权限未开启

r             #可读
#对于文件:可以读取文件内容
#对于目录:可以ls列出目录中的文件

w            #可写
#对于文件:可以更改文件内容
#对于目录:可以在目录中新建或者删除文件

x            #可执行
#对于文件:可以用文件名称调用文件内记录的程序
#对于目录:可以进入目录中


###3.设定普通权限的方法###

文件及目录所有人和所有组的更改

chown改文件

chgrp 改目录

第五章 Linux系统中的权限管理

在改目录时,想要同时更改目录内的文件信息需要加-R

使用字符的方式设定权限

chmod  <a|u|g|o>   <+|-|=>   <r|w|x>   file1
chmod  u+rw,g+r,o-wx  file2 ##添加或取消文件权限
chmod  a=rx  file3 ##文件任意权限都赋予读和执行权限

第五章 Linux系统中的权限管理

第五章 Linux系统中的权限管理

使用三位二进制数字修改权限
X=1 ;W=2 ;R=4

—    000 0
–x   001 1
-w-  010 2
-wx  011 3
r--  100 4
r-x  101 5
rw-  110 6
rwx  111 7

第五章 Linux系统中的权限管理


###4.系统默认权限设定###

系统本身存在的意义是共享资源
从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高
既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放
把不安全的权力默认保留

 umask        表示系统保留权力

umask              ##查看保留权力
umask 权限值  ##临时设定系统预留权力

777-umask-111=644 ##得到文件默认权限
777-umask                ##得到目录默认权限

umask 070
##临时设定070的预留权限
##预留越多,权限提升,安全性越高 (程序关闭,设定会被遗忘)
第五章 Linux系统中的权限管理

永久更改权利

vim /etc/profile      ##系统环境配置文件
vim /etc/bashrc     ##shell系统配置文件,(74-77行)

-gn ##初始组名字                    -un ##用户名字
002 ##普通用户umask (60行)  022 ##超级用户umask (62行)

第五章 Linux系统中的权限管理

注: 修改后:

source /etc/profile   ##使设定生效
source /etc/bashrc  ##source作用时使我们更改的内容立即被系统识别


###5.特殊权限###

stickyid       粘制位

##如果一个目录stickyid开启,那么这个目录中的文件
##只能被文件所有人删除

chmod  1原始权限   dir

chmod  o+t   dir

第五章 Linux系统中的权限管理

 实例:

第五章 Linux系统中的权限管理

sgid   强制位

##针对目录:目录中新建的文件自动复制目录的所有组

chmod  2源文件权限  dir

chmod  g+s  dir        ##修改test目录所有组,test目录下文件的所有组也会改变

第五章 Linux系统中的权限管理

 实例:

第五章 Linux系统中的权限管理

suid     冒险位

权利下放原理:当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关

如任何人可以看系统中的任何文件,指定当前为root(与执行文件者无关)

用处:用户权利的提升和下降

只针对二进制可执行文件(c程序)

which cat
ls -l /bin/cat
chmod u+s /bin/cat   ##任何人执行文件时都是以文件的所有人身份
ls -l /bin/cat
chmod 4原属性 /bin/cat  ##755=777-022 4=100
ls -l /bin/cat
chmod g+s /bin/cat ##任何人执行文件时都是以文件的所有组身份
ls -l /bin/cat
rm -fr file2      ##无法删除,所有人仍为普通用户
/root/rm -fr file ##身份为超级用户,可以任意删除
ps ax -o user,group,comm | grep cat ##扫描,后台运行,所有进程的用户组和名字。管道符号,过滤cat命令
watch -n 1 "ps ax -o user,group,comm | grep cat"  ##监控命令

第五章 Linux系统中的权限管理


###6.ACL权限列表###

Access Control Lists    #访问控制列表

##功能:在列表中可以设定特殊用户对特殊文件有特殊权限

acl列表权限读取

#file:westosfile     ##文件名称
#owner:root         ##文件拥有者
#group:root         ##文件拥有组
user::rw-           ##文件拥有者权限
user:westos:rw-  ##特殊指定用户权限
group::r--          ##文件拥有组权限
group:westos:— ##特殊指定的用户组的权限
mask::rw-         ##能够赋予特殊用户和特殊用户组的最大权限阀值
other::r--           ##其他人的权限

注意:
“当文件权限列表开启,不要用ls -l 的方式来读取文件的权限”
第五章 Linux系统中的权限管理

acl列表的控制

setfacl -m u:lee:rw test          ##改变文件所有人为lee并且权限为读写
setfacl  -m  g:westos:rw test  ##改变文件所有组为westos并且权限为读写
setfacl  -m  u::rwx test           ##设定文件所有人为超级用户并且权限全开
setfacl  -m  g::0 test               ##设定文件所有组为超级用户并且权限为0
setfacl  -x u:lee test               ##删除列表中的lee
setfacl  -b  test                       ##关闭列表

第五章 Linux系统中的权限管理

acl 权限优先级

权限优先级:拥有者>特殊制定用户>权限多的组>权限少的组>其他>

acl mask 控制

mask是能够赋予指定用户的最大阀值

mask是文件权限的总开关

当设定完毕文件的acl列表之后用chmod缩小了,文件拥有组的权力,mask会发生变化

acl列表的默认权限

setfacl -m  u:westos:rwx /test    只对该目录本身生效,对文件不生效

setfacl -Rm u:westos:rwx /test   目录中的文件一并修改        

第五章 Linux系统中的权限管理

setfacl -m   d:westos:rwx /test    针对目录中新建文件生效        

第五章 Linux系统中的权限管理


###7.attr权限###

用于限制所有用户,包括root

lsattr dir|file            ##查看attr权限
chattr ±i|±a dir|file  ##设定attr权限

a     #能添加权限不能删除

i      #不能作任何修改

第五章 Linux系统中的权限管理

上一篇:Redis Tool的开发历程


下一篇:【DC010沙龙年度合集】顶尖Hacking技术盛宴(文末福利)