Есть ли способ настроить двоичный файл для установки как «SUID» с помощью automake/autoconf? Есть ли какая-нибудь магия, которая может заставить make install
установить бит suid данной двоичной цели?
ПРИМЕЧАНИЕ. Я запускаю «fakerooted» make install
внутри скрипта для создания tar-файла.
Я старался:
# Makefile.am
bin_PROGRAMS = my_bin
#...
install-exec-hook:
echo "#### Setting SUID for my_bin. ####"
ls -l $(DESTDIR)$(bindir)/my_bin
chmod 4755 $(DESTDIR)$(bindir)/my_bin
ls -l $(DESTDIR)$(bindir)/my_bin
echo "####-------------------------------####"
Но безуспешно.
Во время make install
я вижу:
#### Setting SUID for sudo_script. ####
-rwxr-xr-x 1 root root 8704 Mar 28 13:30 /install.pak/usr/bin/my_bin
-rwsr-xr-x 1 root root 8704 Mar 28 13:30 /install.pak/usr/bin/my_bin
####-------------------------------####
Таким образом, можно подумать, что это проблема с fakeroot
, но если я перенесу chmod
из Makefile.am
в свой сценарий упаковки, это сработает. Этого достаточно, чтобы убедить меня, что fakeroot
выполняет свою работу.
Спасибо.