Mam zainstalowane Ubuntu 12.04, nic nie zmieniane przy uprawnieniach, standardowo stworzony jeden użytkownik przy instalacji systemu.
Mam zainstalowany program Eclipse, w którym programowałem aplikacje sieciowe w języku C. Program Eclipse zainstalowany przez centrum oprogramowania, też bez żadnych modyfikacji.
Dzisiaj Eclipse mi się zawiesił przy zamykaniu projektu, w końcu zabiłem jego proces i od tej pory nie mogę otwierać w nim funkcji socket jako sock_raw.
Przykładowy kod:
Kod: Zaznacz cały
s_out = socket(AF_PACKET, SOCK_RAW, ETH_P_ALL);
if (s_out == -1)
{
printf ("Nie moge otworzyc gniazda s_out\n");
}
Kod: Zaznacz cały
s_out
Kod: Zaznacz cały
-1
Kod: Zaznacz cały
SIOCGIFINDEX: Bad file descriptor
Myślę, że nadpisały się uprawnienia jakiegoś pliku ale nie mam pojęcia jakiego.
W internecie znalazłem wiele informacji o tym, że sock_raw zadziała tylko uruchamiany z konta roota i owszem działa. Jednakże, tak jak napisałem wcześniej, wszystko również działało mi na koncie zwykłego użytkownika i chciałbym aby dalej tak było.
Pozdrawiam.