Centos7-文件权限管理

7.1文件的基本权限:rwx (UGO)
7.2文件的特殊权限:suid sgid sticky和文件扩展权限ACL
7.3创建一个让root都无法删除的文件

7.1文件的基本权限
7.1.1 权限的作用
通过对文件设定权限可以达到以下三种访问限制权限:
只允许用户自己访问;
允许一个预先指定的用户组中的用户访问;
允许系统中的任何用户访问。
7.1.2 查看权限
文件类型
p表示命名管道文件
d表示目录文件
l表示符号链接文件
-表示普通文件
-表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件
c表示字符设备文件 例:虚拟控制台 或tty0
b表示块设备文件 例:sda cdrom
7.1.3 权限说明
对于文件来说
读写执行 cat vim echo 编辑 脚本执行
对于目录来说
r: ls
w: touch mkdir rm mv cp
x:cd
7.1.4 文件拥有者
UGO:所有者–用户组–其他用户·

更改文件属主属组命令
chown root:root /文件或者目录
chown root: /文件或目录 属主属组都改为root
chown :root /文件或目录 只更改属组为root
chown -R (递归) 目录下所有内容都改 否则只修改目录

一个文件只有读的权限,拥有着可以写这个文件 vim写入 wq!

7.1.6 修改权限
命令chmod
对谁操作:
u----用户
g----用户组
o----其它用户
a----所有用户 u+g+o
操作符 +添加权限 -减少权限 =直接给定一个权限

使用八进制(0-7)数字表示权限法
权限 二迚制值 八迚制值 描述
— 000 0 没有任何权限
–x 001 1 只有执行权限
-w- 010 2 只有写入权限
-wx 011 3 有写入和执行权限
r-- 100 4 只有读叏权限
r-x 101 5 有读叏和执行权限
rw- 110 6 有读叏和写入权限
rwx 111 7 有全部权限

rwx 421
stat -c %a 数字权限如755
stat -c %A 字母 rwxr-xr-x

补码

文件默认权限=666
目录默认权限=777

创建文件的默认权限从哪来
/etc/profile
我们一般在/etc/profile、$ [HOME]/.bash_profile 戒$[HOME]/.profile 中设置 umask 值。
永丽生效,编辑用户的配置文件 vim .bash_profile

if [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then
umask 002
else
umask 022
fi
**注:**UID大于199且用户的组名和用户名一样 那么umask值为002 否则为022
-gt在shell中表示大于;id -g 显示用户组ID
id -gn显示组名

权限一般算法
目录默认权限-umask值
666-022=644
777-022=755

权限科学的计算方法:
1、将默认权限(目彔 777,文件 666)和 umask 值都转换为 2 迚制
2、对 umask 叏反
3、将默认权限和 umask 叏反后的值做不运算
4、将得到的二迚制值再转换 8 迚制,即为权限,
例 1: umask 为 022
6 6 6 umask 0 2 2
110 110 110 000 010 010 # 转成二迚制
111 101 101 # umask 叏反的值
110 110 110 不 #第二步,默认权限和 umask 叏反后的值做不运算
111 101 101 # umask 叏反的值
110 100 100
6 4 4 #转成 8 迚制
例 2: umask 为 033 结果为: 644
6 6 6 umask 0 3 3
110 110 110 000 011 011 # 转成二迚制
111 100 100 # umask 叏反的值
110 110 110 不 #默认权限和 umask 叏反后的值做不运算
111 100 100 # umask 叏反的值
110 100 100
6 4 4 #转成 8 迚制

7.2文件的特殊权限:suid sgid sticky和文件扩展权限ACL
文件的特殊权限
1、SUID(set uid 设置用户ID:)限定:只能设置在二进制可执行程序上面,对目录设置无效
功能:程序运行时的权限从执行者变更成程序所有者的权限
2、SGID:限定:既可以给二进制可执行程序设置,也可以对目录设置
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会,继承上级目录的所属组
3、Stickybit:粘滞位权限是针对目录的,对文件无效,也叫防删除位
这三个特殊权限对应的数值为
SIUD——u+s或u=4
SGID——g+s或g=2
Stickybit——o+t或o=1
SUID属性一般用在可执行文件上 当用户执行该文件时,会临时拥有该执行文件的所有者权限
ll 文件权限U 第三位会有一个代替x的小s
例如 /usr/bin/passwd

实际使用如
普通用户没有删除某文件权限
如赋予rm命令 u+s suid的权限 即可在执行时临时拥有所有者权限 并删除

SGID:
限定:既可以给二进制可执行程序设置,也可以给目录设置
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的权限

创建一个文件test
给g+s权限 再给此目录下新建文件会继承test的权限 例 属组为kylin 目录下创建文件属主也为kylin

Stickybit
限定:只作用于目录
功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。
例:系统中的tmp目录就是这样
一般用于共享目录 防止删除其它用户文件

7.2.1 文件扩展权限ACL

扩展ACL :access control list

命令格式:
getfacl 文件名 (查看该文件/目录权限)
setfacl -m u:user:rwx /file

目录设置acl

setfacl -m d:u:kk:rwx acltest/

#-d default 设置默认ACL 对目录有效 此目录下新建的文件都继承此acl权限
设置acl前 drwxr-xr-x 2 root root 4096 Apr 1 16:57 acltest/
设置acl后 drwxr-xr-x+ 2 root root 4096 Apr 1 16:57 acltest/

给目录下所有文件都加扩展权限

setfacl -R -m d:u:kz:rwx acltest/

去除权限

setfacl -x u:user:rwx /file

#去掉单个权限

setfacl -b /文件或目录

#去掉所有acl权限

命令:chattr
参数:+a 只能追加内容 +i 不能被修改
+i:即 Immutable,系统丌允许对这个文件迚行任何的修改。如果目彔具有这个属性,那举任何的迚程只能修
改目彔之下的文件,丌允许建立和删除文件。

chattr +a/+i /file
lsattr -a/-i /file

a为可追加内容
i为不可修改 即编辑、删除、增加内容等

2019-4-1

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值