我有这台机器。我是这台机器的唯一用户。由于位置问题,我无法访问 /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 时,我会收到相同的错误:
- 我使用内核 5.10.x、6.1.x 和主线。
- 当我将映像更新或降级到以前的版本或较新的版本时。
and when...
- 我“完全控制”我的系统。
我没有使用过,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
如果您修改了包的任何配置文件,这不会更改它们。