Пользователь XXXX не существует - используете root?

Пользователь XXXX не существует - используете root?

В makefile я использовал команду «install», как показано ниже

команда: 'install -o 1010 -g 100 -m 0755 -D path'

вместо проверки имени пользователя и имени группы я бы хотел проверить uid и gid.

Рассмотрим следующий сценарий.

Шаг 1:

Система 1: Пользователь, соответствующий UID 1010 — «XXXX». Используя «Систему 1», создайте установщик RPM.

Шаг 2:

Система 2: Пользователь, соответствующий UID 1010, — «YYYY». При установке файла RPM мы получаем предупреждающее сообщение «предупреждение: пользователь XXXX не существует — используется root».

На этом этапе я предполагаю, что UID вошедшего в систему пользователя должен быть равен «1010» для успешной установки установщика RPM. Но на самом деле установщик RPM ожидает, что имя пользователя будет таким же в системе установки

решение1

Ну, на разных машинах uid/oid/gid могут иметь разные значения, если только вы не используете что-то вроде LDAP. Даже тогда пользователи, которые определены в вашей системе, будут иметь свои собственные id-ы. Нет никакой гарантии, что пользователь будет существовать на другой машине.

Возможно, вам следует подробнее объяснить ваш вариант использования?

решение2

Используйте %filesраздел вашего RPM- .specфайла, чтобы задать владельца, ожидаемого в установленной системе (Система 2 в вашем вопросе).

Вы также можете использовать %preраздел вашего RPM- .specфайла, чтобы определить, существуют ли ожидаемые пользователи и группы в установленной системе (Система 2 в вашем вопросе).

%files
# Set file permissions and ownership

%pre
# Check if expected user 'myuser' exists. If not, exit with an error.
# Check if expected group 'mygroup' exists. If not, exit with an error

Дальнейшее чтение наrpm.org.

Связанный контент