Linux系统安全加固需三步:识别S位程序、处理无主文件、收紧全局可写权限,并用chattr锁定关键文件。

清理Linux系统中不安全的二进制文件权限和S位程序,核心是识别、评估、限制三步走。重点不是“全删”,而是把不该有高权限的程序权限降下来,把无主或过度开放的文件归位或锁定。
查出所有带S位(setuid/setgid)的可执行文件
这类程序以root身份运行,一旦存在漏洞,极易被提权利用。必须只保留绝对必要的几个(如 passwd、sudo、mount)。
- 执行命令找出全部: find / -type f \( -perm -4000 -o -perm -2000 \) 2>/dev/null > smod.txt
- 人工审查 smod.txt,确认每个程序是否真的需要S位。例如 /usr/bin/wall、/usr/bin/chsh 在多数服务器上完全没必要保留 setuid。
- 去掉不需要的S位: chmod u-s /path/to/program(取消 setuid) chmod g-s /path/to/program(取消 setgid)
定位并处理无属主(nouser/nogroup)文件
这些文件不属于任何用户或组,可能是入侵残留、误删用户后遗留,也可能是恶意程序故意创建的隐藏入口。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 扫描命令: find / -xdev \( -nouser -o -nogroup \) 2>/dev/null > orphan.txt(-xdev 避免跨分区搜索)
- 逐条检查:ls -l /path/to/orphaned-file,结合文件路径、时间、大小判断用途。
- 处置方式: — 属于已删除用户的日志或缓存,可安全删除; — 位于 /tmp 或 /var/tmp 的临时文件,直接清理; — 无法确认来源且非系统路径(如 /opt 下陌生二进制),建议先备份再删除。
收紧全局可写(world-writable)的二进制与关键目录
任何用户都能写入的程序或配置目录,等于给攻击者留了后门安装点。
- 找可写文件(尤其是可执行文件): find / -xdev -type f -perm -2 -o -perm -20 2>/dev/null > wmodfiles.txt
- 找可写目录(特别是 /etc、/bin、/sbin 下): find / -xdev -type d -perm -2 -o -perm -20 2>/dev/null > wmoddir.txt
- 常见需修复项: — /etc/shadow 权限应为 0000(仅 root 可读); — /usr/bin/sudo 权限应为 4755(带 setuid,但不可被普通用户写); — /tmp 目录应设 sticky bit:chmod 1777 /tmp,防止用户删他人文件。
用 chattr 锁定核心系统文件防篡改
chmod 只控访问权限,chattr 才能真正阻止修改、删除、重命名——尤其适合保护启动、认证、日志类关键文件。
- 加不可变属性(i): chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /boot/grub2/grub.cfg
- 加只追加属性(a),适用于日志: chattr +a /var/log/messages /var/log/secure
- 查看属性: lsattr /etc/passwd
- 注意:+i 后连 root 也无法编辑,修改前必须先 chattr -i,操作要格外谨慎。

















