[РЕШЕНО] ping: socket: Операция не позволена

Автор IlyaLinux, 03 июня 2020, 10:37:54

« назад - далее »

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

IlyaLinux

Здравствуйте, друзья!

Настраиваю общение новенького Debian Buster с другими компьютерами по локальной сети, но ничего не получается. Пробую разобраться, дал команду ping и был удивлен результатом.

$ ping 8.8.8.8
ping: socket: Операция не позволена

Cеть не трогал совсем. Успел только установить несколько программ и починить lightdm.

В интернетах (https://forum.lissyara.su/freebsd-unix-dlya-nachinayuschih-f53/jail-ping-socket-operation-not-permitted-t31390.html) указывают на некие клетки и рекомендуют

jail -m name=jailname allow.raw_sockets

Решил сначала проверить на виртуальной машине, но там ping отработал нормально. Значит я что-то сделал, вероятно, непреднамеренно.

Браузеры в интернет выходят, Remmina по VNC к компьютеру в локальной сети по имени подключается, но вот Double Commander подключаться по smb не хочет. На адрес в текущий путь

smb://some_pc

выдает: "Переход в каталог не удался!". Обычно это работает.
И, вот, ping, тоже, что-то непонятное пишет.

Подскажите, пожалуйста, это можно починить?

UPD: Под root'ом ping работает как надо, и гугл видит и локальный some_pc по имени.

IlyaLinux

Сеть в Double Commander заработала после

sudo apt install gvfs-backends

gardarea51

Вот что по поводу подобного вывода от пинга пишут.
Ссылка

IlyaLinux

Смотрите какое тут дело.

Выполняем на виртуальной машине и все работает.

qwerty@debian:~
$ ls -al $(which ping)
-rwxr-xr-x 1 root root 69368 янв 14 02:29 /usr/bin/ping
qwerty@debian:~
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=63 time=16.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=63 time=16.10 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=63 time=16.10 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=63 time=16.9 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 14ms
rtt min/avg/max/mdev = 16.864/16.942/16.985/0.048 ms
qwerty@debian:~
$


Выполняем на железной машине и не работает.

ilya@gamer:~
$ ls -al $(which ping)
-rwxr-xr-x 1 root root 69368 янв 14 02:29 /usr/bin/ping
ilya@gamer:~
$ ping 8.8.8.8
ping: socket: Операция не позволена
ilya@gamer:~
$

Права у файлов одни и те же, бит SUID нигде не заполнен.

endru

Рабочее окружение, дополнительные настройки selinux и тд. Это всё нужно учитывать.

gardarea51

Хмм... иинтересно.
Может заданы какие-то дополнительные права?
# getfacl <file/dir>

IlyaLinux

Цитата: gardarea51 от 04 июня 2020, 07:54:10Может заданы какие-то дополнительные права?
Вроде бы нет.
Виртуальная машина:

root@debian:~# getfacl $(which ping)
getfacl: Removing leading '/' from absolute path names
# file: usr/bin/ping
# owner: root
# group: root
user::rwx
group::r-x
other::r-x


Железная машина:

root@gamer:~# getfacl $(which ping)
getfacl: Removing leading '/' from absolute path names
# file: usr/bin/ping
# owner: root
# group: root
user::rwx
group::r-x
other::r-x


Друзья, проверьте, может еще у кого ping настроен по-умолчанию (без бита SUID) и работает?

IlyaLinux

Цитата: endru от 04 июня 2020, 04:57:42Рабочее окружение
Странно, ping можно использовать вообще не устанавливая DE.

Цитата: endru от 04 июня 2020, 04:57:42дополнительные настройки
Очень может быть. Но пока неясно как общее направление превратить в конкретные проверки. )

Цитата: endru от 04 июня 2020, 04:57:42selinux
Систему явно не задействовал. Можно как-то проверить ее функционирование?

IlyaLinux

Цитата: gardarea51 от 03 июня 2020, 14:27:53Ссылка
А как вы сделали чтобы ссылка была не только кликабельной, но и имела псевдоним?

endru

Цитата: gardarea51 от 04 июня 2020, 07:54:10Может заданы какие-то дополнительные права?
Код: [Выделить]
# getfacl <file/dir>
если есть дополнительные права, команда ls покажет знаком +.

gardarea51

Цитата: IlyaLinux от 04 июня 2020, 10:20:29А как вы сделали чтобы ссылка была не только кликабельной, но и имела псевдоним?
Даблклик по слову - оно выделяется, затем щелкаю на кнопку "гиперссылка", слева и справа от слова появляются квадратные скобки с "url", в левой части после "url", но до закрывающей скобки ставлю знак "=" и далее вставляю нужную ссылку. Все, она при отправке сообщения преобразуется в "слово-ссылку".

IlyaLinux

Вчера вечером проделал эксперимент. Забекапился с помощью tar, откатился к 1-му дню (когда система была чиста, как слеза младенца и ни одного пакета еще не было установлено и lightdm не стартовал) и попробовал ping'ануть - не сработало. Какие-то еще эксперименты придумать не получается, пусть будет бит SUID. И объяснить почему виртуалка пингует "из коробки" тоже не могу. )

ЗЫ. Бекап делал с полностью рабочей системы, но после восстановления Lightdm снова отказался стартовать. Тема до конца не раскрыта.

komandor

У меня возникла такая же проблема. Сделал через SUID, но товарищ по работе подсказал, что правильнее делать через capabilities (см. man capabilities) - а я и не знал про такое в Linux.
В общем, суть в том, что для пинга нужен доступ к сырым сокетам, для этого устанавливаем соответствующую возможность на файл /usr/bin/ping:

sudo setcap CAP_NET_RAW+p ping

Вместо '+p' можно попробовать '+e' или '+i'. А вообще, раз в виртуалке работает, посмотрите, какие там для ping установлены возможности командой:

sudo getcap ping

И в Бастере в команде setcap используйте эту опцию, полученную из виртуалки.
Почему не заработало из коробки, не знаю. Лично я ставил систему из другого линукса дебутстрапом, может поэтому какие-то скрипты postinst не отработали, которые ставят возможности командой setcap?

IlyaLinux

komandor, в точку! Я тоже о таком не знал.
Виртуальная машина:

qwerty@debian:~
$ ls -al $(which ping)
-rwxr-xr-x 1 root root 69368 янв 14 02:29 /usr/bin/ping
qwerty@debian:~
$ sudo getcap $(which ping)
/usr/bin/ping = cap_net_raw+ep


Железная машина:

ilya@gamer:~
$ sudo chmod -s $(which ping)

ilya@gamer:~
$ ls -al $(which ping)
-rwxr-xr-x 1 root root 69368 янв 14 02:29 /usr/bin/ping

ilya@gamer:~
$ sudo getcap $(which ping)

ilya@gamer:~
$ sudo setcap cap_net_raw+ep $(which ping)

ilya@gamer:~
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=106 time=15.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=15.4 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=106 time=15.4 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=15.4 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 15.353/15.372/15.414/0.024 ms


Все работает! Большое спасибо!

ЗЫ. Получается при разархивации tar ломается не только lightdm, но и cap'ы. Подскажите, о них можно где-то почитать?

gardarea51

Интересно.. я вот тоже не знал о таких вещах.