温馨提示×

CentOS文件管理如何安全设置

小樊
50
2025-09-01 18:14:00
栏目: 智能运维

CentOS文件管理安全设置指南

一、基础权限管理:控制访问的核心

文件权限是文件安全的基石,需遵循“最小权限原则”分配访问权。

  • 查看权限:使用ls -l查看文件权限(如-rw-r--r--表示所有者可读写,组和其他用户仅可读),ls -ld查看目录本身权限(避免混淆内容权限)。
  • 修改权限
    • 符号模式chmod u=rwx,g=rx,o=r filename(精确设置所有者、组、其他用户的权限);chmod u+x script.sh(给所有者添加执行权限)。
    • 数字模式chmod 755 /usr/bin(所有者7=读+写+执行,组和其他5=读+执行,适合可执行目录);chmod 600 /etc/shadow(仅所有者可读写,严格保护敏感文件)。
  • 修改所有者/组chown root:admin /data(将/data的所有者设为root,组设为admin);chgrp developers /project(将/project的组改为developers)。
  • 特殊权限
    • SUIDchmod u+s /usr/bin/passwd(允许普通用户以root身份运行passwd命令,修改密码);
    • SGIDchmod g+s /shared(目录内新建文件继承父目录组,方便团队协作);
    • Sticky Bitchmod +t /tmp(仅文件所有者可删除/tmp中的文件,防止误删他人文件)。

二、ACL:精细化权限控制

当基础权限无法满足复杂需求时,使用**访问控制列表(ACL)**实现更细粒度的权限分配。

  • 安装工具yum install -y acl(CentOS默认未安装,需手动安装)。
  • 设置权限setfacl -m u:username:rwx /path/to/dir(给特定用户username添加目录的读、写、执行权限);setfacl -m g:groupname:r-- /etc/sensitive.conf(给特定组groupname添加文件的只读权限)。
  • 查看权限getfacl /path/to/file(显示文件的ACL规则)。

三、SELinux:强制访问控制增强

SELinux(安全增强型Linux)提供强制访问控制(MAC),限制进程对文件的访问,弥补传统权限的不足。

  • 检查状态sestatus(显示SELinux是否启用,Enforcing表示强制模式)。
  • 设置模式setenforce 1(临时切换为强制模式);修改/etc/selinux/config中的SELINUX=enforcing(永久生效)。
  • 配置上下文chcon -t etc_t /etc/passwd(将/etc/passwd的SELinux上下文设为etc_t,符合系统标准);restorecon -v /etc/passwd(恢复默认上下文)。

四、不可变属性:防止恶意修改

使用chattr命令设置文件不可变属性,避免文件被删除、修改或重命名(即使root用户也无法操作)。

  • 设置属性chattr +i /etc/passwd(锁定/etc/passwd,防止篡改);chattr +i /etc/shadow(锁定密码文件)。
  • 查看属性lsattr /etc/passwd(显示文件的属性,i表示不可变)。
  • 取消属性chattr -i /etc/passwd(需修改文件时取消不可变属性)。

五、用户与组管理:最小化权限分配

通过合理的用户和组管理,限制用户对文件的访问范围。

  • 限制root登录usermod -s /sbin/nologin username(禁止用户username切换到root);passwd -l username(锁定用户账户)。
  • 创建受限用户useradd -s /bin/rbash restricteduser(使用受限shell,限制用户只能执行特定命令)。
  • 分组控制groupadd developers(创建developers组);usermod -aG developers user1(将user1加入developers组,通过组权限控制访问)。

六、审计与监控:追踪文件操作

通过审计工具监控文件访问,及时发现异常行为。

  • 安装审计工具yum install -y audit(安装auditd服务)。
  • 启用服务systemctl enable --now auditd(启动审计服务并设置开机自启)。
  • 添加监控规则auditctl -w /etc/passwd -p wa -k passwd_changes(监控/etc/passwd的写和属性修改操作,标记为passwd_changes)。
  • 查看日志ausearch -k passwd_changes(查看passwd_changes相关的审计日志)。

七、备份与恢复:防范数据丢失

定期备份重要文件,确保数据可恢复。

  • 使用tar备份tar -czvf /backup/etc_backup.tar.gz /etc(压缩备份/etc目录到/backup)。
  • 使用rsync同步rsync -avz /data /backup/data(增量同步/data目录到/backup/data)。
  • 专业工具:使用BaculaAmanda等备份软件,实现自动化备份和保留策略。

八、其他安全措施

  • 加密敏感文件:使用GnuPG加密文件(gpg --symmetric --cipher-algo AES256 sensitive.txt),解密时需输入密码。
  • 分区安全:将/boot/home/var等目录挂载到独立分区,限制分区权限(如noexec禁止执行)。
  • 防火墙配置:使用firewalld限制对文件管理服务的访问(如firewall-cmd --add-service=ssh --permanent,仅允许SSH连接)。

0