Ceci n'est pas un blog

Blog personale di Ivan Agliardi con pagine di informatica, linguaggi, idee…

Usare git su ISPConfig3: il problema della directory .ssh

Usare git su ISPConfig3: il problema della directory .ssh

Oggi abbiamo messo la testa su un problema che si è verificato cercando di pubblicare un progetto in Laravel, problema che è risolvibile in pochi minuti ma che potrebbe far perdere un sacco di tempo a chi non ne è al corrente – e quindi ci piace condividerlo qui 🙂

Stavamo cercando di clonare in locale il codice che sta sul repository mediante git ed utilizzando un utente shell appositamente creato con ISPConfig, senza alcuna restrizione e senza chroot: un normalissimo utente shell, di quelli che si usano per dare un accesso SSH al dev che lavora su quel singolo progetto oppure per permettere al cliente di accedere mediante SFTP al proprio hosting.

Lanciando il comando git clone abbiamo ottenuto un messaggio inaspettato:

Il problema è stato quasi subito chiaro: il client git riteneva che la home dir dell’utente in uso, che a titolo di esempio chiamiamo utente_in_uso, fosse

quando invece è

Sorvoliamo sulle ragioni tecniche di questo misunderstanding – che comunque è imputabile ad un bug di ISPConfig – e passiamo subito alla soluzione: bisogna fare in modo che entrambi i punti di vista coincidano, creando un link simbolico tra la vera home dir e quella presupposta da git. In parole povere, basta accedere come root e lanciare questo comando:

Al primo tentativo però l’operazione fallisce con un bellissimo errore di Permission Denied: vi sembrerà impossibile, ma nemmeno root è autorizzato a creare un file nella posizione indicata dal comando.

La causa di questa anomalia sta nel fatto che ISPConfig protegge le directory con struttura

impedendo a chiunque – root compreso – di crearvi file o subdirectory.

E’ sufficiente ripetere l’operazione rimuovendo temporaneamente questa limitazione per poi ripristinarla immediatamente dopo avere creato il link simbolico di cui abbiamo bisogno:

Ora possiamo procedere con la clonazione da repository in locale mediante git clone.

A proposito di Ivan Agliardi

Ho immaginazione e creatività, ma non sono un artista. Faccio interagire tra loro aziende dando vita a nuove imprese, ma non sono un imprenditore. Mi occupo da oltre 15 anni di server Linux, applicazioni web, database, domini, hosting, housing, sicurezza informatica e sistemi embedded, ma non sono un tecnico. Faccio SEO, SEM, SMM e fornisco contenuti attraverso i miei copyrighter, ma non sono un uomo marketing. Ora ho di nuovo un blog, ma non sono un blogger. Sono solo un umanista e un informatico della prima ora. E mi circondo di gente con le palle :)

Un comment su “Usare git su ISPConfig3: il problema della directory .ssh”

  1. Claudio

    un po’ criptico ma ci sono i comandi che mi servivano e quelli li capisco bene, in effetti ho avuto anche io lo stesso problema e avevo lasciato perdere ma leggendo il tuo post ho capito cosa non andava grazie

    Reply

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ivan Agliardi

Ivan Agliardi