Linux---文件属性与权限管理

1.文件属性

这里写图片描述

ll

文件类型

首位数字
- d是目录文件
- l 是软链接文件
- -是普通文件
- p是管道

9位数字
三个为一组,当前用户(u):所属用户组(g):其它用户(o)

r—可读
w—可写
x—可执行


2.权限管理

服务器为用户严格定义权限等级
基本原则:在最小权限下实现要求即可


权限对文件的作用
r (cat more head tail)
w(vi echo):但是不包含删除文件(目录有写权限,才能操作文件)

权限对目录的作用
r 可以查询目录下的文件名(ls)
w 具有修改目录结构的权限,创建文件,目录;删除,更改名称(touch rm mv cp )
x 可以进入目录 (cd)

对文件来讲最高权限是x
对目录来讲最高权限是w,0,5(rx),7(rwx)

chmod [选项] 模式 文件名

//选项 
-R  递归

//模式
chmod u+x 文件名  //赋予所有者执行权限的命令
chmod g+w,o+w 文件名  //赋予所属组和其它用户写权限
chmod u-x,g-w,o-w 文件名  //减权限
chmod u=rw,g=rwx,o=r 文件名   
chmod a=rw  //暴力执行三组权限

选择了暴力的为所有用户分配读权限

chmod =r file;

chmod 777 file;
rwx : 111 = 7
rw- : 110 = 6
r-x : 101 = 5
...

//可读,可写,可执行的十进制表示
r-- : 100 = 4
-w- : 010 = 2
--x : 001 = 1

可以分别将读4,写2,执行1,按照不同的组合相加
譬如
rw-  数字6
r-x  数字5
...

777 最高权限
644 文件权限,用户可读写,其它用户可读
755 
chown  用户名   文件名
chown  用户名:用户组  文件名 (change owner)
chgrp   用户组   文件名   

3.默认权限

umask //查看默认权限
0022
第一位:文件的特殊权限
022:文件默认权限

1.文件

文件默认不能建立执行文件,必须手动赋权限
文件默认权限最大为666

换算成字母
比如:
-rw-rw-rw 减去 —–w–w-

umask 0033 临时生效

2.目录

最大权限是777

vim /etc/profile 永久更改

4.ACL权限

一个文件 所有者:所属组:其它

ACL解决了用户身份不够的情况,一个文件的另一个所有者

查看分区ALC权限是否开启
dumpe2fs -h /dev/分区(sda1,sda2,sdb1...//重新挂载根分区,临时生效
mount -o remount, acl /
//永久生效
vim /etc/fstab
getfacl 文件名  // 查看ACL命令

setfacl 选项  文件名
//添加ACL权限 选项[-m]
setfacl -m u:用户名:权限(rx...rw) 文件 

//最大有效权限
mask::rwx
真正的权限=自己赋予的权限 && mask (逻辑与)
//设定mask
setfacl -m m:rx  文件
setfal -x u:用户名 文件  //删除用户的ACL权限
setfal -b 文件名  //删除文件所有的ACL权限
//递归权限,只能赋予目录
-R

权限溢出
执行x对目录,文件的不同作用

默认ACL,父目录赋予ACL权限之后,所有新建的文件都应该有ACL权限

setfacl -m d:u:用户名:权限  -R  文件路径
(可以赋予文件)

5.sudo权限

操作对象是系统命令,本来只有超级用户执行的命令赋予普通用户执行

visudo // 实际是/etc/sudoers

root ALL=(ALL) ALL
用户名  被管理者主机的地址=(可使用的身份)授权命令(绝对路径)

//授权普通用户可以重启服务器
//命令写的越简单,普通用户的权限越大,越详细,受到的限制就越大
usr1 ALL = /sbin/shutdown -r now

su - 用户名  //切换用户
sudo -l 查看可用的sudo命令

//授权普通用户可以添加其他用户
whereis useradd
用户名 ALL=/usr/sbin/useradd

//授予用户设定密码的权限
用户名 ALL=/usr/bin/passwd 

//不能设定root密码设定
ALL=/usr/bin/passwd [A-Za-z]*,[空格]!/usr/bin/passwd ""(passwd后不能为空), !/usr/bin/passwd root(passwd 不能root)


//坑死
用户名  ALL=/bin/vi

sudo /bin/vi /etc/shadow  
可以以root身份查看shadow文件,导致一般用户篡改文件

6.文件特殊权限

1.setUID

umask的第一位数字
只有可执行的二进制程序才能设定SUID权限
命令的执行者要对该程序拥有x权限

这里写图片描述

passwd默认有SUID权限,任何用户对于它都有执行权限(后一个r-x)
灵魂附体,普通用户变成文件所有者身份

2.setGID
3.Sticky BIT


参考资料

1.Linux chmod命令详解

2.慕课网—Linux权限管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值