Автоматизиран контрол върху правата на изпълнимите файлове

Подобно на всяка уважаваща себе си дистрибуция Debian предлага автоматизирана възможност за управление правата на изпълнимите файлове.

# apt-get install suidmanager

Принципът на управление е лесен. Преди всичко, трябва да подложите на щателен анализ системата си - кои програми имат suid-бит и се изпълняват с администраторски права, кой какво има право да изпълнява. Например, да допуснем, че има програми, които искат suid, за да се ползват нормално, но от друга страна не искате всеки да може да ги изпълнява, а само членовете на групата users. Тогава на помощ идва командата dpkg-statoverride от пакета suidmanager. Решаваме да променим правата върху файла /usr/bin/cdrecord така, че да се изпълнява само от членовете на групата users. Ето какво ни казва и помощната информация за начина на използване на тази команда:

# dpkg-statoverride [options] --add <owner> <group> <mode> <file>

Значи трябва да изпълним само:

# dpkg-statoverride --update --add root users 4754 /usr/bin/cdrecord

Така казахме на dpkg да промени групата на файла и да разреши само на членовете на тази група да го изпълняват независимо от задължителния suid-бит, който е необходим на cdrecord, за да се стартира от потребители без администраторски привилегии. Сега можем да бъдем спокойни, че и след поредния ъпгрейд на пакета, този изпълним файл ще получава именно тези права от dpkg. Всъщност, тази информация се записва във файла /var/lib/dpkg/statoverride и има съвсем разбираем вид, дори може да бъде редактиран ръчно.

Бърз преглед на опциите на командата dpkg-statoverride:

debian-nikola:~# dpkg-statoverride --help
Debian dpkg-statoverride 1.10.18.
Copyright (C) 2000 Wichert Akkerman.

This is free software; see the GNU General Public Licence version 2 or later
for copying conditions.  There is NO warranty.

Usage:

  dpkg-statoverride [options] --add <owner> <group> <mode> <file>
  dpkg-statoverride [options] --remove <file>
  dpkg-statoverride [options] --list [<glob-pattern>]

  Options:
  --update                 immediately update file permissions
  --force                  force an action even if a sanity check fails
  --quiet                  quiet operation, minimal output
  --help                   print this help screen and exit
  --admindir <directory>   set the directory with the statoverride file

Тази програма може да ви послужи и не само за изпълнимите файлове, а и за всеки файл или директория, чиито права искате да бъдат специфични.



Nikola Antonov 2004-10-31