zoukankan      html  css  js  c++  java
  • linux系统中的文件隐藏权限、chattr命令及lsattr命令

    linux系统中文件除了具备一般权限和特殊权限外,还有一种隐藏权限,即被隐藏起来的权限

    chattr命令用于增减文件和目录的隐藏权限

    1、 chattr -i 选项 不能删除文件、不能对文件进行修改

    [root@linuxprobe home]# whoami
    root
    [root@linuxprobe home]# mkdir test
    [root@linuxprobe home]# chmod 777 test/
    [root@linuxprobe home]# touch a.txt
    [root@linuxprobe home]# chmod 777 a.txt
    [root@linuxprobe home]# rm -f a.txt  ## 没有 +i隐藏全选,可以直接删除
    [root@linuxprobe home]# touch b.txt
    [root@linuxprobe home]# chmod 777 b.txt
    [root@linuxprobe home]# chattr +i b.txt  ## 加 +i 隐藏权限
    [root@linuxprobe home]# rm -f b.txt  ## 不能删除
    rm: cannot remove ‘b.txt’: Operation not permitted
    [root@linuxprobe home]# lsattr b.txt  ## 查看隐藏权限
    ----i----------- b.txt
    [root@linuxprobe home]# chattr -i b.txt  ## 减去隐藏权限
    [root@linuxprobe home]# lsattr b.txt
    ---------------- b.txt
    [root@linuxprobe home]# rm -f b.txt  ## 可以删除

    chattr +i 文件,不能对文件进行修改

    [root@linuxprobe test]# ls
    [root@linuxprobe test]# seq 5 > a.txt ## 测试数据
    [root@linuxprobe test]# lsattr a.txt
    ---------------- a.txt
    [root@linuxprobe test]# cat a.txt
    1
    2
    3
    4
    5
    [root@linuxprobe test]# echo "xxxxx" >> a.txt  ## 可以正常修改
    [root@linuxprobe test]# cat a.txt
    1
    2
    3
    4
    5
    xxxxx
    [root@linuxprobe test]# chattr +i a.txt  ##  添加隐藏权限
    [root@linuxprobe test]# lsattr a.txt
    ----i----------- a.txt
    [root@linuxprobe test]# echo "yyyyy" >> a.txt  ## 不能修改文件内容
    -bash: a.txt: Permission denied
    [root@linuxprobe test]# chattr -i a.txt  ## 减去隐藏权限
    [root@linuxprobe test]# lsattr a.txt
    ---------------- a.txt
    [root@linuxprobe test]# echo "yyyyy" >> a.txt  ##可以对文件进行修改
    [root@linuxprobe test]# cat a.txt
    1
    2
    3
    4
    5
    xxxxx
    yyyyy

    chattr +i 目录,可以修改其中的文件,不能新建文件、目录,不能删除文件目录

    [root@linuxprobe test]# mkdir -p test01/dir01  
    [root@linuxprobe test]# mkdir -p test02/dir02
    [root@linuxprobe test]# touch test01/a.txt
    [root@linuxprobe test]# touch test02/b.txt
    [root@linuxprobe test]# chmod -R 777 *
    [root@linuxprobe test]# tree  ## 测试目录、数据
    .
    ├── test01
    │   ├── a.txt
    │   └── dir01
    └── test02
        ├── b.txt
        └── dir02
    
    4 directories, 2 files
    [root@linuxprobe test]# echo "xxxxx" > test01/a.txt  ## 可以修改文件
    [root@linuxprobe test]# touch test01/c.txt  ## 可以创建文件
    [root@linuxprobe test]# rm -f test01/a.txt  ## 可以删除文件
    [root@linuxprobe test]# rm -rf test01/dir01/ ## 可以删除目录
    [root@linuxprobe test]# lsattr -d test01  ## 查看隐藏权限
    ---------------- test01
    [root@linuxprobe test]# chattr +i test02  ## 增加隐藏权限
    [root@linuxprobe test]# lsattr -d test02  ## 查看隐藏权限
    ----i----------- test02
    [root@linuxprobe test]# echo "xxxxxx" > test02/b.txt  ## 可以修改文件内容
    [root@linuxprobe test]# touch test02/d.txt  ## 不能创建新文件
    touch: cannot touch ‘test02/d.txt’: Permission denied
    [root@linuxprobe test]# rm -f test02/b.txt  ## 不能删除文件
    rm: cannot remove ‘test02/b.txt’: Permission denied
    [root@linuxprobe test]# rm -rf test02/dir02/  ## 不能删除目录
    rm: cannot remove ‘test02/dir02/’: Permission denied

    2、 chattr +a  仅能够追加内容,不能覆盖和删除内容(常用于日志文件)

    [root@linuxprobe test]# ls
    [root@linuxprobe test]# seq 4 > a.txt
    [root@linuxprobe test]# chmod 777 a.txt
    [root@linuxprobe test]# ll
    total 4
    -rwxrwxrwx. 1 root root 8 Oct 20 23:51 a.txt
    [root@linuxprobe test]# chattr +a a.txt  ## 增加隐藏权限
    [root@linuxprobe test]# lsattr a.txt
    -----a---------- a.txt
    [root@linuxprobe test]# echo "xxxxx" > a.txt  ## 不能够覆盖
    -bash: a.txt: Operation not permitted
    [root@linuxprobe test]# echo "xxxxx" >> a.txt  ## 可以追加
    [root@linuxprobe test]# rm -f a.txt  ## 不能删除
    rm: cannot remove ‘a.txt’: Operation not permitted
    [root@linuxprobe test]# chattr -a a.txt
    [root@linuxprobe test]# lsattr a.txt
    ---------------- a.txt
    [root@linuxprobe test]# echo "xxxxx" > a.txt
    [root@linuxprobe test]# echo "xxxxx" >> a.txt
    [root@linuxprobe test]# rm -f a.txt
  • 相关阅读:
    第六周学习心得
    syncnavigator关于win10、win8系统无法注册机进行激活的问题
    使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步
    数据库同步的正确打开方式
    使用SyncNavigator实现数据库异地同步。
    聊聊MySQL主从数据库同步的那些事儿
    高并发架构系列:数据库主从同步的3种一致性方案实现,及优劣比较
    MySQL binlog数据库同步技术总结
    数据库同步的两种方式
    某省肿瘤医院 — 数据备份 + 数据库同步
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/13849933.html
Copyright © 2011-2022 走看看