l’obiettivo è quello di configurare degli utenti che possano accedere in ssh senza uscire dalla loro home.
Devono poter pubblicare i loro file, quindi i virtual host punteranno a tali home directory
syna@serverweb-prod:/home$ aptitude show openssh-server
Pacchetto: openssh-server
Stato: installato
Installato automaticamente: no
Versione: 1:5.1p1-6ubuntu2
root@serverweb-prod:/etc/apache2/mods-enabled# aptitude show apache2
Pacchetto: apache2
Stato: installato
Installato automaticamente: no
Versione: 2.2.12-1ubuntu2.2
utilizziamo il mod_userdir di apache per pubblicare i files presenti nelle directory pubbliche di ogni utente…
root@serverweb-prod:/# a2enmod userdir
Enabling module userdir.
Run '/etc/init.d/apache2 restart' to activate new configuration!
root@serverweb-prod:/etc/apache2/mods-enabled# /etc/init.d/apache2 restart
* Restarting web server apache2 ... waiting [ OK ]
Utilizzo le features di SSH per effettuare la jail…
Linked sftp-server into sshd. The internal sftp server is used when the command “internal-sftp” is specified in a Subsystem or ForceCommand declaration. When used with ChrootDirectory, the internal sftp server requires no special configuration of files inside the chroot environment.
Verranno imprigionati tutti gli utenti che appartengono al gruppo sftp
# groupadd sftp
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
# Deve essere in coda al file di configurazione
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
aggiungere come al solito gli utenti con il comando adduser :
# adduser walter
Aggiungiamo il nuovo utente al gruppo sftp
# usermod -G sftp walter
Disabilitiamo la shell
# usermod -s /bin/false walter
NB: l’home directory deve appartenere a root altrimenti internal-sftp non puo’ funzionare correttamente
# chown root:root /home/walter
# chmod 0755 /home/walter
sarà sufficente creare con i diritti dell’utente una directory “public_html” o “www” dove l’utente metterà i file pubblici…
# mkdir /home/walter/public_html
# chown walter:walter /home/walter/public_html