Utente regolare che utilizza porte inferiori a 1024

C'è un modo su Linux (Centos se questo è importnte) per consentire agli utenti normali di utilizzare porte inferiori a 1024? (aprire l'ascolto TCP di ascolto su quella port)

Attualmente mi rendo conto che solo la root ha i privilegi per utilizzare quelle porte.

  • Curl: distriggers la verifica del certificato
  • Devo preoccuparmi dell'integrità del mio software RAID5 di linux dopo un crash o un panico del kernel?
  • Tempi di ping intermittenti al router tramite Wi-Fi
  • Come raccogliere i log con syslog-ng da server www in dmz e inviarli al server dietro il firewall (NAT). Può il proxy di Zabbix risolvere questo problema?
  • Sintassi di Linux Bash: Significato di &&, \ e -
  • Il modo migliore per disabilitare lo scambio in Linux
  • Messaggi del log del kernel mdadm spiegati
  • Come chiudere forzatamente una presa in TIME_WAIT?
  • `GLIBC_2.7 'non trovato
  • Come distriggersre tutto in crontab -l?
  • Come eseguire la migrazione di un server DNS BIND a un nuovo hardware?
  • get Thunderbird rescan imap cartella
  • 6 Solutions collect form web for “Utente regolare che utilizza porte inferiori a 1024”

    Non su CentOS 3/4/5 (mancanza di funzionalità del filesystem):

    È ansible impostare la capacità CAP_NET_BIND_SERVICE al programma che deve aprire questa port. Root imposta la capacità sull'eseguibile, quindi qualsiasi utente può eseguire l'eseguibile, sarà in grado di utilizzare le porte <1024.

    Per impostare la funzionalità sull'eseguibile:

    setcap cap_net_bind_service=+ep /path/to/program 

    IIRC questo non è ansible, o se non è raccomandato per ragioni di sicurezza.

    Ma se si desidera che gli utenti possano ascoltare in una port specifica è ansible utilizzare sempre un forwarder TCP come regole rinetd o iptables per redirect le connessioni a quella port a una persona in grado di ascoltare e impostare il loro servizio per ascoltare quella port più alta .

    Ad esempio la linea

     aa.bb.cc.dd 80 127.0.0.1 8000 

    nella configuration di rinetd inoltrerebbe le connessioni alla port 80 sull'indirizzo aa.bb.cc.dd a localhost port 8000 che un utente non privilegiato può ascoltare. Una regola iptables equivalente sarebbe qualcosa di simile

     /sbin/iptables -t nat -A PREROUTING -p tcp -d aa.bb.cc.dd --dport 80 -j DNAT --to 127.0.0.1:8000 

    In entrambi i casi si ottiene un controllo granulometrico molto più fine di consentire ad each utente di ascoltare in qualsiasi port.

    L'approccio iptables ha il vantaggio che l'applicazione di ascolto vedrà l'indirizzo IP del client chiamante (con il metodo rinetd vedrebbe tutte le connessioni provenienti dall'host locale). Il metodo iptables consentirebbe anche UDP e TCP.

    È ansible creare un wrapper che esegue SUID e rilascia i privilegi dopo l'apertura della port.

    autenticare le rocce.

    le funzionalità sono grandi cose, ma necessita di configurare correttamente alcune versioni del kernel. alcuni programmi, come il sole java, non con capabilieis. authbind funziona in tutte le versioni linux.

    authbind, tuttavia, support solo IPv4.

    Sono totalmente fuori dal context, o mi manca qualcosa di fondamentale? http://smarden.org/runit/chpst.8.html & http://cr.yp.to/daemontools/setuidgid.html

    http://isptools.sourceforge.net/suid-wrap.html

    Questo farà tutto il lavoro per te.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.