答案1
就我而言,我更改了/tmp
目录默认权限(我认为我错误地更改为 0777)。
解决方案是将其恢复为默认/tmp
权限,即八进制的 1777(1=粘性位,7=R+W+X)。
所以简而言之sudo chmod -R 1777 /tmp
应该解决这个问题。
答案2
我已经添加了umask 777
在此处字符串之前。删除 umask 后,错误消失。因此我们吸取了教训:为此处字符串 ( ) 创建了一个临时文件<<<
,这与此处文档 ( ) 相关<<
,并且您必须设置适当的 umask 才能使它们工作。
答案3
我个人对这个问题的经验是使用umask
二进制表示法,就像@eliptical-view一样。我以为这样写:
umask 0644
会给我对我创建的文件的读写访问权限,出了什么问题
我将其更改umask
为之后
umask 0022
错误消失了。
实际上,二进制表示法应该理解为二进制补码。
因此,在umask
下面的掩码中,当一个人为0
文件所有者写入时,该用户将拥有对其创建的文件的完全访问权限。该值2
意味着第二位被屏蔽,这意味着在这种情况下,默认情况下不允许其他用户写入文件所有者创建的文件。