Linux阻止所有用户删除或修改文件和目录

本文介绍如何使用chattr命令为文件或目录添加不可修改的属性,通过实例演示了即便是root用户也无法修改或删除设置了+i属性的文件或目录。

chmod移除写权限并不会对root用户生效,如果想防止文件或文件夹被意外修改,可以使用chattr命令

chattr +i  文件/目录

可以对文件和文件夹加保护,之后任何用户都无法修改和删除

root@localhost:~ # mkdir /opt/test111
root@localhost:~ # 
root@localhost:~ # chattr +i /opt/test111
root@localhost:~ # touch /opt/test111/foo.txt
touch: cannot touch ‘/opt/test111/foo.txt’: Permission denied
root@localhost:~ # mkdir /opt/test111/foo
mkdir: cannot create directory ‘/opt/test111/foo’: Permission denied
root@localhost:~ # rm -rf /opt/test111/
rm: cannot remove ‘/opt/test111/’: Operation not permitted
root@localhost:~ # 
root@localhost:~ # chattr -i /opt/test111/
root@localhost:~ # touch /opt/test111/foo.txt
root@localhost:~ # mkdir /opt/test111/foo
root@localhost:~ # rm -rf /opt/test111/

 

参考:https://www.runoob.com/linux/linux-comm-chattr.html

 

 

 

### Linux CentOS 中更改文件目录权限以提高安全性的操作指南 #### 1. 使用 `chmod` 更改文件目录权限 `chmod` 命令用于更改文件目录的权限。权限分为三类:用户(u)、组(g)其他人(o),每类有三种操作权限:读(r)、写(w)执行(x)。以下是一些常用示例: - 将文件设置为仅所有者可读写,其他人不可访问: ```bash chmod 600 filename ``` - 将目录设置为所有者可读写执行,组其他人只可读执行: ```bash chmod 755 directoryname ``` 权限设置必须根据实际需求进行调整,确保敏感文件不被非授权用户访问[^1]。 #### 2. 使用 `chown` 更改文件目录的所有者 `chown` 命令用于更改文件目录的所有者。例如: - 将文件的所有者更改为 `user1`: ```bash chown user1 filename ``` - 同时更改所有者所属组为 `user1` `group1`: ```bash chown user1:group1 filename ``` 更改所有者可以限制对文件的访问范围,确保只有特定用户能够操作文件[^2]。 #### 3. 使用 ACL 提供更细粒度的权限控制 ACL(访问控制列表)允许为单个用户组分配额外的权限,而无需修改文件的基本权限。例如: - 查看文件的 ACL: ```bash getfacl filename ``` - 为用户 `user1` 添读写权限: ```bash setfacl -m u:user1:rw filename ``` - 删除用户 `user1` 的 ACL 条目: ```bash setfacl -x u:user1 filename ``` 使用 ACL 可以在复杂环境中实现更灵活的权限管理[^1]。 #### 4. 确保目录具有执行权限 目录必须具有执行权限(x),以便用户可以进入该目录并列出其内容。即使没有读权限,只要有执行权限,用户仍然可以访问已知名称的文件。例如: ```bash chmod +x directoryname ``` 目录的执行权限是浏览访问的基础,缺少此权限将导致无法正常操作目录[^3]。 #### 5. 使用 `umask` 设置默认权限 `umask` 命令用于设置新创建文件目录的默认权限。例如: - 设置默认权限为文件 644,目录 755: ```bash umask 022 ``` 通过合理配置 `umask`,可以在系统层面限制新文件目录的初始权限,从而提高整体安全性。 #### 6. 使用 `lsattr` 检查隐藏权限 某些文件可能具有隐藏权限,例如不可变属性(i),这会阻止文件修改删除。例如: - 查看文件的隐藏属性: ```bash lsattr filename ``` - 设置文件为不可变: ```bash chattr +i filename ``` - 移除文件的不可变属性: ```bash chattr -i filename ``` 隐藏权限可以进一步增强关键文件的安全性,防止意外恶意修改。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值