måndag 11 juni 2007

Sätta upp en ftp-server

Jag ville dela ett par filer med andra. Vanligtvis gör jag detta krypterat med ssh, men det finns ofta vissa pedagogiska hinder med att använda ssh. För detta fall var det tillräckligt med ftp (som är ett osäkert protokoll). Ett problem med ftp är att man ofta behöver skapa vanliga användarkonton för att ftp ska fungera. Pure ftp har en möjlighet att lösa detta med en separat användarhantering.

Jag hittade en guide här: http://www.debianhelp.co.uk/pureftp.htm
Det saknades lite för att gå att använda rakt upp och ner. Nedan är en anpassad variant av guiden:

I debian (och ubuntu antar jag) kör man bara
apt-get install pure-ftpd

skapa användare:

groupadd ftpgroup

useradd -g ftpgroup -d /dev/null -s /etc ftpuser

pure-pw useradd test1 -u ftpuser -d /home/ftpusers/test1

pure-pw mkdb

skapa en plats i filsystemet där användaren får sina filer:
mkdir -p /home/ftpusers/test1
chown ftpuser:ftpgroup /home/ftpusers
chown ftpuser:ftpgroup /home/ftpusers/test1

konfigurera servern:

cd /etc/pure-ftpd/auth

ln -s ../conf/PureDB 50pure

echo no > /etc/pure-ftpd/conf/PAMAuthentication

echo no > /etc/pure-ftpd/conf/UnixAuthentication

sen gjorde jag /etc/init.d/pureftpd restart men det vet jag inte om det behövs.

Resultatet är en ftpserver som gör att man kan ha ftp igång utan att riskera att en ftp-användare loggar in med ssh och röjer runt.

Jag hade problem med min brandvägg/router som använder NAT. Jag prövade först med vidarebefodring av portar 20 och 21. Efter att ha läst http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html förstod jag att det här skulle bli svårt. Det visade sig att det gick att lösa genom att köra pure-ftp i nat-mode.

echo yes >/etc/pure-ftpd/conf/NATmode

sådär! funkar toppen

1 kommentar:

Anonym sa...

Grumt. Tackar.
Funkar fint utifrån, men inte från localhost ut och tillbaka. Lustigt. Men gör inte så mycket.
/j