LINUX.ORG.RU

sudo nice


0

0

Делаю пользователю возможность выполнения sudo nice. В результате, произвольная программа выполняемая под этим nice выполняется под sudo. Это нормально?

★★★★★

Ответ на: комментарий от x3al

Собственно из под судо как раз должна выполняться программа. Но выясняя как передать nice, обнаружил что разрешив пользователю один nice фактически мы разрешаем ему всё.

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

Это означает что все программы запущенные этим пользователем будут с данным nice? Спасибо, в моём случае это именно то что нужно.

Но вопрос в общем возник такой что nice в /etc/sudoers фактически является дырой? Конечно я понимаю встречаться он там будет редко.

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

> Тем более, что понижать приоритет можно и без прав.

под sudo должна работать программа внутри:

sinaps@boat ~ $ nice -19 nice
19
sinaps@boat ~ $ sudo nice -19 nice
[sudo] password for sinaps:
19
sinaps@boat ~ $ nice -19 sudo nice
0

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

Да нет, свою задачу я похоже уже решил.

Вопрос остался о том, не является-ли это уязвимостью?

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

наверное нет, скорее в раздел CAVEATS, о том что стоит осторожно относиться к тому чтобы давать доступ программам , которые могут запускать другие программы, кстати в man sudo / sudoers было что-то по поводу ограничения на запуск дочерних программ , вроде как частично можно ограничить

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

Молодец, я в курсе про то, как nice работает. Мне интересно, нафига оно нужно в данном конкретном случае.

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

su предназначено для поднятия привилегий, а nice не более чем для приоритета выполнения программы.

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

>Мне интересно, нафига оно нужно в данном конкретном случае.

Чтобы дать простым юзерам возможность запускать проги с повышенным приоритетом (не зная о limits.conf).

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

>su предназначено для поднятия привилегий

Не для поднятия привилегий, а для смены uid :)

а nice не более чем для приоритета выполнения программы.


А что, разве более высокий приоритет не является исключительной привилегией?
Хорошо, тогда sudo chroot :)

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

>Чтобы дать простым юзерам возможность запускать проги с повышенным приоритетом

А смысл юзерам от повышенного приоритета?

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

>А смысл юзерам от повышенного приоритета?

У меня, например, под юзером работает игровой сервер.

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

Тоже интересен такой вопрос - как дать права на nice простому юзеру без ущерба на безопастноть.

Насколько я понял, запускается игровой сервер линейки. А там логинсервер надо запускать с повышеным приоритетом.

Можно конечно запускать из под рута, но это муторно...

INDIGO
()
Ответ на: комментарий от sin_a

>обнаружил что разрешив пользователю один nice фактически мы разрешаем ему всё.

Ещё можно пользователю разрешить всё, разрешив sudo на bash, например.

sudo выполняет nice от имени root'а. Всё, nice работает суперпользователем. Соответственно, может работать без ограничений.

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

>А там логинсервер надо запускать с повышеным приоритетом.

Зачем? Он даже с положительным nice прекрасно работает.

...

А так:
1. Про renice тебе уже сказали.
2. А зачем тебе юзера, от которого запускаешь сервер, давать кому-то ещё? Не светишь его нигде и разрешаешь ему sudo на nice сколько угодно. Всё равно в сервере линейки нигде shell-вызовов нет, даже если взломают сервер - ни до чего не доберутся.

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



А там логинсервер надо запускать с повышеным приоритетом.


Зачем? Он даже с положительным nice прекрасно работает.


Да, работает.

А зачем тогда поумолчанию запуск сервера выглядит так:

nice -n -2 java -Xmx128m -cp ./../libs

?

PS: это мне так, для общего развития знать хочется.

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

>А зачем тогда поумолчанию

По умолчанию где? Общий уровень программистов в L2J-проектах итак крайне невелик, а уж Linux-практика у них совсем никакая :)

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

>в исходниках сервера l2jserver

Это, как бы, капитаноочевидно :) Я имел в виду - в каком проекте :) Хотя, как позже уточнил, это, в принципе, без разницы.

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

>Тоже интересен такой вопрос - как дать права на nice простому юзеру без ущерба на безопастноть.

Ну тут же вроде привели труЪ way (limits.conf).

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

а вот не надо, тем более логин сервер, заDDoSят запросто
гейм сервер - возможно, но лучше воспользоваться чем-нибудь вроде BFS или выставлять SCHED_RR

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

и раз уж речь идет теперь о BFS, то там любой непривилегированый пользователь может использовать SCHED_ISO , это лучше чем nice

Sylvia ★★★★★
()

Дак можно же в sudoers задать допустимые аргументы команды.

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