Linux下权限的理解

权限的两种情况

对人操作:

root:只有一个,就有Linux下的最高权限(一般不受权限约束)

普通用户:可以有多个,要受权限的约束

root  <--切换-->普通用户 ,潜台词就是需要切换当前的权限

对角色和文件操作

事务的基本属性决定了权限相关概念

就好比你不能在杯子上看电影,不能在真空呼吸一样

所以权限的核心 = 人+事务属性

当我们在Linux下创建文件时,会看到下面的内容,下图说明每一部分的内容分别代表什么

这里的第一位文件类型主要有下面几种:

d :文件夹
- :普通文件
l :软链接(类似 Windows 的快捷方式)
b :块设备文件(例如硬盘、光驱等)
p :管道文件
c :字符设备文件(例如屏幕等串口设备)
s :套接口文件
除了第一位的文件类型外,剩下九个字母每三个组成一组,分别是拥有者,拥有者同组和其他成员
r: Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
w Write 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
x execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“—” 表示不具有该项权限
由于三个为一组,也就是说至少需要三位二进制来表示该组的权限,所以这里采用一位八进制来代表一组的权限。三组就可以用三个八进制数来表示。
umask:
当我们新建一个文件夹时,基础权限码是0666,当我们创建一个目录文件时,基础权限码是0777(这里的0表示八进制)。但当我们查看该文件的权限时会发现,文件夹是0664,目录是0775。这是因为有umask的存在,当你创建文件或者目录时还要受到umask的影响, 假设默认权限是 mask ,则实际创建的出来的文件权限是:原来的初始权限 &(~umask)。这里umask默认为002.
目录的权限:
可读权限:如果用户没有可读权限,则无法用ls等命令查看目录中的内容
可写权限:如果用户没有可写权限,则无法在该目录下创建或者删除文件
可执行权限:如果用户没有可执行权限,则无法cd到目录中
可是当我们需要和别人共享一个目录下,完成一定的工作时,这个时候我们两个人都同时拥有可写权限,也就是说,我写的代码可以被别人删掉。同时也意味着,在目录下,删除文件不与文件的权限有关,只与该目录的权限有关。于是这里我们需要借助粘滞位来实现。
当一个目录被设置为 " 粘滞位 "( chmod +t), 则该目录下的文件只能由
一、root删除
二、该目录的所有者删除
三、该文件的所有者删除
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值