Проблема с su

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Проблема с su

Ivanov Maxim
Во всех доках пишется, что под root сидеть нельзя, и активно рекламируется
утилитка su - мол сидите под wheel, а если что то от админа выполните команду.
Вот пример:
baron@proxy1 / $ su root ls
Password:
/bin/ls: /bin/ls: cannot execute binary file

И так с любой коммандой. В чем грабли?

--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Проблема с su

Bugzilla from blaster999@gmail.com
On Sunday 20 November 2005 22:19, Maxim Ivanov wrote:

> baron@proxy1 / $ su root ls
> Password:
> /bin/ls: /bin/ls: cannot execute binary file
>
> И так с любой коммандой. В чем грабли?
>

Попробуй su root -c ls
Кстати, вместо su root можно писать просто su
--
"Now we'll have to kill you."
        -- Linus Torvalds

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Проблема с su

Denis Gubanov
вообще юзай sudo

20.11.05, Gleb Litvjak<[hidden email]> написал(а):

> On Sunday 20 November 2005 22:19, Maxim Ivanov wrote:
>
> > baron@proxy1 / $ su root ls
> > Password:
> > /bin/ls: /bin/ls: cannot execute binary file
> >
> > И так с любой коммандой. В чем грабли?
> >
>
> Попробуй su root -c ls
> Кстати, вместо su root можно писать просто su
> --
> "Now we'll have to kill you."
>         -- Linus Torvalds
>
> --
> [hidden email] mailing list
>
>


--
С уважением к Вам,
Руководитель отдела информационных технологий компании "Европартнер",
Губанов Денис Владимирович

+7 926 5739258 (моб.)
+7 095 2254145
+7 095 5053855
+7 095 5052755

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Проблема с su

alexey@mitme.ru
In reply to this post by Ivanov Maxim
Maxim Ivanov wrote:

>Во всех доках пишется, что под root сидеть нельзя, и активно рекламируется
>утилитка su - мол сидите под wheel, а если что то от админа выполните команду.
>Вот пример:
>baron@proxy1 / $ su root ls
>Password:
>/bin/ls: /bin/ls: cannot execute binary file
>
>И так с любой коммандой. В чем грабли?
>
>  
>
мной замечено что при таком синтаксисе как
su root ls
(когда ls или иная команда числый ELF) действительно будет себя вести так
можно писать
su root -c ls
либо использовать BASH-скрипт обёртку в две строки

=== /bin/ls_script ========= begin
#!/usr/bin/env bash
/bin/ls
===================== end
поставить на него chmod +x /bin/ls_script

и писать
su root ls_script

вот такая грабля. либо sudo действительно юзать.
сам недавно напоролся при обратной задаче из /etc/init.d-скрипта

. /etc/profile
start)
...
su - oracle $ORACLE_HOME/bin/lsnrctl start
...

тварюга lsnrctl тогда тоже писала cannot execute binary file
хотя это подстава. в man разница далеко не очевидна

su [-] [username [ args ]]

Additional arguments may be provided after the username, in which case
they are supplied to the user's
login shell. In particular, an argument of -c will cause the next
argument to be treated as a command by
most command interpreters. The command will be executed by the shell
specified in /etc/passwd for the
target user.

... вот так и живём.

--
Ne dites rien, les mots sont superflus...


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Проблема с su

Ivanov Maxim
In reply to this post by Denis Gubanov
> вообще юзай sudo

В чем отличие от su?

--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Alex Efros-3
Hi!

On Mon, Nov 21, 2005 at 09:07:04AM +0300, Maxim Ivanov wrote:
> > вообще юзай sudo
>
> В чем отличие от su?

Во-первых позволяет дать возможность выполнения не всех, а только некоторых
команд как root.

Во-вторых для выполнения команд нужно знать свой пароль (обычного юзера), а не
root-а.

В-третьих в отличие от su -c запоминает (на некоторое время) что ты только что
пароль вводил и позволяет выполнять разные команды через sudo не спрашивая
пароль каждый раз.

etc.

Удобная штука. Единственный недостаток sudo - это ещё один suid-ный бинарник
в системе.

--
                        WBR, Alex.
--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Yuri N. Glibovetz-2
Alex Efros пишет:
> В-третьих в отличие от su -c запоминает (на некоторое время) что ты только что
> пароль вводил и позволяет выполнять разные команды через sudo не спрашивая
> пароль каждый раз.

А вот эту фичу как раз нужно выключить. Ибо огромная дыра в безопасности
(элементарно пишется троян отлавливающий факт запуска sudo и получающий
после этого рутовские права). У меня в /etc/sudoers стоит

Defaults timestamp_timeout = 0

--
Чудес не бывает - бывают только глюки...

Linux Registered User #387540
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=387540


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Alex P. Burlutsky
In reply to this post by Alex Efros-3
> Во-вторых для выполнения команд нужно знать свой пароль (обычного юзера), а не
> root-а.
А для совсем ленивых можно даже отключить ввод пароля. И рутовые команды
выполнять просто так :) Хотя, возможно, это не безопасно.
Да и удобнее без всяких -с и т.д. к тому же что-нить типа sudo /bin/bash
  еще и не потеряет все переменные окружения, хотя последнее конечно -
лишнее.


--
hello from Alex P. Burlutsky
mailto:[hidden email]
ICQ# 12345-7-222
h.tel +7(0722)553-666
m.tel +7(910)731-13-08

...mind in soul... (c) 107

OS : Linux 2.6.14-gentoo-r1
hard : i686 AMD Athlon(tm) XP 2600+


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Bugzilla from blaster999@gmail.com
On Tuesday 22 November 2005 10:37, Alex P. Burlutsky wrote:
> > Во-вторых для выполнения команд нужно знать свой пароль (обычного юзера),
> > а не root-а.
>
> А для совсем ленивых можно даже отключить ввод пароля. И рутовые команды
> выполнять просто так :) Хотя, возможно, это не безопасно.
> Да и удобнее без всяких -с и т.д. к тому же что-нить типа sudo /bin/bash
>   еще и не потеряет все переменные окружения, хотя последнее конечно -
> лишнее.

Главное, что это можно настроить для отдельных комманд или скриптов. Скажем,
есть ноутбук, на котором работают разные люди. Надо, чтобы они, не зная
пароля рута, могли включать/отключать CPU frequency scaling. Можно написать
скриптик, который это делает, а в /etc/sudoers указать, что все юзеры могут
запускать его без ввода пароля рута.
--
Men live for three things, fast cars, fast women and fast food.

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Zero Z. Zeibov
Gleb Litvjak wrote:

>Главное, что это можно настроить для отдельных комманд или скриптов. Скажем,
>есть ноутбук, на котором работают разные люди. Надо, чтобы они, не зная
>пароля рута, могли включать/отключать CPU frequency scaling. Можно написать
>скриптик, который это делает, а в /etc/sudoers указать, что все юзеры могут
>запускать его без ввода пароля рута.
>  
>
в таком случае не проще ли на файлах, которые должны запускаться от рута
сделать сделать:
chown root:wheel
chmod 4771 /path/to/file

--
KN0L3DG3 i$ a P0W3R...
u$3 y0uR P0W3R iN G00D, N07 3ViL

(ASM&&sploits)?1(q#ZeAOeA:/dev/null


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Bugzilla from blaster999@gmail.com
On Tuesday 22 November 2005 11:17, Zero Z. Zeibov wrote:

> Gleb Litvjak wrote:
> >Главное, что это можно настроить для отдельных комманд или скриптов.
> > Скажем, есть ноутбук, на котором работают разные люди. Надо, чтобы они,
> > не зная пароля рута, могли включать/отключать CPU frequency scaling.
> > Можно написать скриптик, который это делает, а в /etc/sudoers указать,
> > что все юзеры могут запускать его без ввода пароля рута.
>
> в таком случае не проще ли на файлах, которые должны запускаться от рута
> сделать сделать:
> chown root:wheel
> chmod 4771 /path/to/file

Только бинарники иогут быть suid root (скрипты не могут). Мы же не хотим
ставить suid bit на /bin/echo? (я именно его использую для установки cpu
scaling governor).
--
A good marriage would be between a blind wife and deaf husband.
                -- Michel de Montaigne

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Alex Efros-3
Hi!

On Tue, Nov 22, 2005 at 11:22:34AM +0200, Gleb Litvjak wrote:
> > chmod 4771 /path/to/file
> Только бинарники иогут быть suid root (скрипты не могут). Мы же не хотим
> ставить suid bit на /bin/echo? (я именно его использую для установки cpu
> scaling governor).

Могут скрипты быть suid, почему нет... только в этих скриптах (perl,
например), нужно ручками вызывать setuid(0) (и вроде ещё пару телодвижений
делать, не помню уже). Более того, насколько я понимаю, C-проги должны делать
то же самое. Возможно, конечно, gcc при компиляции вставляет автоматически
в проги код вызова setuid(0) если на бинарнике есть соотв. права, не знаю.

--
                        WBR, Alex.
--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Bugzilla from blaster999@gmail.com
On Tuesday 22 November 2005 19:06, Alex Efros wrote:

> Hi!
>
> On Tue, Nov 22, 2005 at 11:22:34AM +0200, Gleb Litvjak wrote:
> > > chmod 4771 /path/to/file
> >
> > Только бинарники иогут быть suid root (скрипты не могут). Мы же не хотим
> > ставить suid bit на /bin/echo? (я именно его использую для установки cpu
> > scaling governor).
>
> Могут скрипты быть suid, почему нет... только в этих скриптах (perl,
> например), нужно ручками вызывать setuid(0) (и вроде ещё пару телодвижений
> делать, не помню уже). Более того, насколько я понимаю, C-проги должны
> делать то же самое. Возможно, конечно, gcc при компиляции вставляет
> автоматически в проги код вызова setuid(0) если на бинарнике есть соотв.
> права, не знаю.

Ничего подобного. Бит suid устанавливается после компиляции и не влияет на
содержимое файла.

--
<Culus> there is 150 meg in the /tmp dir! DEAR LORD

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Проблема с su

Alex Efros-3
Hi!

On Tue, Nov 22, 2005 at 09:01:50PM +0200, Gleb Litvjak wrote:
> Ничего подобного. Бит suid устанавливается после компиляции и не влияет на
> содержимое файла.

Вы меня просто не поняли. Я знаю, что это бит и что он устанавливается на
бинарник после компиляции. :-) Просто одного наличия этого бита мало -
программа на которой выставлен этот бит должна ещё сделать сискол setuid(2).

IMHO если вы просто выставите SUID/SGID на какой-то бинарник - он от этого не
начнёт работать под root. А если вдруг начнёт, причём без каких-либо усилий
со стороны этой программы (т.е. её автор не предусматривал такую возможность
и setuid() не вызывает) - значит всё-таки она setuid() вызывает. А если она
вызывает setuid хотя автор в неё это не закладывал - значит постарались или
gcc или glibc.

Может, конечно, я ошибаюсь и setuid() для бинарников с этим битом автоматом
делает ядро, но я в этом крупно сомневаюсь... не хорошо это как-то. Впрочем,
после того как я обнаружил что буфер для copy/paste текста между консольками
(то что делает прога gpm) на самом деле хранится не в памяти gpm, а в памяти
ядра - я уже ничему в этом плане не удивляюсь.

--
                        WBR, Alex.
--
[hidden email] mailing list