Z mojego doświadczenia wynika, że nieuprzywilejowany użytkownik nie może uzyskać dostępu do gniazda unix, którego nie posiada bez zestawu bitów x. Co dokładnie robi ten bit? Dzięki
linux
permissions
unix-sockets
Владимир Тюхтин
źródło
źródło
0644
oznacza po prostu uprawnienia do odczytu dla członków grupy i „innych”, więc tylko właściciel będzie mógł uzyskać dostęp do gniazda (ponieważ uprawnienie do zapisu to kontroluje).0666
, lub tak0222
jak pozwolenie na odczyt nie jest potrzebne, wystarczyłoby, aby dać dostęp wszystkim. Ale zamiast dawać wszystkim uprawnienia, zastanowiłbym się nad użyciem grup, aby umożliwić dostęp.Odpowiedzi:
Nic, jak widzę.
Linux strona man UNIX (7) mówi, że uprawnienia katalogu zawierającym gniazdo stosuje się normalnie (czyli trzeba
+x
na/foo
celu połączyć/foo/sock
, a+w
na/foo
celu stworzenie/foo/sock
) i że zapis Kontrola uprawnień łączące do samego gniazda:Najwyraźniej niektóre inne systemy zachowują się inaczej:
unix(4)
na FreeBSD opisuje podobne wymagania. Strona podręcznika systemu Linux nie powiedziała, czy dostęp do gniazd w niektórych systemach ignoruje również uprawnienia do katalogu .Usunięcie
x
bitu z gniazda wydaje się dawać inny błąd przy próbie wykonania gniazda, ale nie jest to duża praktyczna różnica:(
w
Testowałem również, że rzeczywiście tylko ten bit wydaje się mieć znaczenie dla uzyskania dostępu do gniazda w Linuksie Debiana 4.9.0.)Być może gniazda, które miałeś na myśli, usunęły wszystkie bity uprawnień od użytkownika, czy masz na myśli
x
bit w katalogu?źródło