Necromancing.
Basit. Normal veya eski bir çekirdekli, sen yapmazsın.
Başkaları tarafından belirtildiği gibi iptables bir limanı iletebilir.
Başkalarının da belirttiği gibi, CAP_NET_BIND_SERVICE işi de yapabilir.
Elbette CAP_NET_BIND_SERVICE, programınızı bir betikten başlatırsanız başarısız olur, eğer kabuk tercüman kapağını ayarlamadıysanız, anlamsızdır, hizmetinizi root olarak çalıştırabilirsiniz ...
örneğin Java için uygulamanız gerekir. JAVA JVM'ye
sudo /sbin/setcap 'cap_net_bind_service=ep' /usr/lib/jvm/java-8-openjdk/jre/bin/java
Açıkçası, bu daha sonra herhangi bir Java programının sistem bağlantı noktalarını bağlayabileceği anlamına gelir.
Mono / .NET için Dito.
Ayrıca, xinetd'in fikirlerin en iyisi olmadığından eminim.
Ancak her iki yöntem de kesmek olduğundan, neden sadece kısıtlamayı kaldırarak limiti kaldırmıyorsunuz?
Kimse normal bir çekirdek çalıştırman gerektiğini söylemedi, o yüzden kendi işini kendin yapabiliyorsun.
En son çekirdeğin kaynağını (veya şu anda sahip olduğunuzla aynı) indirebilirsiniz. Daha sonra:
/usr/src/linux-<version_number>/include/net/sock.h:
Orada bu çizgiyi arıyorsun
/* Sockets 0-1023 can't be bound to unless you are superuser */
#define PROT_SOCK 1024
ve değiştirin
#define PROT_SOCK 0
Eğer güvensiz bir ssh durumuna sahip olmak istemezseniz, bunu şöyle değiştirirsiniz: #define PROT_SOCK 24
Genellikle, ihtiyacınız olan en düşük ayarı kullanırdım, örneğin http için 79 veya 25 numaralı bağlantı noktasında SMTP kullanırken.
Zaten hepsi bu.
Çekirdeği derleyin ve kurun.
Yeniden Başlatma.
Bitti - bu aptal limit GONE ve aynı zamanda scriptler için de geçerli.
İşte bir çekirdeği nasıl derlediğin:
https://help.ubuntu.com/community/Kernel/Compile
# You can get the kernel-source via package linux-source, no manual download required
apt-get install linux-source fakeroot
mkdir ~/src
cd ~/src
tar xjvf /usr/src/linux-source-<version>.tar.bz2
cd linux-source-<version>
# Apply the changes to PROT_SOCK define in /include/net/sock.h
# Copy the kernel config file you are currently using
cp -vi /boot/config-`uname -r` .config
# Install ncurses libary, if you want to run menuconfig
apt-get install libncurses5 libncurses5-dev
# Run menuconfig (optional)
make menuconfig
# Define the number of threads you wanna use when compiling (should be <number CPU cores> - 1), e.g. for quad-core
export CONCURRENCY_LEVEL=3
# Now compile the custom kernel
fakeroot make-kpkg --initrd --append-to-version=custom kernel-image kernel-headers
# And wait a long long time
cd ..
Kısacası, güvenli kalmak istiyorsanız iptables kullanın, bu kısıtlamanın sizi bir daha asla rahatsız etmeyeceğinden emin olmak istiyorsanız çekirdeği derleyin.