为什么我不允许访问 /usr/bin/ 中的文件?

为什么我不允许访问 /usr/bin/ 中的文件?

我有这台机器。我是这台机器的唯一用户。由于位置问题,我无法访问 /usr/bin/ 中的文件,/usr/lib/python3/dist-packages/printrun/并且当前收到错误。

我对新安装的二进制文件没有 /usr/bin/ 权限的几个原因是什么?我这么问是因为 printrun 正在创建二进制文件/usr/bin/以供用户空间使用。

我目前正在尝试访问 /usr/bin/ 中的文件(这些二进制文件),并且收到文件位置未知的错误...

ls: cannot access '/usr/lib/python3/dist-packages/printrun/plugins/__init__.py': Permission denied
ls: cannot access '/usr/lib/python3/dist-packages/printrun/plugins/__pycache__': Permission denied
ls: cannot access '/usr/lib/python3/dist-packages/printrun/plugins/sample.py': Permission denied

这是运行时python3 /usr/bin/pronsole或特别是运行命令时出现错误的另一个想法python3 /usr/bin/pronterface

ImportError: cannot import name 'PRINTCORE_HANDLER' from 'printrun.plugins' (unknown location)

我认为这(unknown location)是由于权限错误造成的,但是当我以任何形式或方式使用 chmod 时,我会收到相同的错误:

  1. 我使用内核 5.10.x、6.1.x 和主线。
  2. 当我将映像更新或降级到以前的版本或较新的版本时。 and when...
  3. 我“完全控制”我的系统。

我没有使用过,su -或者sudo python3 /usr/bin/pronterface因为我不想以超级用户身份运行来污染当前用户权限和设置的使用。

所以,要明确的是...

/usr/bin/pronterface由于/usr/lib/python3/dist-packages/printrun/*我的计算机上没有正确的权限,因此在我的计算机上需要 sudo 或 root 权限。

使用 sudo 或成为 root 用户都可以...

答案1

如果文件本身的权限阻止访问,您将无法访问该文件或文件路径上的任何目录

尝试运行namei -l /usr/lib/python3/dist-packages/printrun/plugins/__init__.py以查看从根目录到目标文件的所有目录级别的所有权和权限。

要读取文件,您至少需要一个r适用于您的用户帐户对*.py文件本身的权限,以及一个x适用于您的用户帐户对所有(大)父目录(一直到根目录)的权限。

要轻松修复从包安装的文件和目录的权限*.deb,您可以apt reinstall对它们执行以下操作:

sudo apt reinstall printcore printrun printrun-common pronsole pronterface

如果您修改了包的任何配置文件,这不会更改它们。

相关内容