Da anni sono un utente felice di un certo servizio di hosting, per vari motivi.

Primo, sono open-source friendly. Nel senso che usano software libero, contribuiscono allo sviluppo di quel che usano e supportano la gente che supporta l’open source, come ruby-it o ziobudda .

Secondo, ho il supporto via jabber di una persona (roberto) che conosco di persona :)

Terzo, sono una manica di hacker, nel senso positivo del termine. Il vero motivo per cui su unbit è possibile usare Camping o Django, si ha disposizione mercurial, e si può accedere al pannello di controllo tramite XMP-RPC è perché è fico, non perché ci sia un grosso mercato.

Ma essendo una manica di hacker hanno anche i tipici difetti di relazione col mondo, ad esempio una homepage inaccessibile.

Tutto questo per parlarvi di uidbind, che è un modulo kernel per linux che permette di impostare permessi di accesso granulari a specifiche porte TCP/UDP.

L’amministratore può, tramite un albero di directory configfs, selezionare alcune porte e rendere possibile solo all’utente X di effettuare una bind() su di esse, il che ha un grosso potenziale per evitare che si crei casino.

Mettiamo che si permetta agli utenti di lanciare dei server (esempio: mongrel, o tomcat). Il default è che gli utenti comincino a pestarsi i piedi a vicenda, andando ogni volta a occupare le porte altrui e forzando un algoritmo distribuito di “ti frego la porta o devo modificare le configurazioni” che è decisamente sgradevole.

Con uidbind è possibile assegnare ad ogni utente una porta e far si che usi sempre e solo quella e che nessun altro abbia la possibilità di usarla, in nessun modo.

Il modulo ha anche il potenziale di eliminare quella vecchissima eredità di UNIX per cui le prime 1024 porte sono riservate a root. La ragione, all’epoca, era che si voleva evitare che un utente potesse effettuare l’hijack di servizi trusted (esempio: telnet o http), ma l’effetto collaterale è che ancora oggi tutti i servizi classici devono partire inizialmente come root.
Facendo si che l’accesso alle porte sia gestito in modo granulare sarebbe possibile riservare le prime porte a root e poi, caso per caso, riassegnarle ad utenti specifici come httpd o smtpd, superando finalmente limitazioni vecchie di decenni.

Ora vabè che il modulo è ancora in betamm ma guardate la pagina di uidbind. Neanche un po’ di auto-esaltazione porca miseria!