SElinux hatası: ValueError: tcp / 5000 bağlantı noktası zaten tanımlanmış


14

5000 bağlantı noktasındaki apache için SELinux'a bir istisna eklemeye çalışıyorum.Bu yüzden komutu kullandım:

 # semanage port -a -t http_port_t -p tcp 5000

Ancak hatayı döndürür,

ValueError: Port tcp/5000 already defined

Bu komutla böyle olup olmadığını kontrol etmeye çalıştım:

semanage port -l |grep 5000

çıktı veren,

http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000

Gördüğünüz gibi 5000 listede yok.

Kaçırdığım açık bir şey var mı? Çabanız için şimdiden teşekkür ederim

Böylece başka bir hizmetin 5000 numaralı TCP bağlantı noktası için tanımlanmış bir duruma sahip olduğunu buldum.

Ancak, değiştir -aseçeneğini ile -mdeğiştirerek, tcp port 5000'ihttp_port_t

Yanıtlar:


29

Böylece başka bir hizmetin 5000 numaralı TCP bağlantı noktası için tanımlanmış bir duruma sahip olduğunu buldum.

Ama değiştirerek -aile seçeneği -mDeğiştirme ve ilave tcp port 5000etmekhttp_port_t

Böylece çalışan komut şuydu:

# semanage port -m -t http_port_t -p tcp 5000

10

Elimde olan sistemlerde (C6, C7 ve F24), tcp port 5000'in SELinux bağlamı vardır commplex_port_t. Bu yüzden eklemeye çalıştığınızda hata mesajını alıyorsunuz

/usr/sbin/semanage: Port tcp/5000 already defined

Dan tcp portu 5000 bağlamını değiştirmek için commplex_port_tiçin http_port_t-m kullanmanız gerekecektir senin | --modify anahtarı

-m, --modify     Modify a OBJECT record NAME

yani

semanage port -m -t http_port_t -p tcp 5000

ne istersen yapmalısın

semanage port -l | grep 5000
http_port_t                tcp      5000, 80, 81, 443, 488, 8008, 8009, 8443, 9000

Evet, teşekkür ederim, ihtiyacım olanı yaptı. Bir blogun yorum bölümündeki yanıta meslektaşımın da yardımıyla tökezledim :)
panickedprocrastinator
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.