05---权限管理和FACL
来源:互联网 发布:mac最好的播放器 编辑:程序博客网 时间:2024/06/06 17:58
==========================
权限 r,w,x
文件 r读 w写 x执行
目录 r可以对此执行ls列出内部所有文件名
w 可以在目录增删文件
x 可以使用cd切换进此目录,也可以使用ls -l查看内部详细信息
目录应该默认有x权限
小结:对于目录,不能读也可以cd进去,并且可写,执行ls只能看到文件名,无法获得其他信息。但是若不能执行,则不能写。
对于文件,不能读也能执行。需要深入思考。
文件的隐藏属性
【鸟哥书上写到支持ext2/3,经测试ext4也支持】
chattr(修改文件隐藏属性)
chattr [+-=] [ai] FILE/DIR
-a 设置为a后,文件将只能增加数据(用echo "hehe" >> file验证),不能删改其内容
也不能重命名,虽然重命名是修改目录的内容。也不能被硬链接)只有root可以设置此属性
-i 和-a差不多,但是连追加内容也不被允许
lsattr(列出文件隐藏属性)
lsattr和ls的用法差不多
-a 列出所有文件,包括隐藏的
-d 列出目录本身,而非其里面的文件
-R 递归列出目录下的所有内容
==========================
权限管理
chown(变更属主属组)只有root可以使用之
用法:chown [-R] USERNAME:GRPNAME FILE/DIR
-R Recursive,目录下内容递归修改
也可以仅变更属主或者属组:
chown dechao /etc/test.a
chown :newteam /etc/test.b
chmod(变更文件权限)
用法:chmod New_Mod FILE/DIR
-R Recursive,目录下内容递归修改
chmod 755 /home/dechao/test.a
chmod a+r /etc/abc.txt
chmod g=rwx /home/dechao/haha.txt
chgrp(变更属组)
chgrp [-R] GRPNAME FILE/DIR
较少使用,一般用chown比较多
=========================
linux上的特殊权限:
SUID SGID STICKY:
安全上下文:
1.进程以某用户的身份运行,进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作。
2.权限匹配模型:
(1)进程的发起者是否为被访问文件的属主;如果是,则应用属主的权限,否则进入(2)
(2)进程的发起者是否属于被访问的文件的属组;如果是,则应用属组的权限,否则进入(3)
(3)应用other的权限
SUID(仅对二进制程序有效)
【要理解进程UID和进程EUID(有效UID)】
默认情况下用户发起的进程,进程的属主是其发起者,其以发起者的身份运行,与文件属主无关。
用户运行某程序时,如果此程序拥有SUID权限,则此程序的进程的属主不是进程发起者,而是文件属主。进程EUID变更为文件属主。
/etc/passwd 就有SUID权限,那么一般用户tom是否就可以更改另一个用户jack的密码?不能,因为普通用户使用该命令不能加参数。
管理文件的SUID权限:
chmod u+s FILE
chmod u-s FILE
展示位置:属主的执行权限位;如果属主原本有执行权限,显示为s。原本无执行权限,显示为S。
SGID(对二进制程序和目录有效):
当目录属组有写权限,且有SGID权限时,属于该属组的用户在里面创建文件时,该文件的属组不再为用户的基本组,而是继承目录的属组。即此目录下有效用户组变更为该目录的属组。【但是执行groups查看用户所属用户组,发现没有什么改变】
管理目录的SGID权限
chmod g+s DIR
chmod g-s DIR
展示位置:属组的执行权限位;如果属主原本有执行权限,显示为s。原本无执行权限,显示为S。
STICKY(仅对目录有效):
默认情况下对于属组可写或全局可写的目录,组内用户或者全局用户都能在该目录下增删文件。如果为该目录设置Sticky权限,则用户仅能删改自己创建的文件,其他用户只能看。
管理目录的Sticky权限
chmod o+s DIR
chmod o-s DIR
展示位置:other的执行权限位;如果属主原本有执行权限,显示为s。原本无执行权限,显示为S。
系统上的/tmp和/var/tmp目录均有Sticky权限。
管理特殊权限的另一种方式:
chmod [0-7][0-7][0-7][0-7] #第一组的[0-7]是SUID,SGID,Sticky的组合
==============================================================================
FACL: File Access Control List
目前绝大多数文件系统支持ACL,ACL属于挂载选项,通过 dumpe2fs -h /dev/sda# 查看下。
文件的额外赋权机制,即在原有的u,g,o之外另一种控制赋权给另外用户或组的赋权机制。
若要开机挂载时自动使能改选项,需要编辑/etc/fstab文件下挂载选项一列的default后加上acl(但一般default中
已经包含了acl)
getfacl (查看某文件的facl)
getfaclFILE or DIR
setfacl(设置某文件的facl)
-R 目录递归
-m modify, 设定
u:UserName:perm
g:GrpName:perm
-x remove, 删除
u:UserName
g:GrpName
-m 设置最大权限范围mask,facl设置的user,group权限不能超出之---->很少改动
m:[rwx]
set -m u:USRNAME:MODE FILE #赋权给用户
set -m g:GRPNAME:MODE FILE #赋权给组
set -x u:USRNAME FILE #撤销赋权
set -x g:GRPNAME FILE #撤销赋权
UserName/GrpNAME省略的话,代表文件属主属组.
设置完facl后,执行ls -l发现原来的9位权限后出现了+号,代表此文件有附加权限。
先确认身份,身份确认后获得相应的权限(即使后续身份有更大权限也不再使用),身份确认流程如下:
FACL添加前:Owner-->Group-->Others
FACL添加后:Owner-->facl_of_user-->Group-->facl_of_group-->Others
即权限匹配模型:是否属主?-->FACL对用户的授权-->是否属组?-->FACL对组的授权-->others
阅读全文
0 0
- 05---权限管理和FACL
- FACL额外访问控制权限
- 文件访问权限控制列表FACL及特殊权限
- 11.权限和权限管理
- 用户和权限管理
- 账号和权限管理
- 用户和权限管理
- 用户组和权限管理
- Linux-FACL
- facl讲解
- 用户、权限和角色管理
- linux 用户和权限管理
- 数据库权限管理和维护
- PostgreSQL 用户和权限管理
- MySQL--用户管理和权限
- linux权限和用户管理
- Linux_用户和权限管理
- linux新用户和权限管理
- 【ARM】使用J-Link下载u-boot到Mini2440开发板
- Java 修改页面排序条件
- 51Nod-1046 A^B Mod C【快速模幂】
- Python中的函数(1)
- 170525 逆向-数学运算符的优化,CrackMe(2)
- 05---权限管理和FACL
- 计数排序和基数排序
- 2.4 整体方案的综合评估
- 比较OpenBLAS,Intel MKL和Eigen的矩阵相乘性能
- 【CSS属性大全】
- linux 离线安装gcc
- java-map转bean
- POI 其他形状
- tomcat+nginx+redis实现均衡负载、session共享(二)