Можно ли переопределить учетную запись пользователя службы RPM во время установки?

Здесь нет «перехода по ссылке» с жесткими ссылками - создание жестких ссылок просто дает несколько разных имен одному и тому же файлу (на низком уровне файлы на самом деле представляют собой целые числа - «inodes», и они имеют имена только для удобства пользователя) - нет «оригинала» и «копии» - они одно и то же. Таким образом, совершенно одно и то же, какие жесткие ссылки вы открываете и по которым пишете, они все одинаковы.

Итак, cp по умолчанию открывает один файл и записывает в него, таким образом изменяя файл (и, следовательно, все его имена). Так что да, это ожидаемо. Теперь, если вы (вместо перезаписи) сначала удалите одно из имен (тем самым уменьшив количество ссылок), а затем воссоздадите новый файл с тем же именем, что и у вас, вы получите два разных файла. Это то, что сделает cp --remove-destination .

1 основы документированы по ссылке (2) , на которую указывает ln (1)

2 да, это нормальное поведение, а не случайность. Но см. Выше замечание о cp --remove-destination

3 нет, не совсем. Жесткие ссылки - это просто несколько имен для одного и того же файла. Кажется, вам нужны ссылки COW (копирование при записи), которые существуют только в специальных файловых системах

4 да, cp --remove-destination fileB fileA

3
23.05.2017, 15:39
1 ответ

Это невозможно в том смысле, что вы можете предоставить аргументы для rpm, например при установке ваших пользовательских пакетов, чтобы переопределить значения, содержащиеся в пакете. Но вы можете добавить логику в сценарии оболочки, которые запускаются во время установки rpm, и, следовательно, можете делать свои настройки таким образом.

Fedora по умолчанию добавляет / удаляет пользователей с помощью некоторых скриптлетов, подробности см. В вики Fedora: https://fedoraproject.org/wiki/Packaging:UsersAndGroups и некоторую общую информацию о% post /% и все варианты см. объяснение в книге Max RPM по адресу http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html (раздел «Сценарии установки / стирания») и для заказа, возможно, https://fedoraproject.org/wiki/Packaging:Scriptlets . Для получения более подробной информации см. http://wiki.networksecuritytoolkit.org/nstwiki/index.php/RPM_Quick_Reference

Итак, для вашего конкретного вопроса вы можете попробовать прочитать переменные для имени пользователя, имени группы, поле gecos или что-то еще (значения, которые должны быть настроены в целевой системе) из некоторого стандартного места, например / etc / sysconfig / custom_defaults или что-то в этом роде. Таким образом, это настраивается каждым клиентом, но вы должны выполнить некоторые проверки корректности переменных и предоставить значения по умолчанию, если пользовательские значения по умолчанию не установлены, но это то же самое для всех сценариев оболочки в целом.

1
27.01.2020, 21:30

Теги

Похожие вопросы