Tag Archives: FTP

CentOS und FTP

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.

  1. 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
  2. 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
  3. 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
  4. Systeuser anlegen
    adduser -d /home/virtualftp/ virtualftp
  5. 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 &

  6. 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
  7. Virtuelle Verzeichnisse anlegen
    mkdir -p /home/virtualftp/username1
    Für jeden einzelnen Benutzer.
  8. 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>