Управление процессами пользователей не из под root
vitek 19 марта, 2012 - 16:34
Возникла необходимость дать 1С-никам доступ к управлению процессами пользователей в терминальных серверах под GNU/Linux Gentoo :).
В качестве рабочего стола используется gnome, gnome-system-monitor дает возможность видеть процессы всех пользователей но чтобы их удалять нужно вводить пароль пользователя чей процесс хочеш удалить, учитывая что пароли на серверах у меня не меньше восьми символов и как правило это случайны набор букв цифр и т.д. вводить эти пароли 1С-никам не очень удобно особенно на серверах где много пользователей, которые иногда забывают закрыть 1С-ки перед обновлениями.
Вобщем есть ли возможность удалять процессы дугих пользователей не имея привелегии root с использованием GUI? Так как консоль 1С-ников пугает.
»
- Для комментирования войдите или зарегистрируйтесь

sudo?
sudo?
Оно же тоже консольное - а
Оно же тоже консольное - а консоли 1Цщники пужаются
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Just FYI: kde-misc/kdesudo
Just FYI:
a для ТС/гнома eсть еще и
я об этом тоже думал но не
я об этом тоже думал но не пойму как это использовать.
в том плане что нужно исключить использование консоли.
немножке не в тему - а ка вы
немножке не в тему - а ка вы уговрили франчайзи на линукс и сколько составила переплата по контракту , если брать за 100% винду ?
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Вопрос не понял можно более
Вопрос не понял можно более развернуто?
Вариант решения
Если стоит Gnome, тогда должно стоять и Zenity (в крайнем случае доустановить не проблема).
Дальше от имени пользователя root нужно выполнить:
А дальше делаем GUI приложение из подручных средств, пишем скрипт такого содержания:
#!/bin/sh NPS=`exec zenity --entry \ --title="kill-process" \ --text="Введите ID процесса: "` sudo kill -s 9 $NPSСохраняем скрипт под именем /usr/bin/kill-process и выдаем ему права на выполнение:
Теперь у вас будет GUI-приложение, способное убить любые процессы в системе будучи запущенное простым пользователем.
Используете на свой страх и риск!!!
Лично я бы такое позволять не стал.
Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...
kesha
Можно в скрипте включить проверку на владельца процесса, чтобы чужих не били... :)
SysA написал(а): kesha
Если вы заметили, здесь простым пользователям выдаются эксклюзивные права на использование программы /bin/kill от имени root'a, пароль при этом не спрашивается. Следствие этого:
Процесс будет убит, пароль root'a никто не спросит. Лучшим решением будет выдача эксклюзивных прав не всем, а только определенному пользователю, и желательно заменить саму программу /bin/kill на скрипт с предлагаемой вами проверкой, а реальную программу переместить скажем в /sbin/kill
Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...
Это у вас так! Я же предлагаю
Это у вас так!
Я же предлагаю написать приличный скрипт с проверками и журналированием (явно не указывал, но как бы подразумевалось) процесса (чтобы знать героев в лицо - кто и когда).
А полный shell совсем необязательно давать...
Цитата:...Я же предлагаю
Весьма интересная идея, вот мои 5-копеек - заготовка GUI морды:
#!/usr/bin/env newlisp ; newLISP + GTK = GUI "Kill Process" (set 'GTK "/usr/lib/libgtk-x11-2.0.so.0" 'GTK_IMPORT_LIST '("gtk_init" "gtk_window_new" "gtk_window_set_title" "gtk_window_set_default_size" "gtk_container_set_border_width" "gtk_window_set_position" "gtk_table_new" "gtk_container_add" "gtk_label_new" "gtk_table_attach_defaults" "gtk_widget_show_all" "gtk_main" "gtk_exit") 'GOBJECT "/usr/lib/libgobject-2.0.so.0" 'GOBJECT_IMPORT_LIST '("g_signal_connect_data")) (dolist (IL GTK_IMPORT_LIST) (import GTK IL)) (dolist (IL GOBJECT_IMPORT_LIST) (import GOBJECT IL)) (define (_exit_) (gtk_exit 0) (exit)) (gtk_init 0 0) (set 'window (gtk_window_new 0)) (gtk_window_set_title window "Kill Process") (gtk_window_set_default_size window 200 100) (gtk_container_set_border_width window 10) (gtk_window_set_position window 1) (g_signal_connect_data window "delete-event" (callback 0 '_exit_) 0 0 0) (set 'table (gtk_table_new 1 1 true)) (gtk_container_add window table) (set 'label (gtk_label_new "Kill Process")) (gtk_table_attach_defaults table label 0 1 0 1) (gtk_widget_show_all window) (gtk_main) ;eofВаш следующий ход, сообща я думаю осилим.
Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...
Делать вам нечего. Задача,
Делать вам нечего. Задача, насколько я понимаю, заключается в убивании процессов 1с 1содминами. Валить процессы всех и вся - опасная работа. Потому пишем скрипт, убивающий данный тип процессов (первая команда), задаем корректные права (вторая команда), чтоб изменить не смогли, прописываем скрипт в судо, штоб исполняли только те кто в киллгруппе (третья команда) и со вводом своего пароля. И выводим ирлык на рабочий стол ежели айкью 1сника слишком мал для ввода команды из консоли согласно инструкции (одно телодвижение). Итого три команды и одно телодвижение. ИМХО линь это не тот инструмент, при помощи которого надо делать из мухи слона.
ЗЫ.
Лог героев судо обеспечит.