Answers:
问题出自/ dev的权限:
# ls -ld /dev
drwx------ 3 root root 4096 Sep 21 12:12 /dev
因此/ dev无法被用户访问。
# chmod a+x /dev
# chmod a+r /dev
解决了问题。
我遇到了类似的问题,并通过搜索症状来到了这里,但是解决方案不适合我的情况。因此,我想添加另一个可能的原因,即使它与OP不太匹配。
在我的特殊情况下,我使用了proot
(一个很好的chroot
包装器)。但是,权限是在正确的/dev/null
和/dev
本身。
碰巧是chroot
目录的装载,我thunar
以普通用户的身份通过它来完成。因此,在这种情况下,安装没有正确的权限。
您很难找到它,因为仅查看文件时看不到这些权限。
一般的解决方案路径是在问题位置(/dev/null
)开始检查条件/dev
,然后跳到下一个(s)级别,然后是挂载,文件系统等,接下来是什么。
在每个步骤上,您可能有几个前提条件,每个前提条件都有自己的外部层次。例如,用户可能位于错误的组中,这导致了组配置文件,该文件可能具有错误的权限等。
显然,您通常必须遵循一种树。
我自己无法解决这个问题,所以这就是我所做的:
mycommand.sh | echo -n
该echo
命令不注意标准输入,因此将被丢弃。而且-n
是这样,不会将无用的换行符打印到标准输出。