Linux权限误改后应优先用包管理器重置:RPM系执行rpm --setperms -a,Debian系用dpkg --configure -a;其次可用getfacl/setfacl精确还原;小范围偏差可用find批量修正;临时修复关键目录权限后,需用restorecon -R重置SELinux上下文。

Linux 系统被误改权限后,恢复关键目录默认权限有明确路径可走。核心原则是:不靠猜测,用系统自身记录或可信参照源还原。
用包管理器一键重置默认权限
RPM 和 dpkg 在安装软件时会严格记录每个文件的属主、属组和权限。只要没手动改过文件内容,就能原样恢复。
- RHEL/CentOS/Fedora 执行:rpm --setperms -a(全系统)或 rpm --setperms openssh-server(单包)
- Debian/Ubuntu 先检查异常:debsums -c | grep "mode";再触发重配置:dpkg --configure -a
用 getfacl + setfacl 精确还原(推荐)
这是最可靠的方式——前提是提前备份过,或有同版本正常机器可参照。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 在干净机器上导出:getfacl -R /usr > usr.acl(或 /etc、/bin 等)
- 把 usr.acl 拷到故障机(未断连时用 scp;已断连则用 Live CD 挂载后复制)
- 执行:setfacl --restore=usr.acl
用 find 批量修正常见目录
适合小范围偏差,比如只改了 /etc 或 /usr/bin,且你知道标准权限值。
- 把 /etc 下 root 所有普通文件设为 644:find /etc -type f -uid 0 ! -perm 644 -exec chmod 644 {} \;
- 把 /usr/bin 下所有可执行文件设为 755:find /usr/bin -type f -perm /111 -exec chmod 755 {} \;
- 临时修复根目录及关键路径:chmod 755 / /bin /sbin /usr /usr/bin /usr/sbin;chmod 1777 /tmp;chmod 700 /root
别忘了 SELinux 上下文(如有启用)
权限恢复后若服务仍起不来,可能是 SELinux 标签错乱。运行以下命令重置:
- restorecon -R /etc /usr /var(常用目录)
- 或全盘重置:restorecon -R /(耗时较长,但彻底)

















