From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 16 Jul 2003 16:34:29 +0400 From: Grigory Batalov To: ALT Devel discussion list Subject: Re: [devel] suid-root files Message-Id: <20030716163429.7c954ea3.bga@altlinux.ru> In-Reply-To: <20030716075117.GG26090@basalt.office.altlinux.org> References: <20030716090156.5724ec63.bga@altlinux.ru> <20030716075117.GG26090@basalt.office.altlinux.org> Organization: OAO "Kovdorsky GOK" X-Mailer: Sylpheed version 0.8.8 (GTK+ 1.2.10; i586-alt-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.2 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Jul 2003 12:34:31 -0000 Archived-At: List-Archive: List-Post: On Wed, 16 Jul 2003 11:51:17 +0400 Stanislav Ievlev 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. А как это сделать, или оно так и есть по умолчанию? -- Григорий Баталов, группа техподдержки ОАО "Ковдорский ГОК"