dil

Как всегда, загадочные грабельки. Нынче в Линуксе

Sep 05, 2019 09:22


Почему-то в ноутбуке ping перестал работать:

$ ping 192.168.1.15 ping: socket: Operation not permitted
Хотя от root’а и просто через sudo вполне работал. И с другой машины в этой сети вполне работал из моего account’а, не только от root. И даже со смартфона, зайдя в его консоль через JuiceSSH, тоже вполне работало.

Погуглил, нашёл вот такую команду ( Read more... )

полезности, linux, networking, debian, грабельки

Leave a comment

dmarck September 5 2019, 10:30:34 UTC
ping'у нужен raw socket, это привилегированная операция. раньше бинарник был suid root, теперь по каким-то причинам не.

Reply

dil September 5 2019, 19:16:12 UTC
Он у меня везде одинаковый. Там, где работал:

$ ls -l /bin/ping
-rwsr-xr-x 1 root root 36136 Apr 12 2011 /bin/ping

И там, где не работал, а сейчас работает, но свойства этого файла вовсе не поменялись:

$ ls -l /bin/ping
-rwxr-xr-x 1 root root 61240 Nov 10 2016 /bin/ping

Reply

alexkuklin September 5 2019, 20:10:15 UTC
ну как бы немного очевидно, что классическими unix-атрибутами оно нынче не ограничивается

n# getcap /bin/ping
/bin/ping = cap_net_raw+ep

Reply

dil September 7 2019, 16:36:35 UTC
Там, где не работал, getcap выдаёт такое же:

/bin/ping = cap_net_raw+ep

А где и раньше работал, там вовсе ничего не выдаёт:

# getcap /bin/ping
#

Reply

dmarck September 5 2019, 20:24:23 UTC
"s" у первого видишь? вот это оно в предыдущей модели. а в теперешней -- extended capabilities

Reply

dil September 7 2019, 16:31:56 UTC
Теперь вижу, но толком не понимаю, что это значит. Я там знаю только r, w, и x.
И раз он eXecutable для всех пользователей, то должен для всех работать от root'а, который owner.

Reply

dmarck September 7 2019, 16:39:58 UTC
s == suid, set effective UID to owner; s у группы -- sgeid, то же самое для effective GID. это более грубое средство выполнения привилегирочванных операцый, чем extended capabilities

Reply

dil September 7 2019, 20:33:04 UTC
В смысле, чтобы такой файл запускался не от самого пользователя, который его пытается запустить, а именно от root'а, который его owner?

Reply

dmarck September 7 2019, 20:54:33 UTC
dil September 11 2019, 14:52:23 UTC
Но где ping не работал, а после "setcap cap_net_raw=ep /bin/ping" теперь работает, s там и раньше не было, и сейчас нет, просто вполне обычные свойства: -rwxr-xr-x

Reply

byg October 30 2019, 17:32:58 UTC
раньше (до CAPABILITIES) это только через suid и могло работать. терь выбор есть.

Reply


Leave a comment

Up