###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
对于每一位的解释
[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 改目录
在改目录时,想要同时更改目录内的文件信息需要加-R
使用字符的方式设定权限
chmod? <a|u|g|o>? ?<+|-|=>? ?<r|w|x>? ?file1 chmod? u+rw,g+r,o-wx? file2 ##添加或取消文件权限 chmod? a=rx? file3 ##文件任意权限都赋予读和执行权限
使用三位二进制数字修改权限 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
###4.系统默认权限设定###
系统本身存在的意义是共享资源 从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高 既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放 把不安全的权力默认保留
?umask? ? ? ? 表示系统保留权力
umask? ? ? ? ? ? ? ##查看保留权力 umask 权限值? ##临时设定系统预留权力
777-umask-111=644 ##得到文件默认权限 777-umask? ? ? ? ? ? ? ? ##得到目录默认权限
umask 070 ##临时设定070的预留权限 ##预留越多,权限提升,安全性越高 (程序关闭,设定会被遗忘)
永久更改权利
vim /etc/profile? ? ? ##系统环境配置文件 vim /etc/bashrc ? ? ##shell系统配置文件,(74-77行)
-gn ##初始组名字? ? ? ? ? ? ? ? ? ? -un ##用户名字 002 ##普通用户umask (60行)? 022 ##超级用户umask (62行)
注: 修改后:
source /etc/profile? ?##使设定生效 source /etc/bashrc? ##source作用时使我们更改的内容立即被系统识别
###5.特殊权限###
stickyid? ? ? ?粘制位
##如果一个目录stickyid开启,那么这个目录中的文件 ##只能被文件所有人删除
chmod? 1原始权限? ?dir
chmod? o+t? ?dir
?实例:
sgid? ?强制位
##针对目录:目录中新建的文件自动复制目录的所有组
chmod? 2源文件权限? dir
chmod? g+s? dir? ? ? ? ##修改test目录所有组,test目录下文件的所有组也会改变
?实例:
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" ##监控命令
###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 的方式来读取文件的权限”
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? ? ? ? ? ? ? ? ? ? ? ?##关闭列表
acl 权限优先级
权限优先级:拥有者>特殊制定用户>权限多的组>权限少的组>其他>
acl mask 控制
mask是能够赋予指定用户的最大阀值
mask是文件权限的总开关
当设定完毕文件的acl列表之后用chmod缩小了,文件拥有组的权力,mask会发生变化
acl列表的默认权限
setfacl -m? u:westos:rwx /test? ? 只对该目录本身生效,对文件不生效
setfacl -Rm u:westos:rwx /test?? 目录中的文件一并修改????????
setfacl -m? ?d:westos:rwx /test? ? 针对目录中新建文件生效????????
###7.attr权限###
用于限制所有用户,包括root
lsattr dir|file? ? ? ? ? ? ##查看attr权限 chattr ±i|±a dir|file? ##设定attr权限
a? ? ?#能添加权限不能删除
i? ? ? #不能作任何修改
|