[sisyphus] Q: почему в ALT su ведёт себя не так, как su из coreutils?

Andrei Bulava =?iso-8859-1?q?abulava_=CE=C1_altlinux=2Eru?=
Пт Апр 30 16:49:34 MSD 2004


Hi!

В принципе, я не в претензии. Был. До сегодняшнего дня, пока не
обнаружил, что функционально su из пакета SimplePAMApps (далее
SimplePAMApps::su) отличается от su из coreutils (coreutils::su)
одним, но крайне важным нюансом.

Вот поведение su из coreutils-4.5.3-26 (RHEL3).

Стартовое окружение (TEST=ok):
[root на server1 root]# echo $TERM $HOME $SHELL $USER $LOGNAME $TEST
linux /root /bin/bash root root ok

Test case 1:
[root на server1 root]# su - at
-sh-2.05b$ echo $TERM $HOME $SHELL $USER $LOGNAME $TEST
linux /home/at /bin/sh at at

Test case 2:
[root на server1 root]# su at
sh-2.05b$ echo $TERM $HOME $SHELL $USER $LOGNAME $TEST
linux /home/at /bin/sh at at ok

Test case 3:
[root на server1 root]# su -p at
bash: /root/.bashrc: Permission denied
bash-2.05b$ echo $TERM $HOME $SHELL $USER $LOGNAME $TEST
linux /root /bin/bash root root ok

Вот поведение su из SimplePAMApps.

Стартовое окружение (TEST=ok):
[root на devel root]# echo $TERM $HOME $SHELL $USER $LOGNAME $TEST
linux /root /bin/bash root root ok

Test case 1:
[root на devel root]# su - ab
[ab на devel ab]$ echo $TERM $HOME $SHELL $USER $LOGNAME $TEST
linux /home/ab /bin/bash ab ab

Test case 2:
[root на devel root]# su ab
bash: /root/.bashrc: Permission denied
bash-2.05b$ echo $TERM $HOME $SHELL $USER $LOGNAME $TEST
linux /root /bin/bash root root ok

Задача: мне нужно поведение из coreutils::su::Test case 2, иначе
не удаётся более-менее прямо выполнять запуск демонов tomcat и
cruisecontrol из инитскриптов. Для обоих характерна настройка
переменных окружения из /etc/sysconfig/{%name} с переключением на
непривилегированного пользователя через su. Вот в этот момент и
надо действовать по сценарию coreutils::su::Test case 2, а
именно: изменить $TERM $HOME $SHELL $USER $LOGNAME как при "su
-", но не потерять всех остальных переменных окружения!

Вопрос: будут ли предприняты действия по изменению
фунциональности SimplePAMApps::su? Насколько я понимаю,
coreutils::su вряд ли удастся задействовать в ALT?

P.S. Кстати, поведение coreutils::su "более прямое", что ли. В
затруднении от применения SimplePAMApps::su в виде "su
<username>" оказывалось уже немало людей. С coreutils::su в него
попасть гораздо труднее.

-- 
// AB1002-UANIC



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