LINUX.ORG.RU
ФорумAdmin

Кнопка запуска с root-командой


0

0

Хочу сделать на робочем столе кнопку запуска, отключающую сеть. То есть должна выполняться команда «ifconfig eth0 down». Но ifconfig является root-командой. Как мне сделать чтобы кнопкой запуска мог пользоваться любой пользователь и без ввода пароля от root? Я так понимаю нужно скрипт писать?

★★★★★

Последнее исправление: sunny1983 (всего исправлений: 1)

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

не запускал man sudorc, но на сколько я помню, там есть возможность указать не только юзера/группу с правами, но и команду «с правами», и в том числе с правами запускать вообще без пароля. так что вам правильно указали направление, а вы советом не воспользовались и мучаетесь

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

Цитируем sunny1983

Через sudo тоже придётся пароль вводить.

man sudoers

athost ★★★★★
()

Попробую конечно. Но вот вопрос, а если нужно будет написать несколько скриптов и в каждом из которых будут иметься root-коменды, то что нужно будет для каждого скрипта запись в /etc/sudoers делать? Возможно ли прописать пароль внутри самого скрипта?

sunny1983 ★★★★★
() автор топика

net_applet это делает, без всяких дополнительных усилий.

Eddy_Em ☆☆☆☆☆
()

SUID бит ставишь на ярлык и задаешь владельца root.

linux4ever
()

во первых не ifconfig а ifup/ifdown. во вторых выше уже сказали про sudo/sudoers.

exception13 ★★★★★
()

sudo позволяет запускать без ввода пароля все/некоторые программы, настраивается в sudoers файле. (/etc/sudoers)

edigaryev ★★★★★
()

При прочтении заглавия треда, возникла фантазия: специальная usb-кнопка, аналог enter'а, но выполняющая все введенные команды от рута, независимо от текущего пользователя.

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

> При прочтении заглавия треда, возникла фантазия: специальная usb-кнопка, аналог enter'а, но выполняющая все введенные команды от рута, независимо от текущего пользователя.

Положим, не кнопка, но при помощи usb flash, libpam-usb и такой-то матери похожее можно сделать.

undertaker ★★
()
ifconfig eth0 down
на робочем столе

[оглядываясь по сторонам],
# chmod u+s /sbin/ifconfig
[убежал, хихикая и потирая ладошки]

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

sudo echo «username ALL=NOPASSWD: /sbin/ifconfig» >> /etc/sudoers

epicfail.jpeg

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

Можно ведь и при помощи PAM разрешить пользователям запускать ifconfig :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от gserg

через sudoers все можно сделать, только nm-applet и так все это умеет.

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

sudo echo «username ALL=NOPASSWD: /sbin/ifconfig» >> /etc/sudoers


Не очень понял. Но разрешать безпарольный ввод ifconfig наверное не следует, зачем такую дыру создавать. Достаточно только разрешить безпарольно функции up и down. Если я правильно читал man, то мне нужно:
1)создать файл с именем допустим /usr/scripts/eth0down.sh с содержанием:
#!/bin/sh
ifconfig eth0 down

плюс ещё несколько подобных

2)сделать запись в /etc/sudoers:
Cmnd_Alias NETUPDOWN = /usr/scripts/eth0up.sh, /usr/scripts/eth0down.sh, /usr/scripts/ppp0up.sh, /usr/scripts/ppp0down.sh

3)Далее должна быть запись разрешающая группе NETUPDOWN работать без пароля, а вот что должно быть написано я пока не понял. Может кто подскажет?

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