Linux route permisions
Добавлено: 2013-03-13 14:21:29
Доброго дня, форумчане!
Как позволить некой группе добавлять маршруты в таблицу маршрутизации?
Как позволить некой группе добавлять маршруты в таблицу маршрутизации?
У русских простые принципы в жизни: голодного - накормить, замерзшего - согреть, утопающего - спасти, охуевшего - отпиздить
https://forum.lissyara.su/
Код: Выделить всё
#User privilege specification
username localhost=NOPASSWD: /path/prognameКод: Выделить всё
sudo -u username /path/prognameПодробно про SUID и другие права на файлы.в любом случае, чтобы изменить таблицу маршрутизации ваша программа должна иметь права root, любым образом, можете попробовать поиграться с SUID-бит.
Код: Выделить всё
# скрипт должен принадлежать группе, в которую входит username, а владельцем должен являться root
# изменяем для username первичную группу на usergroup (можно использовать группу username по умолчанию)
sudo groupadd usergroup
sudo usermod -g usergroup username
# назначаем владельца и группу для скрипта
sudo chown root:usergroup /path/progname
# выставляем бит suid и заменяет обычные права на 750 (rwxr-x---)
sudo chmod 4750 /path/progname
# запускаем из-под username(!)
/path/prognameКороче - вернулись всё к тому, с чего начали- Создаю скрипт, делаю его принадлежащим root и ставлю бит SUID. Пользователь запускает его, а он не выполняет свою задачу - недостаточно прав.
- На скрипты SUID не работает. Только на бинарные файлы.
- А может скомпилить бинарник, который сможет запускать скрипт путь к которому передан как параметр?
- Так бинарник такой уже есть - sudo называется. Осталось прочитать man sudoers.
Код: Выделить всё
#!/bin/bash -p
setuid(0);Код: Выделить всё
/bin/bash -p /progdir/progname