Accesso in sftp ad utente su una sola cartella di www

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Scrivi risposta
Avatar utente
blengyo
Prode Principiante
Messaggi: 23
Iscrizione: venerdì 15 giugno 2007, 18:17

Accesso in sftp ad utente su una sola cartella di www

Messaggio da blengyo »

Ciao a tutti,
ho un server dedicato online con installato Ubuntu server 12.04.3, con accesso in ssh, che mi permette di tirare su qualche sitarello per prove e backup vari.
Attualmente mi collego solo io con la mia utenza, ma per una migliore gestione avrei piacere di avere un utente per ogni cartella all'interno di www, in modo che ogni sito abbia appunto la propria utenza e basta, senza permessi di accedere da nessuna altra parte. La cosa la faccio già con mysql ed è molto semplice..

Sapreste indicarmi come farlo? Vorrei disabilitare anche la shell, ed ho visto che non è un problema ( /bin/false), correggetemi se sbaglio.

Grazie a chi saprà aiutarmi, saluti!
Avatar utente
kimj
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1058
Iscrizione: sabato 13 settembre 2008, 11:45

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da kimj »

We no longer think of chairs as technology; we just think of them as chairs. But there was a time when we hadn't worked out how many legs chairs should have, how tall they should be, and they would often 'crash' when we tried to use them.
Avatar utente
blengyo
Prode Principiante
Messaggi: 23
Iscrizione: venerdì 15 giugno 2007, 18:17

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da blengyo »

Ciao e grazie. Ho guardato il link che mi hai consigliato, ma sinceramente non sono riuscito a fare molto.. penso di non avere le competenze necessarie.
Considerando che il server e il collegamento in ssh mi è stato dato già configurato dal fornitore ed io mi sono limitato ad installare l'ambiente lamp e ad utilizzare la cartella www... conviene che mi affidi a qualche pannello tipo plesk o cpanel? forse è piu facile e intuitivo gestire cartelle ed utenti così?
Avatar utente
blengyo
Prode Principiante
Messaggi: 23
Iscrizione: venerdì 15 giugno 2007, 18:17

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da blengyo »

.. e invece ce l'ho fatta. Terminate le procedure però non riesco a connettermi con l'utente creato, in quanto filezilla riporta l'errore

Risposta: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Googlando sembra che sia un baco di vsftpd, ed effettivamente pensandoci bene, un passaggio della guida l'ho saltato, proprio quello che parla di un baco... il passaggio è quando dice di installare queste librerie

apt-get install libgcc1 lib32gcc1 libx32gcc1 libpam-ldap

cosa che non riesco a fare in quanto mi riporta l'errore "Unable to locate package libx32gcc1". Decido di installare comunque tutte le librerie a parte questa "libx32gcc1".

Ad ogni modo, per aggirare il baco la soluzione che trovo è modificare il vsftpd.conf alla voce chroot_local_user=YES, mettendo NO, e lanciando un

chmod a-w /home/username

Ok ora si collega, però posso vedere tutte le cartelle del server.... mi redirecta subito nella corretta cartella all'interno di /www, ma poi posso tornare indietro e navigare ovunque! O ho sbagliato qualcosa, o non ha molto senso...
Avatar utente
kimj
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1058
Iscrizione: sabato 13 settembre 2008, 11:45

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da kimj »

scusa per il ritardo.
lascia pure "chroot_local_user=YES", ma imposta anche "allow_writeable_chroot=YES" e riprova
We no longer think of chairs as technology; we just think of them as chairs. But there was a time when we hadn't worked out how many legs chairs should have, how tall they should be, and they would often 'crash' when we tried to use them.
Avatar utente
blengyo
Prode Principiante
Messaggi: 23
Iscrizione: venerdì 15 giugno 2007, 18:17

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da blengyo »

e figurati, ci mancherebbe, grazie della risposta!
Dunque sull'attuale file /etc/vsftpd.conf il paramentro "allow_writeable_chroot=YES" non c'è. Ho provato ad aggiungerlo, impostando nuovamente "chroot_local_user" su YES, ma così facendo tentando di riconnettermi esce sta volta questo errore:

Stato: Tentativo di connessione non riuscito con "ECONNREFUSED - Connection refused by server".
Avatar utente
kimj
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1058
Iscrizione: sabato 13 settembre 2008, 11:45

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da kimj »

usando 'writable' al posto di 'writeable' funziona?

poi postare i log di vsftpd? (anche /var/log/messages)
We no longer think of chairs as technology; we just think of them as chairs. But there was a time when we hadn't worked out how many legs chairs should have, how tall they should be, and they would often 'crash' when we tried to use them.
Avatar utente
blengyo
Prode Principiante
Messaggi: 23
Iscrizione: venerdì 15 giugno 2007, 18:17

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da blengyo »

provato a scrivere writable, ma niente, anzi da un altro errore, non si connette proprio ( "ECONNREFUSED - Connection refused by server".)

Ora ho risettato con "chroot_local_user=YES", e chiaramente ritorna a darmi l'errore "Risposta: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()"

L'unica possibilità per ora per connettersi in ftp normale è impostare il valore su NO, e però avere i permessi per vedere tutto il server. :cry:
Allegati
vsftpd-conf.txt
conf
(1.61 KiB) Scaricato 77 volte
vsftpd.log
log
(28.89 KiB) Scaricato 71 volte
Avatar utente
kimj
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1058
Iscrizione: sabato 13 settembre 2008, 11:45

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da kimj »

imposta, per prova, sia chroot_local_user=YES che allow_writeable_chroot=YES e prova a riavviare vsftpd.

quanto al log, siccome fallisce l'avvio (suppongo il parsing della configurazione) di vsftpd, mi interessa il log globale (/var/log/syslog o /var/log/messages)
We no longer think of chairs as technology; we just think of them as chairs. But there was a time when we hadn't worked out how many legs chairs should have, how tall they should be, and they would often 'crash' when we tried to use them.
Avatar utente
kimj
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1058
Iscrizione: sabato 13 settembre 2008, 11:45

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da kimj »

ok, letto che usi ubuntu 12.04... la versione di vsftpd in ubuntu 12.04 ha introdotto il controllo aggiuntivo, ma NON SUPPORTA allow_writeable_chroot, introdotta in una versione successiva di vsftpd... http://askubuntu.com/questions/128180/v ... ter-update

sostanzialmente bisognerebbe usare un pacchetto di terze parti con il supporto aggiunto per allow_writeable_chroot.

oppure, si potrebbe lasciare chroot_local_user=YES, e fare in modo che la chroot dell'utente NON sia scrivibile, ma che determinate sottodirectory lo siano dallo stesso (ma non potresti creare file nella dir principale, per esempio).

o usare un altro server ftp, come proftpd, che comunque supporta gli utenti virtuali
We no longer think of chairs as technology; we just think of them as chairs. But there was a time when we hadn't worked out how many legs chairs should have, how tall they should be, and they would often 'crash' when we tried to use them.
Avatar utente
blengyo
Prode Principiante
Messaggi: 23
Iscrizione: venerdì 15 giugno 2007, 18:17

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da blengyo »

già provato doppio YES, e appunto l'errore di filezilla è "ECONNREFUSED - Connection refused by server".

ecco il syslog

PS: letto il tuo altro messaggio scritto mentre stavo scrivendo.

quindi forse mi conviene cambiare server ftp..? mi sembra assurda questa gestione dei permessi!!
Allegati
syslog.rar
syslog
(17.56 KiB) Scaricato 55 volte
Avatar utente
kimj
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1058
Iscrizione: sabato 13 settembre 2008, 11:45

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da kimj »

anche a me sembra assurdo, anzi, mi sembra ancora peggio che sia stata introdotta in ubuntu una versione che rompe la compatibilita' con le configurazioni passate, ma che si rifiutino di backportare la feature/opzione per risolvere il problema in quanto non si tratta di un bugfix ma di una nuova feature... io non userei ubuntu su un server, userei debian, centos od un bsd, viste che queste sono le politiche (e che molti bugreport sono ignorati).

in ogni caso, direi che, a meno di voler installare vsftpd da terze parti col supporto necessario (ppa:thefrontiergroup/vsftpd), sarebbe il caso di disinstallare vsftpd, eliminare l'utente e il db mysql, e rifare con proftpd: https://www.digitalocean.com/community/ ... untu-12-10

con proftpd, per confinare gli utenti virtuali nella directory che specifichi nel db devi usare "DefaultRoot ~" (c'e' anche HideNoAccess per non far listare dir/file a cui l'utente non ha accesso)

qui per la configurazione sftp: https://www.digitalocean.com/community/ ... ead-of-ftp

ricorda di fare in modo che i file scritti usino l'utente corretto per la documentroot/il server web: http://proftpd.org/docs/directives/link ... Owner.html
http://proftpd.org/docs/directives/link ... Owner.html

scusa per aver dato indicazioni sbagliate, e' parecchio tempo che non metto mano su server (ftp in particolare), mai fatto su ubuntu e non ero al corrente di questo dettaglio
We no longer think of chairs as technology; we just think of them as chairs. But there was a time when we hadn't worked out how many legs chairs should have, how tall they should be, and they would often 'crash' when we tried to use them.
Avatar utente
blengyo
Prode Principiante
Messaggi: 23
Iscrizione: venerdì 15 giugno 2007, 18:17

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da blengyo »

ma quali indicazioni sbagliate? mi hai solo aiutato a gestire una situazione :)

attualmente sto facendo un po di pratica per imparare a gestire un server web.. al momento dell'acquisto del cloud server ho optato per ubuntu in quanto lo "conosco" e pensavo di gestirlo meglio, ammetto di aver per un po valutato l'idea di usare CentOS ma alla fine ho desistito per non incontrare problemi. Inoltre avrei voluto utilizzare plesk, ma forse era meglio appunto avere più conoscenza con server ftp etc..

Meglio passare a CentOS? Che problemi potrei incontrare? Plesk lo considero o lascio perdere?
Avatar utente
kimj
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1058
Iscrizione: sabato 13 settembre 2008, 11:45

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da kimj »

i problemi che incontreresti con CentOS sono che, a meno di usare repository di terze parti come EPEL (ancora non pronti per *EL7), vi sono pochissimi pacchetti approvati da redhat. per esempio avresti apache ma non nginx o lighttpd.

direi che e' meglio continuare con ubuntu e semplicemente cambiare server ftp. per quanto abbia delle politiche (o manutentori) a volte ottusi: https://bugs.launchpad.net/ubuntu/+sour ... ug/1065714
qua scrivono che dopo un aggiornamento la configurazione di vsftpd e' diventata invalida a causa del controllo sulle chroot scrivibili, e viene chiesto al manutentore di backpoortare la feature risolutiva (allow_writeable_chroot). questo si rifiuta in quanto non ha voglia, ovvero "e' una feature non un bug" ed introdurne un'altra dopo il rilascio e' contro alla politica di ubuntu, in quanto "potrebbe introdurre nuovi bug" (nel frattempo gli utenti rimangono con le vecchie configurazioni inutilizzabili o sono costretti ad installare pacchetti mantenuti da chissa' chi con le conseguenza del caso).

con i pacchetti 'di nicchia' in ubuntu spesso si ottengono risposte simili segnalando i bug, su debian ci tengono molto di piu'. su centos, sono succubi delle decisioni di redhat ed in ogni caso, quel pacchetto mica l'hanno...

plesk lo eviterei, come tutti gli altri strumenti di gestione via web. hanno flessibilita' limitata, non impari come e cosa hai fatto, quando si verifica un problema non sai da dove iniziare a risolverlo perche' ha fatto tutto 'il tool' e sono generalmente pieni di bachi di sicurezza. se guardi i log di accesso, quasi tutte le scansioni automatiche cercano la presenza di strumenti come phpmyadmin, plesk, ispconfig ed altri strumenti di gestione punta e clicca accessibili via web, proprio perche' colabrodi e spesso non aggiornati.
cerca "zpanelcp joepie91" per esempio
We no longer think of chairs as technology; we just think of them as chairs. But there was a time when we hadn't worked out how many legs chairs should have, how tall they should be, and they would often 'crash' when we tried to use them.
Avatar utente
blengyo
Prode Principiante
Messaggi: 23
Iscrizione: venerdì 15 giugno 2007, 18:17

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da blengyo »

grazie di tutto direi. a seguito di problemi vari mi ritrovo ad avere il server piallato, e con sopra la versione 64bit di ubuntu server 13.04... dici che avrò lo stesso problema con questa release di ubuntu e vsftpd ?
El Berto
Prode Principiante
Messaggi: 69
Iscrizione: giovedì 12 gennaio 2012, 15:53

Re: Accesso in sftp ad utente su una sola cartella di www

Messaggio da El Berto »

Ciao a tutti, provo a chiedere a voi che sto letteralmente diventando matto.....

Sul PC ho 3 utenti:
- michele
- pi
- guest

Ho uno script che viene eseguito nel crontab di "michele", scrive dei files in una cartella che voglio sia comune a tutti gli utenti, quindi devo permettere la cancellazione dei files da chiunque.
Ho installato proftpd e la cartella "root" è /var/ftpservice; accedo tramite l'utente guest e inserendo relativa password.

La procedura che ho eseguito (cercando nelle varie discussioni) è la seguente:
1) creo gli utenti pi e guest
2) creo il gruppo ftpservice (x es. groupadd ftpservice)
3) creo la cartella di default /var/ftpserver/
4) aggiungo gli utenti pi, michele, guest al gruppo ftpservice (x es. usermod -a -G ftpservice guest)
5) chmod 777 /var/ ftpserver

A questo punto vado a copiarci sopra dei files con l'utente michele, ma accedendo con un client FTP non posso cancellarli, nè con l'utente pi, nè guest.
Dov'è che sbaglio?
Grazie.
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti