Гость
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / setcap + valgrind запуск TCP сервера на порту ниже 1024 / 11 сообщений из 11, страница 1 из 1
12.01.2017, 12:04
    #39383004
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
Привет.
Кто из админов подскажет как проще обойти ошибку:

Есть TCP - сервер слушает 411 порт
запускается под юзером.
чтобы ему дать на это разрешение я делаю так
sudo setcap 'cap_net_bind_service=+ep' /home/dc/src/ptokax-svn/PtokaX

но теперь я хочу запустить сервер под valgrind - не работает!

valgrind --tool=callgrind ./PtokaX

dc@dcfly-serverru:~/src/ptokax-svn$ valgrind --tool=callgrind ./PtokaX
==13289==
==13289== Warning: Can't execute setuid/setgid/setcap executable: ./PtokaX
==13289== Possible workaround: remove --trace-children=yes, if in effect
==13289==
valgrind: ./PtokaX: Permission denied

dc@dcfly-serverru:~/src/ptokax-svn$ sudo setcap 'cap_net_bind_service=+ep' /usr/bin/valgrind
dc@dcfly-serverru:~/src/ptokax-svn$ valgrind --tool=callgrind ./PtokaX
==13551==
==13551== Warning: Can't execute setuid/setgid/setcap executable: ./PtokaX
==13551== Possible workaround: remove --trace-children=yes, if in effect
==13551==
valgrind: ./PtokaX: Permission denied

dc@dcfly-serverru:~/src/ptokax-svn$ valgrind --tool=callgrind --trace-children=no ./PtokaX
==14072==
==14072== Warning: Can't execute setuid/setgid/setcap executable: ./PtokaX
==14072== Possible workaround: remove --trace-children=yes, if in effect
==14072==
valgrind: ./PtokaX: Permission denied

Запуск под root-ом выполнять нельзя.
...
Рейтинг: 0 / 0
12.01.2017, 12:52
    #39383065
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
PPAПривет.
Кто из админов подскажет как проще обойти ошибку:

Есть TCP - сервер слушает 411 порт
запускается под юзером.
чтобы ему дать на это разрешение я делаю так
Код: sql
1.
sudo setcap 'cap_net_bind_service=+ep' /home/dc/src/ptokax-svn/PtokaX



но теперь я хочу запустить сервер под valgrind - не работает!

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
valgrind --tool=callgrind ./PtokaX

dc@dcfly-serverru:~/src/ptokax-svn$ valgrind --tool=callgrind ./PtokaX
==13289==
==13289== Warning: Can't execute setuid/setgid/setcap executable: ./PtokaX
==13289== Possible workaround: remove --trace-children=yes, if in effect
==13289==
valgrind: ./PtokaX: Permission denied

dc@dcfly-serverru:~/src/ptokax-svn$ sudo setcap 'cap_net_bind_service=+ep' /usr/bin/valgrind
dc@dcfly-serverru:~/src/ptokax-svn$ valgrind --tool=callgrind ./PtokaX
==13551==
==13551== Warning: Can't execute setuid/setgid/setcap executable: ./PtokaX
==13551== Possible workaround: remove --trace-children=yes, if in effect
==13551==
valgrind: ./PtokaX: Permission denied

dc@dcfly-serverru:~/src/ptokax-svn$ valgrind --tool=callgrind --trace-children=no ./PtokaX
==14072==
==14072== Warning: Can't execute setuid/setgid/setcap executable: ./PtokaX
==14072== Possible workaround: remove --trace-children=yes, if in effect
==14072==
valgrind: ./PtokaX: Permission denied


Запуск под root-ом выполнять нельзя.

Что говорит:
Код: sql
1.
ls -l /home/dc/src/ptokax-svn/PtokaX
...
Рейтинг: 0 / 0
12.01.2017, 13:10
    #39383085
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
Vadim Lejnin,

dc@dcfly-serverru:~/src/ptokax-svn$ ls -l /home/dc/src/ptokax-svn/PtokaX
-rwxrwxr-x 1 dc dc 4380216 Jan 12 09:14 /home/dc/src/ptokax-svn/PtokaX
...
Рейтинг: 0 / 0
12.01.2017, 13:25
    #39383110
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
PPA,

Может кто-то знает как отключить (ubunutu 16.04 x64) эту дурацкую защиту по портам ниже 1024
мне это не критично т.к. никто из левых процессов слушать новый порт не станет (все закрыто внешним фаерволом)

А запуск процесса под root не желателен т.к. он выполняет еще и файловые операции.

Еще одно неудобство от это защиты - после каждой перекомпиляции сервера меняется бинарник
и приходится снова говорить команду
sudo setcap 'cap_net_bind_service=+ep' /home/dc/src/ptokax-svn/PtokaX
...
Рейтинг: 0 / 0
12.01.2017, 15:51
    #39383288
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
PPA, традиционное решение "для бедных" - запуск процесс на любом доступном порту и перенаправление подключений с привилегированного на обычный порт с помощью iptables.
...
Рейтинг: 0 / 0
12.01.2017, 15:52
    #39383293
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
"для богатых" - это написать программу так, чтобы она сначала открывала порты, а потом сбрасывала привилегии.
...
Рейтинг: 0 / 0
12.01.2017, 16:14
    #39383321
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
netwind"для богатых" - это написать программу так, чтобы она сначала открывала порты, а потом сбрасывала привилегии.

Подскажите что в ней нужно поправить?
имя функции?

Сервер у меня слабый за 5$
и iptables меня погашен совсем - экономлю CPU и память :)
но для теста может стоит и попробовать - там все будет прозрачно как в боевом режиме?
...
Рейтинг: 0 / 0
12.01.2017, 16:18
    #39383332
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
PPAnetwind"для богатых" - это написать программу так, чтобы она сначала открывала порты, а потом сбрасывала привилегии.

Подскажите что в ней нужно поправить?
имя функции?

имя функции? - setuid
...
Рейтинг: 0 / 0
12.01.2017, 16:56
    #39383372
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
netwindPPAпропущено...
Подскажите что в ней нужно поправить?
имя функции?

имя функции? - setuid

Т.е. я пускаю valgrind под sudo она стартует мой сервер тоже под рутом
а внутри сервера я говорю setuid на простого юзера
и после этого процесс + все его дочки не будут иметь прав рута?
верно?

а почему это решение "для богатых" ?
это вообще на халяву получается... если заработает :)
...
Рейтинг: 0 / 0
12.01.2017, 17:02
    #39383380
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
PPAnetwindпропущено...

имя функции? - setuid

Т.е. я пускаю valgrind под sudo она стартует мой сервер тоже под рутом
а внутри сервера я говорю setuid на простого юзера
и после этого процесс + все его дочки не будут иметь прав рута?
верно?

Точно.
Только valgrind наверное останется под root и могут возникнуть какие-то проблемы.
Но мы ведь обсуждаем нормальную работу уже отлаженной работы программы без valgrind?


а почему это решение "для богатых" ?
это вообще на халяву получается... если заработает :)
Так программировать надо уметь.
Обычно тут какие-то невнятные товарищи пытаются сделать что-то с программами, которые не написали и не понимают.
...
Рейтинг: 0 / 0
12.01.2017, 17:21
    #39383397
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
setcap + valgrind запуск TCP сервера на порту ниже 1024
Очевидно, valgrind не умеет линапсоспецифичные вещи типа capabilities. Правьте или valgrind, или этот чудо-DC-клиент. А лучше девелопера этого клиента напрягите, он же не постеснялся заявить "...PtokaX is a synonym for inovative quality, performance, stability and the elegance of simplicity." Вдруг это не пустое балабольство? :)
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / setcap + valgrind запуск TCP сервера на порту ниже 1024 / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]