Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: flipz в Sep 07, 2008, 20:19



Титла: Access user
Публикувано от: flipz в Sep 07, 2008, 20:19
Здравейте .. това е малко лесен въпрос, но нещо не мога да се справя ... Какви права трябва да задам на потребител който съм създал, за да може да ползва 'arping' командата в линукс система Slackware 12.1

Искам да няма root права а да има досъп до някой функций.

давам на файла: root@name:~# chmod 755 /sbin/arping

user@name:~$ /sbin/arping
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination

има достъп до файла, но .. отговора е следният при ползване:
user@name:~$ /sbin/arping 192.168.0.245
arping: socket: Operation not permitted
user@name:~$


Титла: Access user
Публикувано от: Ivshti в Sep 07, 2008, 20:29
Командата задължително се стартира като root, защото иска достъп до socket, който не е позволен на нормален потребител :)
Да смениш правата върху самия изпълним файл на програмата няма да помогне за правата върху нещата, които изисква програмата.
Тъй че:
su
arping 192.168.0.245
Плюс това факта, че се намира в /sbin казва, че трябва да се стартира като root :)


Титла: Access user
Публикувано от: VladSun в Sep 07, 2008, 20:32
4755


Титла: Access user
Публикувано от: flipz в Sep 07, 2008, 20:37
Цитат (Ivshti @ Сеп. 07 2008,21:29)
Командата задължително се стартира като root, защото иска достъп до socket, който не е позволен на нормален потребител :)
Да смениш правата върху самия изпълним файл на програмата няма да помогне за правата върху нещата, които изисква програмата.
Тъй че:
su
arping 192.168.0.245
Плюс това факта, че се намира в /sbin казва, че трябва да се стартира като root :)

нали в линукс няма невъзможни неща ;)
някой не е ли правил нещо такова ..

не ми се иска усер-а да може да ползва роот- това е идеята


Титла: Access user
Публикувано от: VladSun в Sep 07, 2008, 20:40
... ;)


Титла: Access user
Публикувано от: flipz в Sep 07, 2008, 21:05
Цитат (VladSun @ Сеп. 07 2008,21:32)
4755

ти пък какви са тея .. цифри и усмивки .. спам


Титла: Access user
Публикувано от: VladSun в Sep 07, 2008, 21:43
Е, па ... пробвай СПАМ-а, пък дано и ти се усмихнеш ;)
иначе
man chmod
:p


Титла: Access user
Публикувано от: flipz в Sep 07, 2008, 22:04
Цитат (VladSun @ Сеп. 07 2008,22:43)
Е, па ... пробвай СПАМ-а, пък дано и ти се усмихнеш ;)
иначе
man chmod
:p

благодаря човече ... много пъти съм го чел, но явно нещо не съм асимилирал смисъла :)

chmod 4755 /sbin/arping

и веднага си тръгна


Титла: Access user
Публикувано от: phobot в Sep 08, 2008, 02:53
Според мен така даваш права и на други люзери да използват програмата.
Много по елегантно решение е sudo. Мисля че синтаксиса беше:
<username> ALL=<path to program> или
<username> ALL=NOPASSWD: <path to program> ако не искаш да се налага да пише парола всеки път когато пуска програмата.


Титла: Access user
Публикувано от: VladSun в Sep 08, 2008, 12:06
Специално за arping-а, sudo е малко излишно. Иначе това е добър вариант - да.

Единственото, което не трябва да може да се прави от другите потребители е използването на -w опцията за да не правят ARP flood.

За това има 2 варианта - единият е да се инсталират двете версии на arping (1.0 и 2.0), а другият е да се пипне малко сорса и да се проверява uid-a за опцията.

С други думи - arping да стане с права подобни на ping (който по подразбиране е suid-нат) - т.е. опцията -w на arping да се забрани подобно на опцията -f на ping.

Другото, което лично мен много ме дразнеше при използването на sudo за arping беше огромния log, който правеше sudo - но това си беше специфично за скрипта, който ползваше apring. Аз поне, не можах да открия опция, с която да накарам sudo да не log-ва за определени команди/потребители.