SELinux沒辦法執行socket? - Linux

Table of Contents

linux新手... 爬文、google都沒有答案所以想要上來問問

我架了一個簡單的Centos 5.x伺服器

並且想要學一下socket programming

因為一些考量,有使用SELinux

伺服器已經上線很久,基本上沒什麼問題

socket的部份則是剛剛開始...

在本機上執行(另外一台ubuntu電腦)下面網站的socket範例都沒問題
http://goo.gl/3PHD
(client 直接連到本機server: 127.0.0.1,互傳一些string這樣)

可是在伺服器上卻沒有辦法執行(也是直接連到127.0.0.1)

直覺上沒有檔案存取應該和SELinux沒有關係

但是除了SELinux之外,其他設定基本上都和令一台電腦沒有差異...

希望有大大可以給我些建議或想法

先謝了orz



補一下症狀:

server.c可以執行,執行後netstat -tunpl可以看到./server.c在監聽阜口

但是client.c卻沒有辦法被server.c接收到...

--

All Comments

Xanthe avatarXanthe2012-09-10
被SELinux擋了吧
Wallis avatarWallis2012-09-10
感謝回應,我猜也是被SELinux擋了
Blanche avatarBlanche2012-09-14
但是 server 和 client 的 security context 都設成一樣的
Gilbert avatarGilbert2012-09-18
再者 message 裡面也沒有 setroubleshoot 的東西@@
Carol avatarCarol2012-09-19
而且沒有檔案讀取,只是互傳而已... 這樣是被檔嗎?
Freda avatarFreda2012-09-20
會吧,SELinux總是黨一些很詭異的東西
Belly avatarBelly2012-09-24
setenforce 0 以後正常嗎?
Caroline avatarCaroline2012-09-27
謝謝lan大的建議!不過設成passive client還是連不到
這代表和SELinux無關囉?
Irma avatarIrma2012-09-30
不用SELinux,一般*nix就會擋非root的process bind <1024的
port,你覺得 SELinux 會更廢嗎?
Ingrid avatarIngrid2012-09-30
在*nix體系,file沒有比較特別,它也只是一種block device
Anonymous avatarAnonymous2012-10-03
socket則是character device