Есть ли способ настроить двоичный файл для установки в качестве «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
выполняет свою работу.
Спасибо.