Linux ist so eine Sache. Entweder man kann es oder man kann es nicht. Ich würde mich nicht gerade als Crack in Sachen Linux bezeichnen, denn sonst hätte ich nicht 7 Std. gebraucht, um einen vsftpd einzurichten.
Es geht nämlich ganz einfach, es sind nicht allzu viele Schritte notwendig um den vsftpd zum laufen zu bekommen.
Mit 8. Schritten zum Erfolg.
- Packages downloaden von http://mirror.centos.org/centos/4/os/i386/
CentOS/RPMS/vsftpd-2.0.1-5.EL4.5.i386.rpm
CentOS/RPMS/compat-db-4.1.25-9.i386.rpm
CentOS/RPMS/db4-4.2.52-7.1.i386.rpm
CentOS/RPMS/pam-0.77-66.21.i386.rpm
- Packages installieren
rpm -Uhv pam-0.77-66.21.i386.rpm
rpm -Uhv compat-db-4.1.25-9.i386.rpm
rpm -Uhv db4-4.2.52-7.1.i386.rpm
rpm -Uhv vsftpd-2.0.1-5.EL4.5.i386.rpm
- PAM konfigurieren
vi /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_users
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_users
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include system-auth
#account include system-auth
#session include system-auth
#session required pam_loginuid.so
- Systeuser anlegen
adduser -d /home/virtualftp/ virtualftp
- vsftpd konfigurieren
cd /etc/vsftpd
vi vsftpd.conf
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES# Virtual users will be logged into /home/virtualftp/[username]/
user_sub_token=$USER
local_root=/home/virtualftp/$USER
guest_enable=YES
guest_username=virtualftp
# Umask applied for virtual users and anon
anon_umask=0022
# Allows uploading by virtual users
anon_upload_enable=YES
# Allows creation of directories by virtual users
anon_mkdir_write_enable=YES
# Allows deletion of files and directories by virtual users
anon_other_write_enable=YES
vsftpd starten mit dem Befehl
vsftpd & - Virtuelle FTP User anlegen
vi /etc/vsftpd/vsftpd_users.txt
username1
passwordforusername1
username2
passwordforusername2
username3
passwordforusername3
Dieses File ist in clear text.rm /etc/vsftpd/vsftpd_users.db
db41_load -T -t hash -f /etc/vsftpd/vsftpd_users.txt /etc/vsftpd/vsftpd_users.db
chmod 600 /etc/vsftpd/vsftpd_users.db /etc/vsftpd/vsftpd_users.txt
- Virtuelle Verzeichnisse anlegen
mkdir -p /home/virtualftp/username1
Für jeden einzelnen Benutzer. - Testen
ftp localhost
Connected to localhost.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): username1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX
Using binary mode to transfer files.
ftp>
warum centos? fedora rulz!
Weils mein vHost nur mit centos gibt, darum.