LinuxForum.Fans
Тема

(Решено) Настройка sudo для одной команды

Автор: DarkDigger 8 сообщений 5589 просмотров
#253358

Ось: Fedora 16 (64) + gnome 3
Частенько нужно при монтировать сетевую папку и с ней работать, для этого я захожу в консоль, пишу

text

su -
mount -t cifs -o и т.д.

Захотел сделать скриптик на рабочем столе, что бы в ручную не писать.

text

#!/bin/bash
su -
mount -t cifs -o и т.д.

При его запуске я ввожу пароль root и всё. Видимо сисема ждёт когда завершиться команда su - , и когда она завершается (например Ctrl+D) пытается выполнить mount, но прав уже нет...
Подумал, может проще через sudo. Но в интернете нашёл только как сделать для всех команд, требующих права root
Прописать в /etc/sudoers
логин ALL=(ALL) ALL
ALL=(ALL) NOPASSWD:ALL

Но мне надо только для команды mount, я не хочу что бы через sudu можно было выполнить все что угодно с правами рута...

Помогите настроить sudo или может по другому как-то можно сделать?

#253363

Можно разрешить делать всё для опеределённой группы

text
%wheel ALL=(ALL) ALL

...без пароля

text
%wheel ALL=(ALL) NOPASSWD: ALL

Для определённого пользователя (lupo) на определённом хосте (gentoo-laptop) определённую команду без пароля

text

lupo   gentoo-laptop = NOPASSWD: /bin/mount
#253366
Lupo Alberto написал:

Для определённого пользователя (lupo) на определённом хосте (gentoo-laptop) определённую команду без пароля
text

lupo   gentoo-laptop = NOPASSWD: /bin/mount

Спасибо, только не понял, зачем хост-то? Команда sudu mount выполняется локально (на домашнем компе)....
если мой логин digger, то в конце файла
/etc/sudoers
Нужно прописать
digger = NOPASSWD: /bin/mount

Так?

#253367

Хост — только для примера.

"DarkDigger" написал:
Нужно прописать
digger = NOPASSWD: /bin/mount
text

digger ALL=NOPASSWD: /bin/mount
#253369

Для настройки sudo настоятельно рекомендую использовать команду visudo — она не позволит вам наделать ошибок в конфигурации.

#253389

Сделал на рабочем столе два файлика-скрипта для примонтирования и отмонтирования шары, а в
/etc/sudoers
прописал две строчки
digger ALL=NOPASSWD: /bin/mount
digger ALL=NOPASSWD: /bin/umount
и всё работает. Спасибо!

#253390
"DarkDigger" написал:
и всё работает

Можно упростить:

text
digger ALL=NOPASSWD: /bin/mount, /bin/umount
#253604
DarkDigger написал:
Ось: Fedora 16 (64) + gnome 3
Частенько нужно при монтировать сетевую папку и с ней работать, для этого я захожу в консоль, пишу
text

su -
mount -t cifs -o и т.д.

su <username> -c "command" не?

Войдите или зарегистрируйтесь, чтобы ответить.