Server FTP su Mac OS con account dedicati…
Il Mac OS tra le tante risorse dispone di un bel server FTP (lukemftpd) che teoricamente può essere usato solo utilizzando gli account utente di sistema, mentre in pratica con un po` di creatività possiamo “bypassare” il problema creando degli account dedicati per accedere esclusivamente alle cartelle FTP.
Step 1: shell FTP
Come primo passo creiamo una shell FTP utilizzando il Terminale:
$ sudo ln -s /sbin/nologin /sbin/ftplogin dopodiché la aggiungiamo all’elenco delle shell di sistema:
$ sudo nano -w /etc/shells aggiungiamo in coda all’elenco una nuova riga in cui scriveremo:
/sbin/ftplogin (vi ricordo che l’edito nano ammette diversi shortcut tra i quali CTRL+O per salvare e CTRL+X per uscire).
Step 2: limitare l’utente
Affinché gli utenti che creeremo non possano spostarsi in cartelle diverse dalla propria utilizziamo un file ftpchroot:
$ cd /etc se il file non esiste dobbiamo crearlo:
$ ls ftpchroot
$ sudo touch ./ftpchroot per poi modificarlo:
$ sudo nano -w ./ftpchroot All’interno del file dobbiamo specificare il nome di un utente che vogliamo far accedere al server (il consiglio è quello di utilizzare solo lettere minuscole ed evitare segni che non siano, al massimo, l’underscore).
Step 3: creare un account
Per creare un account è necessario aprire le “Preferenze di Sistema” e quindi la sezione “Account”. Dopo aver sbloccato il pannello cliccando sul lucchetto bisogna cliccare sul segno “+” ed aggiungere il nuovo account: dal menu a tendina selezionate il tipo “Solo condivisione”, quindi impostate le altre opzioni come meglio credete. Fate solo attenzione alla password: trattandosi di un “servizio” offerto in rete è opportuno che sia poco intuibile. Personalmente ricorro al generatore di password, accessibile cliccando sul simbolo a forma di chiave vicino alla casella di testo della password. È implicito che bisogna dare all’account lo stesso nome utente specificato nel file /etc/ftpchroot.
Dopo aver creato l’account, comparirà nell’elenco degli utenti: con il tasto destro è possibile accedere alle opzioni avanzate.
Personalmente ho trovato più corretto iniziare una nuova “serie” di identificativi utente, pertanto ho assegnato all’utente creato l’ID 601. Prendete nota anche dell’identificativo di gruppo (nel mio caso 20). Nel campo “Shell di login” ho inserito manualmente /sbin/ftplogin. Come “Cartella di inizio” ho specificato manualmente il percorso di una directory in /Users (ad esempio /Users/<nome_utente>): sarà l’unica cartella accessibile con questo utente.
Step 4: creiamo la cartella utente
Dopo aver chiuso la finestra delle preferenze abbiamo bisogno di un Terminale. Al prompt specifichiamo:
$ cd /Users
$ sudo mkdir <nome_utente>
$ sudo chown 601:20 ./<nome_utente>
$ sudo chmod 777 ./<nome_utente>
Prestate attenzione all’aggiornamento #2 in fondo alla pagina!
Riavviate la macchina e verificate che tutto funzioni correttamente!
Aggiornamento #1 (26.04.09)
Se il vostro Mac è posto dietro router/firewall che instradano la connessione via NAT, potrebbero crearsi dei problemi giacché il server FTP del Mac si identificherà con il suo IP nella subnet piuttosto che con quello pubblico. Per ovviare a questo problema creiamo il file ftpd.conf nella cartella /etc (ovviamente sempre da linea di comando), ad esempio digitando:
$ sudo nano -w /etc/ftpd.conf
all’intero scriveremo:
advertise all <mio_host>
dove <mio_host> deve essere sostituito dall’indirizzo IP esterno o dal nome host: nel mio caso ho utilizzato l’URL registrato presso DynDNS.org.
Aggiornamento #2 (27.05.09)
Se intendete utilizzare questi account FTP per creare altrettanti siti web con accesso personale sarà opportuno creare le cartelle degli utenti (che costituiranno il DocumentRoot dei siti) nella cartella /Users/<vostro_utente>/Sites, dove <vostro_utente> non è il nome dell’utente FTP, ma quello del vostro account sul Mac che utilizzate normalmente per accedere! Creando le cartelle in altre posizioni rischiate di “impelagarvi” in una serie infinita di problemi di permessi che vi porteranno a visualizzare l’errore “Accesso Negato / Forbidden” ogni volta che aprite uno dei siti configurati in Virtual Host.
Articoli correlati:
- Web-Server su Mac Mini: Virtual Hosting
- Development web-server con Ubuntu (3/3)
- Development web-server con Ubuntu (2/3)
Taggato con: FTP • ftpchroot • lukemftpd • Mac OS
Archiviato in: Mac OS • Networking • Web-development
Ti è piaciuto questo articolo? Iscriviti ai miei feed RSS per saperne di più!

Trackbacks/Pingbacks