首页 > 解决方案 > 错误更改 /usr/ 权限后的“std::bad_alloc”

问题描述

我正在运行 Ubuntu Bionic Beaver 18.04 版的 Linux 机器上工作。

前几天我错误地将/usr/目录更改为用户拥有,而不是root。不幸的是,我这样做是递归的,因此弄乱了相当多的系统,因为它也改变了suid一些命令的权限(例如passwdsudo)。我们真的无法重新安装(我们可以,但它会花费!),所以我从 LiveUSB 启动,并手动更改了我可以识别的每个文件的所有正确用户/组/权限具有非Root:Root用户:组. 我通过比较另一台 Ubuntu 计算机的输出来做到这一点ls -lha /usr/

它似乎已基本修复,但现在我在运行一些非常标准的 python 脚本后遇到了错误“std::bad_alloc”。奇怪的是,它只是偶尔出现。例如,如果我从命令行打开 python 并复制和粘贴代码,代码将全部运行正常,没有错误。但是,如果我从命令行(例如python script.py)运行整个脚本,则会收到此错误。完整的错误信息是:

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted (core dumped)

但是要添加另一个转折点 - 有时我可以从命令行运行相同的 python 脚本没有问题,而其他人我得到这个错误如上所述。

如果有人对在哪里专门寻找解决这个问题有想法,那就太好了!我将尝试做与以前相同的事情,但使用ls -lha /usr/18.04 版本的输出,因为我手头只有 16 版本的输出。

标签: pythonubuntupermissions

解决方案


推荐阅读