* [devel] Q: почему в ALT su ведёт себя не так, как su из coreutils?
@ 2004-04-30 12:49 Andrei Bulava
2004-04-30 14:20 ` Dmitry V. Levin
0 siblings, 1 reply; 6+ messages in thread
From: Andrei Bulava @ 2004-04-30 12:49 UTC (permalink / raw)
To: sisyphus, devel
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Q: почему в ALT su ведёт себя не так, как su из coreutils?
2004-04-30 12:49 [devel] Q: почему в ALT su ведёт себя не так, как su из coreutils? Andrei Bulava
@ 2004-04-30 14:20 ` Dmitry V. Levin
2004-04-30 15:36 ` Andrei Bulava
0 siblings, 1 reply; 6+ messages in thread
From: Dmitry V. Levin @ 2004-04-30 14:20 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2453 bytes --]
Hi,
On Fri, Apr 30, 2004 at 03:49:34PM +0300, Andrei Bulava wrote:
> Hi!
Не надо делать crossposting, пожалуйста.
[...]
> 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
[...]
> 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?
А надо ли? Сделав специализированный shell, который будет подправлять
окружение и затем запускать обычный shell, можно в сочетании с "su ab"
добиться ещё большей гибкости, поскольку вы можете сами определить, какие
именно переменные среды вам нужно переустановить.
> Насколько я понимаю,
> coreutils::su вряд ли удастся задействовать в ALT?
С помощью известных средств можно задействовать что угодно.
Но это не самая лучшая идея.
> P.S. Кстати, поведение coreutils::su "более прямое", что ли. В
Нет, оно менее последовательное.
> затруднении от применения SimplePAMApps::su в виде "su
> <username>" оказывалось уже немало людей. С coreutils::su в него
> попасть гораздо труднее.
Однако в случае попадания вылезать дольше.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Q: почему в ALT su ведёт себя не так, как su из coreutils?
2004-04-30 14:20 ` Dmitry V. Levin
@ 2004-04-30 15:36 ` Andrei Bulava
2004-05-01 10:54 ` Dmitry V. Levin
0 siblings, 1 reply; 6+ messages in thread
From: Andrei Bulava @ 2004-04-30 15:36 UTC (permalink / raw)
To: ALT Devel discussion list
On Fri, 30 Apr 2004, Dmitry V. Levin wrote:
> Hi,
>
> On Fri, Apr 30, 2004 at 03:49:34PM +0300, Andrei Bulava wrote:
> > Hi!
>
> Не надо делать crossposting, пожалуйста.
Больше не буду.
<skip/>
> Думаю, что поведение настройщиков не совсем логично.
> Более естественным была бы настройка окружения после
> переключения.
Как скажете. В решении задачи запуска tomcat / cruisecontrol в
точности следовать поведению su из coreutils для меня не
принципиально. Главное - настроить окружение.
<skip/>
> А надо ли? Сделав специализированный shell, который будет
> подправлять окружение и затем запускать обычный shell, можно в
> сочетании с "su ab" добиться ещё большей гибкости, поскольку вы
> можете сами определить, какие именно переменные среды вам нужно
> переустановить.
Всё вышесказанное понял, за исключением "сделав
специализированный shell". Раскройте, пожалуйста, чуть подробнее.
Тогда я смогу направить свою энергию в правильном направлении и
помочь по мере сил ;-)
Спасибо.
<skip/>
--
// AB1002-UANIC
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Q: почему в ALT su ведёт себя не так, как su из coreutils?
2004-04-30 15:36 ` Andrei Bulava
@ 2004-05-01 10:54 ` Dmitry V. Levin
2004-05-03 17:01 ` Andrei Bulava
0 siblings, 1 reply; 6+ messages in thread
From: Dmitry V. Levin @ 2004-05-01 10:54 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1297 bytes --]
On Fri, Apr 30, 2004 at 06:36:15PM +0300, Andrei Bulava wrote:
> > А надо ли? Сделав специализированный shell, который будет
> > подправлять окружение и затем запускать обычный shell, можно в
> > сочетании с "su ab" добиться ещё большей гибкости, поскольку вы
> > можете сами определить, какие именно переменные среды вам нужно
> > переустановить.
>
> Всё вышесказанное понял, за исключением "сделав
> специализированный shell". Раскройте, пожалуйста, чуть подробнее.
> Тогда я смогу направить свою энергию в правильном направлении и
> помочь по мере сил ;-)
При переключении в непривилегированного пользователя "su user" из
coreutils устанавливает следующие переменные среды:
HOME, SHELL, USER, LOGNAME.
При этом другие переменные среды, содержащие настройки rootа, сохраняются
(см. printenv |fgrep "$USER").
Эмулировать su из coreutils можно, например, с помощью
env HOME=/home/user USER=user LOGNAME=user su user
Что касается совместимости с coreutils, то я намерен добавить параметр -p.
Поведение "su user" всегда будет вызывать споры, поскольку нет единой
практики, а разные реализации противоречивы.
Мне, например, время от времени предлагают приравнять "su user" к
"su -l user". После добавления параметра -p этот вопрос возникнет снова.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Q: почему в ALT su ведёт себя не так, как su из coreutils?
2004-05-01 10:54 ` Dmitry V. Levin
@ 2004-05-03 17:01 ` Andrei Bulava
2004-05-03 18:53 ` Dmitry V. Levin
0 siblings, 1 reply; 6+ messages in thread
From: Andrei Bulava @ 2004-05-03 17:01 UTC (permalink / raw)
To: ALT Devel discussion list
On Sat, 1 May 2004, Dmitry V. Levin wrote:
<skip/>
> Что касается совместимости с coreutils, то я намерен добавить
> параметр -p.
Насколько я понял из своих сравнений coreutils::su и
SimplePAMApps::su, то на данный момент:
1) coreutils::"su - user" <=> SimplePAMApps::"su - user";
2) coreutils::"su -p user" <=> SimplePAMApps::"su user";
3) аналога coreutils::"su user" в SimplePAMApps::su нет.
Что вы имеете в виду под "добавить параметр -p"? Я правильно
предполагаю, что вышеупомянутые соответствия между coreutils::su
и SimplePAMApps::su после добавления параметра -p примут вид 1:1
вместо имеющегося сейчас непоследовательного и противоречивого
отображения?
> Поведение "su user" всегда будет вызывать споры, поскольку нет
> единой практики, а разные реализации противоречивы.
>
> Мне, например, время от времени предлагают приравнять "su user"
> к "su -l user". После добавления параметра -p этот вопрос
> возникнет снова.
Если вдруг приравнять "su user" к "su - user", то соответствие
coreutils и SimplePAMApps примет удручающие формы :-(
P.S. env LC_ALL=ru_RU.KOI8-R man su и env LC_ALL=C man su
показывают совершенно не соответствующие друг другу страницы man
при установленном man-pages-ru-0.94-alt1 :-\ Ошибка, тянущаяся со
времён ALM22 (а скорее, со дня появления SimplePAMApps::su). На
что вешать баг?
--
// AB1002-UANIC
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Q: почему в ALT su ведёт себя не так, как su из coreutils?
2004-05-03 17:01 ` Andrei Bulava
@ 2004-05-03 18:53 ` Dmitry V. Levin
0 siblings, 0 replies; 6+ messages in thread
From: Dmitry V. Levin @ 2004-05-03 18:53 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1889 bytes --]
On Mon, May 03, 2004 at 08:01:41PM +0300, Andrei Bulava wrote:
> On Sat, 1 May 2004, Dmitry V. Levin wrote:
[...]
> > Что касается совместимости с coreutils, то я намерен добавить
> > параметр -p.
>
> Насколько я понял из своих сравнений coreutils::su и
> SimplePAMApps::su, то на данный момент:
>
> 1) coreutils::"su - user" <=> SimplePAMApps::"su - user";
>
> 2) coreutils::"su -p user" <=> SimplePAMApps::"su user";
>
> 3) аналога coreutils::"su user" в SimplePAMApps::su нет.
>
> Что вы имеете в виду под "добавить параметр -p"? Я правильно
> предполагаю, что вышеупомянутые соответствия между coreutils::su
> и SimplePAMApps::su после добавления параметра -p примут вид 1:1
> вместо имеющегося сейчас непоследовательного и противоречивого
> отображения?
Нет, я всего-навсего имел в виду, что появится соответствие
coreutils::"su -p user" <=> SimplePAMApps::"su -p user"
> > Поведение "su user" всегда будет вызывать споры, поскольку нет
> > единой практики, а разные реализации противоречивы.
> >
> > Мне, например, время от времени предлагают приравнять "su user"
> > к "su -l user". После добавления параметра -p этот вопрос
> > возникнет снова.
>
> Если вдруг приравнять "su user" к "su - user", то соответствие
> coreutils и SimplePAMApps примет удручающие формы :-(
Дело в том, что coreutils::"su user" - это нечто между
coreutils::"su - user" и coreutils::"su -p user", с очень спорной
логикой, о чём я уже говорил. Пожалуй, надо будет посоветоваться
с upstream.
> P.S. env LC_ALL=ru_RU.KOI8-R man su и env LC_ALL=C man su
> показывают совершенно не соответствующие друг другу страницы man
> при установленном man-pages-ru-0.94-alt1 :-\ Ошибка, тянущаяся со
> времён ALM22 (а скорее, со дня появления SimplePAMApps::su). На
> что вешать баг?
Повесьте баг на то, что меньше соответствует действительности.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-05-03 18:53 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-30 12:49 [devel] Q: почему в ALT su ведёт себя не так, как su из coreutils? Andrei Bulava
2004-04-30 14:20 ` Dmitry V. Levin
2004-04-30 15:36 ` Andrei Bulava
2004-05-01 10:54 ` Dmitry V. Levin
2004-05-03 17:01 ` Andrei Bulava
2004-05-03 18:53 ` Dmitry V. Levin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git