背景:我正在使用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))