博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 文件权限
阅读量:4048 次
发布时间:2019-05-25

本文共 1936 字,大约阅读时间需要 6 分钟。

 

转载再录:

 

 

首先我们利用umask查看系统的权限为四位,首位就是特殊权限位,SetUID为4,SetGID为2,t为1

[root@iz2ze46xi6pjjj69ailg9lz ~]# umask0022

 

一、 s权限解读:  (SetUID和SetGID)

1.SetUID权限解读(针对所属主设置s权限,数字表示为4)

  SetUID:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。前提是这个文件是可执行文件,可就是具有x权限(属组必须先设置相应的x权限)。chmod命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)

  •   (1)设置权限的方法:

          chmod u+s xxx

         chmod 4777 xxx        

    解释:我们利用umask知道权限的设置是四位数,后三位是ugo对应的属性,首位就是特殊位权限的表示,SetUID的权限位是4,因此可以用chmod 4777 xxx设置s权限。

 

二、黏着位 t  解读(针对others设置,可以实现文件夹共享)

t :设置粘着位,一般针对权限是777的文件夹设置权限。如果文件设置了t权限则只有属主和root有删除文件的权限(没有意义)

  如果权限为777的目录设置t权限,索引用户可以在这个目录下面创建文件和删除自己创建的文件,删除其他人创建的文件权限不被允许(当然root可以删除所有人创建的权限)。(为了共享目录,例如临时文件夹)

设置权限

  chmod  o+t  xxx

  chmod  1777 xxx

 

收回权限

  chmod o-t  xxx  

  chmod 0777 xxx

 

例1:linux的存放临时文件夹的tmp目录就有t权限:

[root@iz2ze46xi6pjjj69ailg9lz /]# ll / | grep tmpdrwxrwxrwt. 11 root root    4096 Mar 30 13:13 tmp

 

三、i与a权限解读

  参考:

i:不可修改权限  例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件是否设置了i权限用lsattr filename。

a:只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr +a设置追加权限

 

 

chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files…

最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的
属性。

+ :在原有参数设定基础上,追加参数。

- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。
A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
S:硬盘I/O同步选项,功能类似sync。
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文 件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
j:即journal,设定此参数使得当通过 mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.
各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

锁定文件:chattr +i 文件名

解除锁定:chattr -i 文件名

属性查看:lsattr 文件名

 

 

 

 

参考:

 

 

你可能感兴趣的文章
GNU hello代码分析
查看>>
Qt继电器控制板代码
查看>>
wpa_supplicant控制脚本
查看>>
gstreamer相关工具集合
查看>>
RS232 四入四出模块控制代码
查看>>
linux 驱动开发 头文件
查看>>
container_of()传入结构体中的成员,返回该结构体的首地址
查看>>
ipconfig,ifconfig,iwconfig
查看>>
opensuse12.2 PL2303 minicom
查看>>
网络视频服务器移植
查看>>
Encoding Schemes
查看>>
移植QT
查看>>
如此调用
查看>>
计算机的发展史
查看>>
带WiringPi库的交叉编译如何处理一
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Spring事务的七种传播行为
查看>>
ES写入找不到主节点问题排查
查看>>
Java8 HashMap集合解析
查看>>
欢迎使用CSDN-markdown编辑器
查看>>