我在 NAS 上遇到了一个问题,我错误地将根文件树的权限重置为 664。
这最终破坏了许多 NAS 功能,例如 ssh,以及经过多次调试后的 logrotate。
我的问题是:是否有已知对文件权限敏感的系统工具列表?它将帮助我创建一个脚本,将此类系统重置为“规范”权限。
答案1
正如 @muru 在评论中建议的那样,664
目录的权限不适用于任何“系统工具”。如果递归应用,这些权限可能会破坏大量 UNIX 工具,尤其是搜索PATH
查找可执行文件的能力等。
mtree
是一个方便的工具来备份您的权限,以便在出现问题时您可以恢复它们。
作为root
,并且您的权限处于良好的初始状态,创建备份:
# mtree -c -p / > /var/backup/root-mtree.out
- -c ...创建 mtree 规范
- -p ...从路径“/”开始
要将目录权限恢复到备份的内容:
mtree -u -p / < /var/backup/root-mtree.out
- -u ...更新权限/日期戳/标志/所有者/条目组
如果您在没有先见之明地创建mtree
备份的情况下遇到此问题,那么您可能需要:
zfs
确定您是否在其他地方(例如在快照中)有文件系统的备份btrfs
。如果是这样,您可以mtree
从备份文件系统中获取“印象”,并使用它来恢复主文件系统。在任何可用介质(拇指驱动器、备用计算机上的小硬盘等)上创建任何操作系统的单独安装,然后再次使用它作为参考来查看权限应该是什么。此基本安装可能不包含生产安装所具有的所有自定义创建的目录,但是正确设置基本操作系统目录和文件应该对恢复生产系统的一些基本功能大有帮助,并且更好地允许您弄清楚剩下的修复是什么。