Linux_文件权限

修改文件的权限一般修改不同身份的对文件使用权限和修改权限

对于前面的一串字符分为4部分,文件类型,创建者权限(三个字符),同组者权限(三个字符),其他人权限(三个字符)。

对于文件类型:

d:文件夹 _:普通文件 l:软链接文件 p:管道文件 ...............

三个权限

r:读权限 w:写权限 x:执行权限

可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.

可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中

chmod修改权限

修改文件权限的可以是文件创建者,root超级用户

R -> 递归修改目录文件的权限

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户

cpp 复制代码
$ 命令行
$ chmod u+rwx filename   // 使用者添加读写执行权限
$ chmod g-wx  filename   //  组成员删除写和执行权限
$ chmod  g+rw,o-rwx     // 组合使用
$ chmod  -R 777 filename

也可以使用二进制修改权限rwx权限,有就设置为1,没有就设置为0,对于rwxrw-r--的权限可以设置为111 110 100(764),chmod 764 filename。

chown/chgup修改文件user和group

cpp 复制代码
$ chown newuser filename
$ chgrp newgroup filename

umask文件掩码

默认掩码是0022,可以修改掩码。

umask的作用决定文件的最终权限

最终权限=起始权限&(~umask)

cpp 复制代码
起始权限 // 普通文件默认0666  文件夹默认0777(需要进入,就需要执行权限)
umask      root默认0022  普通用户默认0002
最终权限 // 文件创建的最终权限
0666--->0 110 110 110
0002--->0 000 000 010
~0002-->1 111 111 101

0666&(~0002)
     -->0 110 110 100
即:umask为1的位去除

粘滞位

背景:对于root创建了一个文件夹,需要被多个其他用户共同使用

cpp 复制代码
   ------>  file1
   ------>  file2
dir------>  file3
   ------>  file4
   ------>  file5 

每个人都可以修改自己文件的权限,但对于dir这个文件夹,所有用户都必须有读写执行的权限,所以dir-->rwxrwx000 ,对于同组的成员就可以删除其他人的文件(因为有写的权限),就引入了粘滞位,不允许删除其他人的文件。

cpp 复制代码
chmod +t dirname

添加粘滞位后,不允许删除其他人的文件。

相关推荐
Leinwin4 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382504 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇4 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7595 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
Thera7775 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
运维小欣5 小时前
智能体选型实战指南
运维·人工智能
yy55275 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ6 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔8 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密8 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器