Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Использование pon/poff & ppptray без sudo  (Прочитано 6660 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Qe7Z

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Использование pon/poff & ppptray без sudo
« : 22 Декабря 2007, 00:10:30 »
Настроил себе интернет. Запуск интернета происходит командой sudo pon telecom. Остановка интернета происходит командой sudo poff telecom.
Что нужно сделать, что бы команда выполнялась, от обычного пользователя, т.е. не нужно было вводить sudo перед командой pon telecom (или poff telecom)???
Лазил по интернету и набрел на интересную утилиту - ppptray -http://www.getdeb.net/app.php?name=PPP+Tray+Icon.
Программа отлично работает , если запускать её через sudo ppptray. Но если от пользователя, то она не соединяет с инетом.
Цель: реализовать выполнения pon  и poff и ppptray для обычного пользователя, не используя sudo.
Помогите, если кто знает.

Оффлайн KBH

  • Любитель
  • *
  • Сообщений: 71
  • У нас всегда весело
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #1 : 22 Декабря 2007, 00:54:45 »
Как два пальца... Надо добавить пользователя в группу dip или dialout. Посмотреть можно так ls -l /etc/ppp/
после добавления не забываем релогиниться!

Оффлайн Qe7Z

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #2 : 22 Декабря 2007, 02:17:19 »
Не помогло :(
Делал так:
sudo usermod -a -G dip vitaliy
sudo usermod -a -G dialout vitaliy
Если сомтреть в /etc/group
dip:x:30:vitaliy,root
dialout:x:20:vitaliy,root
то я получается добавил пользователя в группу dip и dialout. Но это не помогло.
vitaliy@ubuntu-desktop:~$ ls -l /etc/ppp/
итого 84
-rw------- 1 root root    80 2007-10-16 02:28 chap-secrets
-rwxr-xr-x 1 root root  1754 2007-10-04 22:57 ip-down
drwxr-xr-x 2 root root  4096 2007-11-22 00:53 ip-down.d
-rwxr-xr-x 1 root root  1892 2007-10-04 22:57 ip-up
drwxr-xr-x 2 root root  4096 2007-11-22 00:53 ip-up.d
-rwxr-xr-x 1 root root   784 2007-10-04 22:57 ipv6-down
drwxr-xr-x 2 root root  4096 2007-10-04 22:57 ipv6-down.d
-rwxr-xr-x 1 root root   922 2007-10-04 22:57 ipv6-up
drwxr-xr-x 2 root root  4096 2007-10-04 22:57 ipv6-up.d
-rw-r--r-- 1 root root 13486 2007-10-04 22:57 options
-rw-r--r-- 1 root root  1669 2007-12-17 22:27 options.pptp
-rw-r--r-- 1 root root  1668 2007-03-09 15:51 options.pptp~
-rw------- 1 root root  1657 2007-12-17 22:37 pap-secrets
-rw------- 1 root root  1655 2007-12-17 22:35 pap-secrets~
drwxr-s--- 2 root dip   4096 2007-11-22 01:02 peers
-rwxr-xr-x 1 root root   137 2007-10-04 22:57 pppoe_on_boot
-rw-r--r-- 1 root root  3134 2007-06-12 00:58 pptpd-options
drwxr-xr-x 2 root root  4096 2007-06-22 07:55 resolv
Есть идеи, что можно еще сделать?

Оффлайн KBH

  • Любитель
  • *
  • Сообщений: 71
  • У нас всегда весело
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #3 : 22 Декабря 2007, 02:24:00 »
Перелогиниться пробовали? Соединение теперь должно устанавливаться так pon <имясоединения>

Оффлайн Qe7Z

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #4 : 22 Декабря 2007, 13:55:34 »
Перелогиниться пробовали? Соединение теперь должно устанавливаться так pon <имясоединения>
Перлогинелся и да же перезагрузил ubuntu7.10).
C sudo все отлично пашет, без sudo - нет.
Вот что происходит на команду pon server debug nodetach
vitaliy@ubuntu-desktop:~$ pon server debug nodetach
anon warn[pptp_gre_bind:pptp_gre.c:82]: socket: Operation not permitted
anon fatal[main:pptp.c:275]: Cannot bind GRE socket, aborting.
Couldn't get channel number: Input/output error
Script pptp 172.16.5.1 --nolaunchpppd finished (pid 5792), status = 0x1
Есть еще идеи?

Оффлайн KBH

  • Любитель
  • *
  • Сообщений: 71
  • У нас всегда весело
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #5 : 22 Декабря 2007, 18:23:42 »
пробуем так pppd call server

Оффлайн igorsub

  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #6 : 22 Декабря 2007, 18:50:11 »
Перелогиниться пробовали? Соединение теперь должно устанавливаться так pon <имясоединения>
А pon <имя_соединения> работает по умолчанию, а вот poff надо через sudo пускать.

Оффлайн Qe7Z

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #7 : 22 Декабря 2007, 19:57:43 »
пробуем так pppd call server
pppd сall server от бычного юзера тоже не пашет. Через sudo отлично пашет.
pppd call server debug nodetach выдает
vitaliy@ubuntu-desktop:~$ pppd call server debug nodetach
anon warn[pptp_gre_bind:pptp_gre.c:82]: socket: Operation not permitted
anon fatal[main:pptp.c:275]: Cannot bind GRE socket, aborting.
Couldn't get channel number: Input/output error
Script pptp 172.16.5.1 --nolaunchpppd finished (pid 5792), status = 0x1

Эх Ubuntu... в дебиане проверил достаточно было добавить юзера в dip группу.
Это, что получается у Ubuntu разработчики не грамотные или как? Идей больше не у кого нет?

Оффлайн KBH

  • Любитель
  • *
  • Сообщений: 71
  • У нас всегда весело
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #8 : 23 Декабря 2007, 13:50:41 »
соединение с интернет dialup?

Оффлайн Qe7Z

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #9 : 23 Декабря 2007, 18:33:41 »
соединение с интернет dialup?
VPN (pptp) настраивал по этому howto http://cetki.com/forum/index.php?showtopic=11625 для моего провайдера Server.

Оффлайн KBH

  • Любитель
  • *
  • Сообщений: 71
  • У нас всегда весело
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #10 : 24 Декабря 2007, 06:23:14 »
Так тему поправьте. И в поиск. Тема избитая. Не стоит пологатся только на руководство от провайдера, но учитывайте все рекомендаци по настройке шифрования и аутентификации. Если ничего не найдете, то первое, что дал гугл http://linuxforum.ru/index.php?s=33b03ad5719539a1cc953c0847c4c5bc&showtopic=52002&pid=539265&st=0&#entry539265

Оффлайн Qe7Z

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #11 : 24 Декабря 2007, 17:47:24 »
KBH С инетом проблем нет. Все верно настроено у меня.
Только нужно как-то реализовать запуск инета для обычного юзера, т.е. без sudo.
Походу это баг в убунте. А дибеане достаточно добавить юзера в dip группу.

Оффлайн KBH

  • Любитель
  • *
  • Сообщений: 71
  • У нас всегда весело
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #12 : 24 Декабря 2007, 23:19:35 »
Попробовать noauth и проверить s бит для pppd?

Оффлайн Pegasus

  • Участник
  • *
  • Сообщений: 213
  • Ubuntu 8.04 AthXP 2500+ nForce2 1GB geForce6600GT
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #13 : 24 Декабря 2007, 23:40:29 »
пользуюсь ppp давно , запускается от привигилированого пользователя , НО БЕЗ sudo
никаких траблов , переставлял ось , перенастраивал , всегда всё запускается и работет 0_о
правда трабла непонятная с аккаунтом по умолчанию provider
но создал аккаунт "2", и теперь
$ pon 2пашет вполне
« Последнее редактирование: 24 Декабря 2007, 23:43:55 от Pegasus »

Оффлайн Qe7Z

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Использование pon/poff & ppptray без sudo
« Ответ #14 : 25 Декабря 2007, 15:48:12 »
Сделал!!! Помогла вот эта тема http://cetki.com/forum/index.php?showtopic=13297
Приведу суда, вдруг кому-то нужно.
Алгоритм следующий (все шаги выполняются из-под рута... ну, или с использованием sudo):[list=1]
  • Установить suid-бит на pptp.
           root# chmod u+s `which pptp` 
  • Узнать полный путь к pptp.
           root# which pptp 
  • Записать полный путь к pptp (который был выведен на предыдущем шаге) в соответствующий файл описания связи с провайдером (в файл из /etc/ppp/peers):
             
    • открываем требуемый файл (например, /etc/ppp/peers/server);
                 
    • находим строчку, содержащую вызов команды pptp:
                     
    pty "pptp 172.16.5.1 --nolaunchpppd"           
  • изменяем эту строчку так, чтобы вызов команды pptp производился по полному пути (допустим, на предыдущем шаге команда which pptp вывела /usr/sbin/pptp):
                    pty "/usr/sbin/pptp 172.16.5.1 --nolaunchpppd"
    • сохраняем изменённый файл.
     
  • Добавить пользователя в группу dip. Вместо user следует подставить имя пользователя, из-под которого требуется запускать pon/poff.
           root# usermod -aG dip user 
  • После всего этого следует перелогиниться (выйти из-под учётной записи пользователя и войти обратно).
Всё, теперь команды pon server и poff server должны работать из-под user'а и соединять с требуемым провайдером (вместо server, соответственно, необходимо подставить имя файла, который был изменён на 3-ем шаге).

В дальнейшем, чтобы позволить любому другому пользователю запускать pon/poff достаточно добавить его в группу dip и перелогиниться. Шаги 1-2 повторять необязательно. Шаг 3 (указание полного пути к pptp) нужно учитывать при создании новых файлов в /etc/ppp/peers.

Краткие пояснения по шагам:
  • в Debian скриптами pon/poff (и программой pppd) по умолчанию имеют право пользоваться только пользователи из группы dip (ну, и, естественно, root).
  • если не поставить suid-бит на pptp, то при запуске из-под обычного пользователя он не получит доступ к требуемому им сокету: возникнет ошибка вида
anon warn[pptp_gre_bind:pptp_gre.c:82]: socket: Operation not permitted
anon fatal[main:pptp.c:275]: Cannot bind GRE socket, aborting.
 
  • если не прописать полный путь к pptp, то при запуске из-под обычного пользователя он не будет найден: возникнет ошибка вида sh: pptp: command not found

      Спасибо всем, кто помогал.
      Последний вопрос:
      Какие именно права дает команда chmod u+s FILE?

     

    Страница сгенерирована за 0.051 секунд. Запросов: 23.