mkfifo для копирования / перемещения файлов

В своей программе вы, вероятно, не позаботились о том, чтобы для реального и эффективного uid было установлено одно и то же значение. Gids также должны соответствовать gid root. Примерно так:

setuid(geteuid());
setgid(getegid());

См., Например, sue (простая оболочка setuid / setgid).

1
05.04.2019, 13:53
1 ответ

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

Если вы хотите извлечь файлы из tar-архива и поместить их в место, отличное от пути внутри архива, именованные каналы вам совсем не помогут. Вместо этого используйте параметр --transformGNU tar или параметр -sBSD tar или pax, чтобы переписать пути к файлам во время извлечения.

4
27.01.2020, 23:22

Теги

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