[devel] suid-root files

Stanislav Ievlev =?iso-8859-1?q?inger_=CE=C1_altlinux=2Eorg?=
Чт Июл 17 19:42:23 MSD 2003


On Wed, Jul 16, 2003 at 04:34:29PM +0400, Grigory Batalov wrote:
> On Wed, 16 Jul 2003 11:51:17 +0400
> Stanislav Ievlev <inger на altlinux.org> wrote:
> 
> > > А как быть, если программа рассчитывает быть запущенной
> > > как SUID-root? В пакете Amanda семь таких программ.
> > > Sisyphus_check ругается.
> 
> > sisyphus_check ругается не на то что они SUID (кстати обязательно
> > проверьте, действительно, ли нужен SUID, можно ли перейти на SGID схему?)
> 
>   Без правки исходников не удастся. Впрочем, программы
>   при запуске проверяют uid запускавшего и выходят с ошибкой,
>   если это не amanda. Так что риск немного снижается.
> 
> > а на то что они доступны на чтение другим пользователям.
> > Правильные права должны быть 2711 и 4711 соответственно.
> 
>   А можно 4710? Вот так будет правильно?
Главное чтобы не были доступны по чтению другим
> 
> amanda.spec:
> ---
> %install
> 
> ...
> 
> # Control settings
> %__mkdir_p %buildroot%_sysconfdir/control.d/facilities
> for i in %_libdir/amanda/dumper %_libdir/amanda/planner %_sbindir/amcheck \
>          %_libdir/amanda/calcsize %_libdir/amanda/killpgrp \
>          %_libdir/amanda/rundump %_libdir/amanda/runtar; do
>    PROGNAME=`basename $i`
>    %__cat > %buildroot%_sysconfdir/control.d/facilities/$PROGNAME << EOF
> #!/bin/sh
> 
> . /etc/control.d/functions
> 
> BINARY=$i
> 
> new_fmode public 4710 root disk
> new_fmode restricted 700 root root
> 
> control_fmode "\$BINARY" "\$*" || exit 1
> EOF
> done
> %__chmod 0755 %buildroot%_sysconfdir/control.d/facilities/*
> 
> ...
> 
> %pre client
> [ $1 -eq 1 ] || /usr/sbin/control-dump calcsize killpgrp rundump runtar
> 
> %post client
> %post_ldconfig
> [ $1 -eq 1 ] || /usr/sbin/control-restore calcsize killpgrp rundump runtar
> 
> %pre server
> [ $1 -eq 1 ] || /usr/sbin/control-dump dumper planner amcheck
> 
> %post server
> %post_ldconfig
> [ $1 -eq 1 ] || /usr/sbin/control-restore dumper planner amcheck
> 
> ...
> 
> %files server
> %attr(4710,root,disk) %_libdir/amanda/dumper
> %attr(4710,root,disk) %_libdir/amanda/planner
> %attr(4710,root,disk) %_sbindir/amcheck
> %config %_sysconfdir/control.d/facilities/dumper
> %config %_sysconfdir/control.d/facilities/planner
> %config %_sysconfdir/control.d/facilities/amcheck
> 
> ...
> 
> %files client
> %attr(4710,root,disk) %_libdir/amanda/calcsize
> %attr(4710,root,disk) %_libdir/amanda/killpgrp
> %attr(4710,root,disk) %_libdir/amanda/rundump
> %attr(4710,root,disk) %_libdir/amanda/runtar
> %config %_sysconfdir/control.d/facilities/calcsize
> %config %_sysconfdir/control.d/facilities/killpgrp
> %config %_sysconfdir/control.d/facilities/rundump
> %config %_sysconfdir/control.d/facilities/runtar
> 
> ...
> 
> ---
>   В итоге получим примерно следующие control-файлы:
> 
> #!/bin/sh
> 
> . /etc/control.d/functions
> 
> BINARY=/usr/sbin/amcheck
> 
> new_fmode public 4710 root disk
> new_fmode restricted 700 root root
> 
> control_fmode "$BINARY" "$*" || exit 1
> 
> > Обязательно повесьте эту штуку на control и ещё лучше по умолчанию
> > включать restricted режим для control.
> 
>   А как это сделать, или оно так и есть по умолчанию?
> 
> -- 
> Григорий Баталов,
> группа техподдержки
> ОАО "Ковдорский ГОК"
> _______________________________________________
> Devel mailing list
> Devel на altlinux.ru
> http://altlinux.ru/mailman/listinfo/devel



Подробная информация о списке рассылки Devel