Inviato da Matteo Mattei / 10th giugno 2011
Qualche giorno fa ho speso un pò di tempo per provare a ridimensionare una macchina virtuale con sopra Ubuntu 11.04 con la partizione di root formattata con il filesystem EXT4.
Il problema principale è che la versione attuale di VMware tools (8.4.6, build-385536) non supporta lo shrink su filesystem ext4. se infatti digitate sudo vmware-toolbox, la vostra partizione di root è formattata in ext4 e provate ad eseguire uno shrink, otterrete un messaggio di errore di questo tipo.

Tuttavia c’è un trucco per snellire l’immagine vmdk finale.
Eseguite questo comando da dentro la shell del sistema guest:
sudo dd if=/dev/zero of=/zero.raw bs=20480
rm -f /zero.raw
Poi, spengete la macchina virtuale e scaricate il tool vdiskmanager da VMware website.
A questo punto eseguite vmware-vdiskmanager con il parametro -k:
vmware-diskmanager.exe -k /path/to/image.vmdk
Questa operazione prenderà un pò di tempo ma alla fine otterrete un’immagine vmdk considerevolmente più piccola.
Inviato da Matteo Mattei / 4th febbraio 2011
Sono solito configurare vsftp come FTP server sui web server per permettere un accesso FTP sulla base del nome a dominio. Qualche giorno fa un mio cliente mi ha chiesto di creare multipli utenti ftp per un singolo dominio, ognuno con una root differente all’interno dello stesso dominio.
Questa è sempre stata la configurazione base di vsftpd (/etc/vsftpd.conf) che utilizzo:
listen=YES
anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
connect_from_port_20=YES
xferlog_enable=YES
pam_service_name=vsftpd
guest_enable=YES
guest_username=www-data
user_sub_token=$USER
local_root=/var/www/$USER
chroot_local_user=YES
hide_ids=YES
force_dot_files=YES
ftpd_banner=Welcome to my private FTP service.
local_umask=022
e questo è il mio /etc/pam.d/vsftpd
auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd
account required pam_permit.so
La prima volta ho creato il file /etc/ftpd.passwd in questo modo:
htpasswd -c -d -b /etc/ftpd.passwd domain1.com <password>
Per gli utenti futuri, semplicemente va evitato il parametro ‘-c’:
htpasswd -d -b /etc/ftpd.passwd domain2.com <password>
Con questa configurazione tutti gli utenti hanno le seguenti credenziali:
- host: domain1.com
- username: domain1.com
- password: password
- port: 21
- Root folder: /var/www/domain1/
Adesso il punto è: come possiamo creare utenti multipli per un singolo dominio e ognuno con una cartella root diversa?
La risposta è abbastanza semplice, seguitemi!
Create la directory /var/www/users e aggiungete la seguente linea alla fine di /etc/vsftpd.conf:
user_config_dir=/var/www/users
All’interno della directory /var/www/users create un file per ogni utente virtuale (per esempio per l’utente user1.domain1.com) contenente una linea con la directory base per quell’utente:
echo "local_root=/var/www/domain1.com/pub/user1" > /var/www/users/user1.domain1.com
Adesso aggiungete il nuovo nome utente e password al file /etc/ftpd.passwd come al solito:
htpasswd -d -b /etc/ftpd.passwd user1.domain1.com <password>
Riavviate il demone vsftpd e testate la vostra nuova configurazione!