Linux文件权限与属性详解 之 一般权限

Linux文件权限与属性详解 之 ACL

Linux文件权限与属性详解 之 SUID、SGID & SBIT

Linux文件权限与属性详解 之 chattr & lsattr

Linux文件权限与属性详解 之 su & sudo

前言

在Linux中,有一些系统文件,对系统的运行有着至关重要的作用,如/etc/fstab等,一般不允许修改,这个时候,我们可以赋予文件/目录r--------的权限;然而,还有一个更为简单有效的命令chattr可以实现该功能!

特殊权限

特殊权限的要求:

  • 所支持的文件系统包括:ext2ext3ext4xfs
  • 一般要求内核版本不低于2.2(查看版本的命令如下):

uname -a

lsb_release -a

  • 不能保护 / /tmp /dev /var目录
  • chattr 只能由root用户使用

chattr、lsattr

类似于chmod, chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的.

1). chattr 语法:

chattr [ -RVf ] [ -v version ] [ mode ] files...

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

  • + : 在原有参数设定基础上,追加参数
  • - :在原有参数设定基础上,移除参数
  • = :更新为指定参数设定
  • A :文件或目录的 atime (access time)不可被修改(modified),可以有效预防例如手提电脑磁盘I/O错误的发生
  • a :即append,设定该参数后,只能向文件中添加数据,而不能删除;
  • c :即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
  • i :设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容;对目录
  • s :保密性地删除文件或目录,即硬盘空间被全部收回
  • u :与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.

2). lsattr 语法:

lsattr [ -RVadv ] [ files...  ]

参数如下:

  • a : 列出目录下的所有文件,包括隐藏文件
  • d : 查看本目录自身的权限

3). 例程:

首先,我使用root身份新建一个文件:

[root@niesh test]# ll
总用量 0
-rw-rw-r--. 1 root niesh 0 7月 31 20:27 abc

然后,我给该文件增加 i 权限:

[root@niesh test]# chattr +i abc
[root@niesh test]# lsattr abc
----i----------- abc

然后,我尝试增加内容、删除文件和修改文件名:

[root@niesh test]# echo 1234 >> abc
bash: abc: 权限不够
[root@niesh test]# rm -f abc
rm: 无法删除"abc": 不允许的操作
[root@niesh test]# mv abc bcd
mv: 无法将"abc" 移动至"bcd": 不允许的操作

以上均失败,由此验证!

修改以上文件的权限为 a :

[root@niesh test]# chattr +a abc
[root@niesh test]# lsattr abc
-----a---------- abc

abc文件进行操作:

[root@niesh test]# echo 1111 >> abc
[root@niesh test]# cat abc
1111
[root@niesh test]# rm -f abc
rm: 无法删除"abc": 不允许的操作
[root@niesh test]# mv abc bcd
mv: 无法将"abc" 移动至"bcd": 不允许的操作

由以上可以看出,只能增加文件内容,不能进行其他的操作!

Linux文件权限与属性详解 之 chattr & lsattr的更多相关文章

  1. Linux文件权限与属性详解 之 SUID、SGID & SBIT

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  2. Linux文件权限与属性详解 之 一般权限

    目录 一般属性 1. iNode: 3152621 2. 文件类型 3.文件访问权限 4. 链接数目: 5. 文件所有者 6. 文件所属组 7. 文件大小 8. 修改时间 9. 文件名称 Linux文 ...

  3. Linux文件权限与属性详解 之 ACL

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  4. Linux文件权限与属性详解 之 su & sudo

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  5. Linux文件权限与属性详解 之 SUID、SGID&SBIT

    一.SetUID 1.Linux普通用户可以修改自己的密码,这个是一个合情合理的设置; 修改密码其实修改的是/etc/shadow这个文件,这个文件的属性: ----------. 1 root ro ...

  6. 轻松学习Linux之Shell文件和目录属性详解

    轻松学习Linux之Shell文件和目录属性详解 轻松学习Linux之理解Sitcky 轻松学习Linux之理解umask 轻松学习Linux之理解SUID&SGUID 本系列多媒体教程已完成 ...

  7. Linux文件查找命令 find 详解

    关于find命令 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权 ...

  8. linux学习7 Linux文件系统功能和作用详解

    一.终端 1.用户界面 GUI: GNome KDE CLI: bash,zsh,sh,csh,tcsh,ksh 2.远程连接 a.ssh协议. 查看系统是否监听于tcp协议的22号端口: ss  - ...

  9. Linux文件处理命令 ls 详解

    Linux系统的应用场景最多的就是用作服务器的系统了,简洁,安全,高效,一般我们服务器端不会安装Linux的图形化界面,虽然现在一些Linux发行版的图形界面也很漂亮,但是,服务器最主要的是高效.所以 ...

随机推荐

  1. 避免docker异常重启容器挂掉的解决方法

    Docker 升级或者重启容器不会被停掉然后重启的解决方法 在/etc/systemd/system/multi-user.target.wants/docker.service文件下添加配置 注意: ...

  2. 初见SDN

    软件定义网络(Software Defined Network, SDN ),是一种新型网络架构. SDN=OpenFlow:因为Openflow是大多数人唯一看得到的具体化的SDN的实现形式(实际上 ...

  3. css实现圆形倒计时效果

    实现思想: 1.最外层包裹内部的div1(.box) 2.内部左右两边div2(.left_box和.right_box),宽度为div1的一半,通过overflow:hidden隐藏其内部的div ...

  4. day16_雷神_前端04

    前端day04 链接前端的一些库,一些资源,从bootcdn上搜,有前端所有的库. 前端工作流程: jquery的DOM文档操作 <!DOCTYPE html> <html lang ...

  5. Python之旅Day13 JavaScript与DOM部分

    JavaScript部分 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应的代码,浏览器就可以解释并做出相应的 ...

  6. PHP中 PCRE正则表达式模式修饰符“u” 的使用。

    u (PCRE_UTF8) 此修正符打开一个与 perl 不兼容的附加功能. 模式字符串被认为是utf-8的. 这个修饰符 从 unix 版php 4.1.0 或更高,win32版 php 4.2.3 ...

  7. cef3:禁止win10高dpi下cef对内部网页进行缩放

    1.使用命令行参数 //禁止cef进行dpi缩放 command_line->AppendSwitchWithValue("--force-device-scale-factor&qu ...

  8. Javascript高级编程学习笔记(19)—— 对象属性

    面向对象的语言有一个标志,那就是语言中都有类的概念 前面的文章中我提到过ECMAScript中没有类的概念(ES6之前) 所以JS中的对象和其他语言中的对象存在着一些区别 ECMA中对对象的定义如下: ...

  9. Java 利用 UUID 生成唯一性 ID 示例代码

    用户ID首先生成,订单ID的生成可依赖用户ID. 下面代码前六位是日期,后八位是随机数,用于生成用户ID. public String getNewUserId() { String ipAddres ...

  10. js实现复制内容自动添加版权信息

    场景:当我从网上复制了所需代码到编辑器粘贴时,总会有如下版权信息提示   看到好几次后,在好奇心的驱使下开始搜寻答案.网上有好几种写法,最开始我找到了如下JS代码 document.body.onco ...