Po

Masz problemy z siecią bądź internetem? Zapytaj tu
am56
Posty: 1
Rejestracja: 17 grudnia 2007, 23:50

Połączenie działa dla roota, dla zwykłego usera nie (GPRS)

Post autor: am56 »

Problem już sam rozwiązałem :)
Rozwiązanie na końcu tekstu


Nie mogę uruchomić nawet prościutkiego skryptu do połączenia do Internetu przez telefon GPRS, bo na Debianie 4.0 Etch (nowiutka instalacja) są jakieś dziwne zabezpieczenia. Na Ubuntu to działa. Na Debianie skrypt uruchamia się dobrze jako root (łączę się z Internetem), ale jako zwykły użytkownik nie chce. Dodałem zwykłego użytkownika do grupy dip i dialout, wylogowałem się i zalogowałem ponownie.
W logach /var/log/syslog mam to:

Jako root działa dobrze:

Kod: Zaznacz cały

Dec 17 22:46:23 debian pppd[4603]: pppd 2.4.4 started by root, uid 0
Dec 17 22:46:24 debian chat[4604]: timeout set to 50 seconds
Dec 17 22:46:24 debian chat[4604]: abort on (BUSY)
Dec 17 22:46:24 debian chat[4604]: abort on (NO CARRIER)
Dec 17 22:46:24 debian chat[4604]: send (AT^M)
Dec 17 22:46:24 debian chat[4604]: timeout set to 70 seconds
Dec 17 22:46:24 debian chat[4604]: expect (OK)
(...)
Jako zwykły użytkownik nie:

Kod: Zaznacz cały

Dec 17 22:48:00 debian pppd[4647]: pppd 2.4.4 started by magda, uid 1000
Dec 17 22:48:01 debian pppd[4647]: Connect script failed
Dec 17 22:48:02 debian pppd[4647]: Exit.
Próbowałem wielu kombinacji, zmieniając atrybuty dla plików chat i pppd komendami typu
chmod 4777 /usr/sbin/chat
chmod 0777 /usr/sbin/chat
Nawet zmieniałem grupę tych plików np
chown :dip /usr/sbin/pppd

Możliwe, że nie sprawdziłem wszystkich kombinacji powyższych komend, ale chyba posprawdzałem te udostępniające maksymalną ilość uprawnień do odczytu i wykonywania dla wszystkich . Czy coś przeoczyłem, czy szukam w złym miejscu? Jak się Wam udaje uruchomić najprostszy skrypt do gprs na zwykłym użytkowniku ?? (na root działa Internet - łączę się)


Tak go próbuję uruchomić jako zwykły użytkownik (efekt w logach powyżej, uruchamia się tylko sam początek)
magda@debian:~$ /usr/sbin/pppd call gprs

Przy okazji dziwna rzecz - prostsza komenda wogóle nie działa:
magda@debian:~$ pppd call gprs
bash: pppd: command not found
To chyba dziwne, czy nie powinnien ten program pppd być odnajdowany w domyślnej ścieżce?
Gdy jestem root to działa ta krótka wersja:
debian:/home/magda# pppd call gprs
Ale to nie jest problemem bo jak pisałem używam dłuższej wersji :
magda@debian:~$ /usr/sbin/pppd call gprs

Oto dwa bardzo proste, typowe skrypty gprs:

plik gprs w /etc/pppp/peers

Kod: Zaznacz cały

connect    "chat -v -f /etc/ppp/peers/gprs-connect"
disconnect "chat -v -f /etc/ppp/peers/gprs-disconnect"
noauth
debug
crtscts
lock
novjccomp
nopcomp
defaultroute
noipdefault
usepeerdns
115200
/dev/ttyS0
user      "ppp"
password  "ppp"
plik gprs-connect w /etc/pppp/peers

Kod: Zaznacz cały

TIMEOUT 50
ABORT   'BUSY'
ABORT   'ERROR'
ABORT   'NO CARRIER'
''      AT
TIMEOUT 70
OK      'AT+CGDCONT=1,"IP","www.plusgsm.pl"'
OK      'ATDT*99***1#'
TIMEOUT 30
CONNECT ""


[ Dodano: 2007-12-18, 19:58 ]
Znalazłem sam rozwiązanie:
Tam mam wywołanie chat bez pełnej ścieżki
a jak widać zwykły user ma problem z uruchomieniem pppd i jak się okazało także chat jak nie poda pełnej ścieżki

Zmieniłem w skrypcie:
connect "chat -v -f /etc/ppp/peers/gprs-connect"
na
connect "/usr/sbin/chat -v -f /etc/ppp/peers/gprs-connect"

Większość skryptów gprs dostępnych w internecie ma formę którszą chat a nie /usr/sbin/chat
więc użytkownicy Debiana powinni zwracać uwagę na tą różnicę
ODPOWIEDZ