LINUX.ORG.RU
решено ФорумAdmin

[kill setuid] или как убить процесс другого пользователя.


0

0

Доброе утро, коллеги.

Возникла такая проблема. Хочется иметь возможность убивать процессы других пользователей.

Проблема в том, что эти пользователи не имеют шелла (т.е. шелл у них /bin/false) соответственно su здесь не подходит.

Я попытался взять бинарник kill поменял его владельца с рута, на этого пользователя (предположим larry) и поставил на него setuid бит: chmod u+s kill. получил файл вида:

 -r-sr-xr-x   1 larry      staff          134 Feb  8 17:14 kill 
Но, когда я пытаюсь убить с помощью этого файла процесс, созданный larry, то получаю соощение, что он не находит этот процесс. При том, что ps -ef | grep 7788 его выводит. В чем может быть заковыка?


А чем не подходит sudo? Или, если от рута нельзя, sudo -u имя_пользователя?

question4 ★★★★★
()
Ответ на: комментарий от azure

если есть права рута, больше никаких свистоплясок не надо - и так убъется. В вообще sudo kill PID

gserg ★★
()

>Я попытался взять бинарник kill поменял его владельца с рута, на этого пользователя (предположим larry) и поставил на него setuid бит: chmod u+s kill
Тебе категорически нельзя использовать Linux!
ты даже не потрудился узнать, что есть права доступа на файл.

xydo ★★
()
Ответ на: комментарий от xydo

Отвечу всем сразу! )

прав рута нету - это же логично. Если бы у меня был рут, вопрос бы и извращения не возникали! ) По поводу sudo. Его у меня, к сожалению, нет ) Потому что, уважаемый Sun почему-то решил не включать его в сборку Solaris ( Ну или его решили вырезать при установке (

Тебе категорически нельзя использовать Linux!

ты даже не потрудился узнать, что есть права доступа на файл.

Поподробнее, пожалуйста. Что вы имели в виду под этой фразой?

lutrin
() автор топика

kill размером 134 байта? Там точно бинарный файл. И какая у вас такая странная сборка, что рута нет, а файлу можно делать любого владельца.

mky ★★★★★
()
Ответ на: комментарий от mky

А вот тут и собака порылась ))) Натурально там не бинарник :-)

#!/bin/ksh -p
#
#ident	"@(#)alias.sh	1.2	00/02/15 SMI"
#
# Copyright (c) 1995 by Sun Microsystems, Inc.
#
cmd=`basename $0`
$cmd "$@"

Спасибочки большие. Как-то не ожидал я такого... думал, что kill таки бинарник. Буду курить, чтобы это значило... сходу не соображу.

Сборка стандартная. У меня рута нет... но у админа-то есть. Он владельца и менял! 8-) Просто задача состоит в том, чтобы процессы я мог килять сам, а не с помощью одмина. Вот и нахожу различные костыли для этих целей! ))

lutrin
() автор топика
Ответ на: комментарий от lutrin

Надо было сразу указать, что это Solaris.
kill - встроенная команда Korn shell. Этот маленький скриптик именно ее и вызывает, а сам этот скриптик нужен на случай, если ты пользуешься другим шеллом.
Так что если ставить SUID, то сразу на ksh :)

Проси админа поставить sudo. Он есть на Companion CD. Или скачай сам пакет и отдай ему.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Ну примерно так я и предполагал ((

На ksh вряд ли соглясятся поставить SUID. )

Ну а насчет Солярис, я просто не подумал, что это роляет... а дотумкать, что тут не бинарник, а скрипт, сразу не смог (

Попробую пробить sudo у админов. Хотя... фиг его знает, поможет он или нет. Ведь шела нет у этих пользовталей. В общем буду тестировать.

Спасибки большие за помощь.

lutrin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.