背景:我正在使用Redline Java library建立一个rpm。

我正在尝试为我的文件设置基本的774权限,如下所示:

builder.addFile(rpmFileName,new File(sourceName), 774, -1, defaultUser, defaultGroup)

但这会导致创建具有诸如d--x ------ T之类的超级奇怪权限的文件,在该文件中,即使默认用户也无法读取文件。

为什么这不起作用?

最佳答案

生成器的documentation


  mode-目标文件的模式,采用标准的三个八位字节表示法


但这并不意味着您应该进入模式,就像您期望在Unix中使用“ ll”命令读取它一样。取而代之的是,您必须以十进制格式给出输入,或者通过在前面加一个“ 0”来明确表明该输入是八进制的。因此,要输入774,您需要输入508或0774。要设置权限664,您需要输入436或0664。

在程序员模式下使用计算器应该使转换变得容易(将所需值(774)输入为OCT,然后读取DEC值(508))

10-08 03:17