getsockopt()
elde edilebilir parodiunix soket (dosya sistemi priz) (kök gibi) akran kimlik bir (uyumlu) yolu, seçenek SO_PEERCRED
var mı?UNIX soketleri: getsockopt() SO_PEERCRED'i taklit etmek mümkün mü?
Arka plan: I SO_PEERCRED
aracılığı bağlanır işlemin UID
kontrol eden bir sunucu uygulaması (I değiştiremez olan) bağlanması gereken
. Ben de, root olarak uygulamaya için bağlamak edebilmek için bilgiyi taklit etmek istiyorum.
GÜNCELLEME
soru netleştirmek için:
Ben sunucusu belirli bir eş UID
/GID
gördüğü bir invazif olmayan bir şekilde arıyorum. Çözümler çekirdek değiştirmek (veya çekirdek modüllerinin kullanımını yapmaya) veya hangi veya onun yükleme/herhangi bir şekilde süreci bağlama (LD_PRELOAD
, sistem çağrı interceptions vs.) sunucu işlemini değiştirir gerekir vazgeçilmiştir. Herhangi bir özel gereksinimleri olmadan sunucuya (veya genel unix) Herhangi linux çalışırken
Eğer root'unuz varsa, neden sadece 'setuid' değil? Bunu tam kontrollü çocuk süreçlerinden yapabilirdiniz, böylece ayrıcalığı kaybetmekten kaçınabilirsiniz. – nneonneo
Emin değilim, ancak Linux altında,/proc//fdinfo/ 'da sekizlik bir değer öneki bayraklar var. –
alk
Sunucu işleminin başlatılmasını kontrol edebilir misiniz, örneğin, bildirilen kimlik bilgilerini değiştirmek için kütüphane işlevini/sistem çağrısı içeriğini değiştirmek için bir LD_PRELOAD kullanabilir misiniz? –