Linux文件权限详解

文件权限详解:

 

drwxrwxrwt 5 root root 4096 Jul 6 12:08 tmp

-rwsr--r-- 5 root root 406 Jul 6 12:08 passwd

 

 

d 表示目录

rwx 表示所属用户的权限

rwx 表示所属组其他用户权限

rwt 表示

 

4 SUID 表示其它用户执行的时候暂时得到所有者的权限 不用于目录

2 SGID 表示该目录所有文件或者子目录与此目录同组

1 SBIT 表示该目录下文件只有创建者root才能删除 不用于文件

 

 

[root@linux ~]# cd /tmp
[root@linux tmp]# touch test

[root@linux tmp]# chmod 4755 test; ls -l test
-rwsr-xr-x 1 root root 0 Jul 20 11:27 test

[root@linux tmp]# chmod 6755 test; ls -l test
-rwsr-sr-x 1 root root 0 Jul 20 11:27 test

[root@linux tmp]# chmod 1755 test; ls -l test
-rwxr-xr-t 1 root root 0 Jul 20 11:27 test

[root@linux tmp]# chmod 7666 test; ls -l test
-rwSrwSrwT 1 root root 0 Jul 20 11:27 test

# 这个例子要特别小心。怎么会出现大写的ST呢?不都是小写的吗?
# 因为st都是取代x参数的,但是,我们是使用
# 7666。也就是说,usergroup以及others都没有x这个可执行的标志
# (因为666)。所以,ST表示“空的”。
# SUID是表示“该文件在执行时,具有文件拥有者的权限”,但文件
# 拥有者都无法执行了,哪里来的权限给其他人使用呢?当然就是空的

 

chattr
  
  1.作用: 修改ext2ext3文件系统属性(attribute),使用权限超级用户。
  
  2.格式: chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录
  
  3.主要参数


  -R:递归处理所有的文件及子目录。
  -V:详细显示修改内容,并打印输出。
  -:失效属性。
  +:激活属性。
   = :指定属性。
  

AAtime,告诉系统不要修改对这个文件的最后访问时间。


S
Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。


a
Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这 个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
  
i
Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录 之下的文件,不允许建立和删除文件。
  
D
:检查压缩文件中的错误。
  
d
No dump,在进行文件系统备份时,dump程序将忽略这个文件。
  
C
Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中 写入数据时,数据首先被压缩之后才写入磁盘。
  
s
Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。

  
u
Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。

 

应用实例:
1
、用chattr命令防止系统中某个关键文件被修改

# chattr +i /etc/fstab 
然后试一下rm mv rename等命令操作于该文件,都是得到Operation not permitted 的结果
2、让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作
# chattr +a /data1/user_act.log

 

lsattr命令格式:[root]#lsattr [-RVadlv] [files...]

 

  参数或选项说明:

 

 -R:递归列示目录及文件属性。

 -V:显示程序版本号。

 -a:显示所有文件属性,包括隐藏文件(.)、当时目录(./)及上层目录(../)

 -d:仅列示目录属性。

 -l:(此参数目前没有任何作用)。

 -v:显示文件或目录版本。

 

  例:

  [root]#chattr +aij lsattr_test

  [root]#lsattr

  ----ia---j--- ./lsattr_test

<think>好的,用户问的是关于“chattr +i”的内容。首先,我需要回忆一下这个命令的具体作用和用法。chattr是Linux系统中的一个命令,用于更改文件属性,而+i选项是用来设置不可变标志的,这意味着文件不能被修改、重命名或删除,即使是root用户也不行。 接下来,我需要考虑用户可能的背景。用户之前询问了银行麒麟V10系统中哪些服务可以关闭,现在转向文件属性设置,可能是在进行系统维护或安全加固。用户可能是一位系统管理员,负责维护银行系统的安全,因此需要准确的信息,避免误操作导致系统问题。 用户的需求不仅仅是知道chattr +i是什么,可能更想知道如何正确使用它,以及使用时的注意事项。特别是银行系统对稳定性和安全性要求极高,任何误操作都可能导致严重问题。因此,回答中需要强调谨慎使用,并给出实际例子和恢复方法。 需要确认是否有常见的使用场景,比如保护关键配置文件或日志文件,防止被篡改。同时,要提醒用户,错误地设置不可变属性可能会导致服务无法正常运行,比如无法写入日志。此外,必须说明如何取消这个属性,即使用chattr -i,否则用户可能会在需要修改文件时遇到困难。 另外,用户可能没有提到但需要注意的点包括:chattr命令需要root权限,以及某些情况下即使使用-i也可能无法立即生效,可能需要重启或其他操作。同时,要指出不可变属性在系统恢复或紧急情况下的潜在风险,比如无法快速修改关键文件。 最后,结合用户之前的提问,可能需要关联到系统服务的安全配置,比如在保护某些服务配置文件时使用chattr +i,但同时要确保不影响服务的正常运行。需要强调在银行环境中,任何系统修改都应遵循内部规程,建议先测试再应用,并备份重要文件。</think>### **`chattr +i` 命令详解** **作用**:为文件/目录添加**不可变(Immutable)属性**,使其无法被修改、删除或重命名,**即使 root 用户也无法操作**,属于 Linux 文件系统高级权限控制。 --- #### **一、核心特性** 1. **防护等级**: $$ \text{强制锁定} \geq \text{chattr +i} \geq \text{普通权限控制} $$ - 优先级高于`chmod 000`和`rm -rf`的常规操作 2. **适用范围**: - 文件:禁止内容修改、删除、移动 - 目录:禁止新建/删除子文件、修改目录属性 --- #### **二、典型使用场景** | 场景 | 操作示例 | 必要性说明 | |-----------------------|---------------------------------|----------------------------| | 保护关键配置文件 | `chattr +i /etc/passwd` | 防止恶意篡改用户信息 | | 锁定审计日志 | `chattr +i /var/log/secure` | 确保日志不被删除(满足合规要求)| | 系统恢复保护 | `chattr +i /sbin/init` | 防止关键系统程序被替换 | | 银行交易记录保护 | `chattr +i /data/trans.log` | 金融场景防数据篡改 | --- #### **三、操作命令与验证** 1. **添加不可变属性**: ```bash chattr +i /path/to/file_or_directory # 需root权限 ``` 2. **查看属性状态**: ```bash lsattr /path/to/file_or_directory ``` - 输出含 `i` 标记即生效(示例:`----i---------e-- /etc/resolv.conf`) 3. **解除不可变属性**: ```bash chattr -i /path/to/file_or_directory # 需root权限 ``` --- #### **四、风险与注意事项** 1. **误操作风险**: - 若对动态文件(如数据库、日志持续写入的文件)设置`+i`,会导致服务崩溃 *案例*:锁定正在写入的 MySQL 日志文件 → 数据库服务报错"Read-only file system" 2. **恢复复杂度**: - 若忘记已设置`+i`,可能导致紧急维护时无法快速修改配置 3. **特殊场景穿透**: - 通过底层磁盘挂载到其他系统可绕过此限制(需物理安全配合) --- #### **五、银行系统应用规范** 1. **白名单机制**: - 仅允许对审计日志、加密证书等核心资产使用`+i`属性 2. **审批流程**: ```mermaid graph LR A[发起申请] --> B[技术负责人审批] B --> C[风控部门备案] C --> D[维护窗口期操作] ``` 3. **监控要求**: - 通过`auditd`服务记录所有`chattr`命令执行记录 --- ### **六、替代方案对比** | 方法 | 防护强度 | 操作复杂度 | 适用场景 | |--------------------|--------|----------|----------------------| | `chattr +i` | ★★★★★ | 低 | 长期静态文件保护 | | `chmod 400` | ★★☆ | 低 | 临时防误修改 | | SELinux 策略 | ★★★★ | 高 | 精细化进程级控制 | | 只读挂载文件系统 | ★★★★ | 中 | 批量文件保护(如 /usr)| **建议**:银行系统建议组合使用`chattr +i`与 SELinux,实现**属性锁+策略锁**双重防护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值