Предыстория: я использую Библиотека Redline Java для создания оборотов в минуту.
Я пытаюсь установить базовое разрешение 774 для своего файла следующим образом:
builder.addFile(rpmFileName,new File(sourceName), 774, -1, defaultUser, defaultGroup)
но это приводит к созданию файлов с очень странными разрешениями, такими как d - x ------ T, где даже пользователь по умолчанию не может даже читать файл.
Почему это не работает?




документация для Builder говорит
mode - the mode of the target file in standard three octet notation
но это не означает, что вы должны войти в режим, который вы ожидаете прочитать с помощью команды 'll' в Unix. Вместо этого вы должны указать ввод в формате десятичный или явно указать, что запись является восьмеричной, поставив перед ней «0». Итак, чтобы ввести 774, вам нужно будет указать 508 или 0774. Чтобы установить разрешения 664, вам нужно будет указать 436 или 0664.
Использование калькулятора в режиме программиста должно упростить преобразование (введите желаемое значение (774) как OCT, а затем прочтите значение DEC (508))
@ AaronD.Marasco ведет 0 работ. Таким образом, вы можете ввести десятичное преобразование восьмеричного или непосредственно восьмеричное.
Ну вот ... ленивый парсинг scanf или что-то в этом роде ...;)
Это запуталось. Вы пробовали ведущий
0сказать, что он восьмеричный?