LINUX.ORG.RU

Ошибка открытия сокета.


0

0

Доброго дня.
Вот кусок программы trafshow, 

static int open_packet_socket()
{
        int fd;
        fd = socket (AF_INET, SOCK_PACKET, htons(ETH_P_ALL));
        if (fd < 0) {
                error("open");
        }
        return fd;
}

который вызывает ошибку:
localhost@localdomain $ trafshow
open: Operation not permitted
   
    Причем с той же ошибкой возвращается, запущенной из-под рута.
Не так давно эта же программа запускалась и работала от имени 
обычного пользователя. Что произошло? Или куда мне смотреть?

> Не так давно эта же программа запускалась и работала
> от имени обычного пользователя.

net/packet/af_packet.c: packet_create()
        if (!capable(CAP_NET_RAW))
                return -EPERM;

что-то с этими capability, видимо. какие-то
security модули включены?

idle ★★★★★
()

кстати, она точно под обычным пользователям
работала, или бинарник setuid был?

idle ★★★★★
()
Ответ на: комментарий от idle

кстати, она точно под обычным пользователям
работала, или бинарник setuid был?

Это я прогнал, конечно.
ls -l trafshow
-rwsr-sr-x 1 seb users 20188 Мар 12 16:55 trafshow
как стоял s так и стоит.
от того под обычным пользователем и пускалась.
а щас - нет :(

seb
() автор топика
Ответ на: комментарий от idle

Модули не включены, стандартный kernel-2.4.25.
Разве только mars cipher + loop патченный используются, но на сетевую подсистему это влиять не должно.
lsmod
sd_mod 10240 0 (autoclean) (unused)
sg 25024 0 (autoclean)
nls_cp866 3872 0 (autoclean)
nls_koi8-r 3888 0 (autoclean)
smbfs 38448 0 (autoclean)
floppy 46992 0 (autoclean)
sr_mod 13136 0 (autoclean)
ppp_async 6704 1 (autoclean)
vmnet 19200 1
vmmon 23600 0
ppp_generic 17856 3 (autoclean) [ppp_async]
slhc 4448 1 (autoclean) [ppp_generic]
ipchains 41120 98
sb 7376 0
sb_lib 33392 0 [sb]
uart401 6160 0 [sb_lib]
sound 54560 0 [sb_lib uart401]
soundcore 3856 4 [sb_lib sound]
ne2k-pci 4416 1 (autoclean)
8390 6464 0 (autoclean) [ne2k-pci]
crc32 2832 0 (autoclean) [8390]
ide-scsi 8944 0
ide-cd 28480 0
cdrom 27168 0 [sr_mod ide-cd]
usb-storage 31888 0 (unused)
scsi_mod 86176 4 [sd_mod sg sr_mod ide-scsi usb-storage]
usb-uhci 22176 0 (unused)
usbcore 57920 0 [usb-storage usb-uhci]
parport_pc 14000 0
parport 24320 0 [parport_pc]

может vmware модули сломали все? Но этого раньше не замечал. Вроде
после загрузки vmware и trafshow запускался.
И еще момент... Все произошло не после перегрузки а в процессе
работы. Через несколько дней работы системы, я заметил, что trafshow
не пускается.

seb
() автор топика
Ответ на: комментарий от seb

> -rwsr-sr-x 1 seb users 20188 Мар 12 16:55 trafshow

теперь понятно, почему и от рута не работает.
chown root trafshow; chmod u+s trafshow
если нужно от обычного пользователя, или
снимите этот бит если только от рута.

idle ★★★★★
()
Ответ на: комментарий от idle

Спасибо, заработала.
я даже понял почему:)
правда не сразу

seb
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.