vsftpdEin leichter, effizienter FTP-Server, der als sehr sicherer FTP-Server positioniert ist. Im Moment wird vsftpd auf den meisten Servern mit Linux verwendet. Unter ihnen sind solche Riesen wie: ftp.redhat.com, ftp.suse.com, ftp.debian.org, ftp.gnu.org, ftp.gnome.org, ftp.kde.org. Ich denke, die Kommentare hier sind überflüssig.
Installieren von vsftpd ohne Patch für Dateinamen im laufenden Betrieb
Wenn es keine Notwendigkeit für Transcodierung on the fly gibt, dann genügt ein Standardpaket, das vom offiziellen Repository mit dem Befehl installiert wurde, um vsftpd zu installieren:
aptitude install vsftpd
Der Unterschied in der Konfiguration liegt nur in der Konfigurationsdatei (unten), aus der Sie die Zeilen entfernen müssen:
convert_charset_enable=1 local_charset=UTF8 remote_charset=WIN1251 double_377=0
Installieren Sie vsftpd mit einem Patch, der Dateinamen im laufenden Betrieb neu codiert, verwenden Sie den Patch für vsftpd - ext1
vsftpd-2.1.0+ (ext build 1) released
Was dieser Patch dem Server hinzufügt:
1. Zeichenkonvertierung zwischen einigen Codeseiten hinzugefügt.
2. Unterstützung für Zugangsregeln für anonyme Benutzer wurde hinzugefügt.
3. Zusätzliche Regeln für den Benutzerzugriff von bestimmten Adressen.
4. Erlauben oder verbieten Sie das Löschen von Dateien durch anonyme Benutzer.
5. Es wurde die Möglichkeit hinzugefügt, den Besitzer der heruntergeladenen Datei von einem anonymen Benutzer auf seiner IP zu ändern.
6. Der Parameter double_377 wird hinzugefügt (installiert in 1), mit dem Sie das spezifische Telnet-Protokollsymbol mit dem Code \377 (255 \0xFF) deaktivieren können.
7. Änderung des Algorithmus für die Suche nach Bibliotheken in "vsf_findlibs.sh".
8. Die Fähigkeit, verschiedene Geschwindigkeiten beim Hochladen und Herunterladen von Dateien einzustellen.
9. Der Rest der Funktionen wurde aus dem erweiterten Build entfernt.
Aufgabe:
Erstellen Sie ein Verzeichnis, in das eine anonyme Person schreiben kann, aber es ist ihm verboten, Ordner zu erstellen, Ordner und Dateien zu bearbeiten und zu löschen. Erstellen Sie einen Benutzer, der alles im Ordner verwalten kann.
Wenn Sie möchten, können Sie auf die Website gehen. http://vsftpd.devnet.ru Laden Sie neue Patches herunter und patchen Sie selbst mit neuen. Ich sehe den Punkt noch nicht - die Funktionalität passt völlig zu mir (aber natürlich, wenn es zahlreiche Anfragen gibt und es dann Zeit geben wird, dann funktioniert der Server, der auf dieser Software konfiguriert ist, stabil und problemlos für mehrere Jahre).
Fangen wir also an.
Wenn Sie faul sind, das Paket selbst zu sammeln, können Sie von mir für die Debian-Distribution unter den Links herunterladen:
Download vsftpd_ext1 für Debian Lenny auf amd64
Download von der Debian Lenny Serverkonsole zur amd64 Architektur:
wget http://vkusnoserver.pp.ua/downloads/ftp/vsftpd-ext_2.1.0-ext1_amd64.deb
Installieren Sie das Paket mit dem Befehl:
dpkg -i vsftpd-ext_2.1.0-ext1_amd64.deb
Download vsftpd_ext1 für Debian Squeeze auf i386
Download von der Debian Squeeze Serverkonsole zur i386 Architektur:
wget http://softnastroy.com/downloads/ftp/vsftpd-ext_2.1.0-ext1_i386.deb
Installieren Sie das Paket mit dem Befehl:
dpkg -i vsftpd-ext_2.1.0-ext1_i386.deb
! Achtung. Wenn das System nach der Installation schwört, dass das Paket nicht konfiguriert ist, führen Sie einen Befehl aus, der alle fehlenden Abhängigkeiten unabhängig festlegt:
apt-get -f install
VSFTPD mit einem Transcoding-Patch on the fly ist installiert.
Die Einrichtung des ftp-Servers ist unten in den Anweisungen.
Wenn Sie möchten, können Sie das Paket selbst aus dem Quellcode installieren, dann werden wir beginnen.
Erstellen Sie auf dem Server einen Ordner, in dem wir alle Montage- und Installationsaktionen durchführen und unter dem Root-Benutzer zu ihm gehen:
mkdir -p /usr/src/ftp cd /usr/src/ftp
Jetzt laden wir die Quelle vsftpd mit dem Patch herunter:
wget http://softnastroy.com/downloads/ftp/vsftpd-ext_2.1.0-ext1.diff.gz wget http://softnastroy.com/downloads/ftp/vsftpd-ext_2.1.0-ext1.dsc wget http://softnastroy.com/downloads/ftp/vsftpd-ext_2.1.0.orig.tar.gz
Hinzufügen des Source Repository zur Datei /etc/apt/sources.list
deb http://mirror.yandex.ru/debian squeeze main contrib non-free deb-src http://mirror.yandex.ru/debian squeeze main
Aktualisieren des Repository:
aptitude update
Installieren Sie die Software zum Zusammenstellen des Pakets:
aptitude install build-essential
Als nächstes wenden wir einen Patch an die Quelle mit automatischem Auspacken an:
dpkg-source -x vsftpd-ext_2.1.0-ext1.dsc dpkg-source: предупреждение: распаковка неподписанного пакета с исходным кодом (vsftpd-ext_2.1.0-ext1.dsc) dpkg-source: инфо: извлечение vsftpd-ext в vsftpd-ext-2.1.0 dpkg-source: инфо: распаковывается vsftpd-ext_2.1.0.orig.tar.gz dpkg-source: инфо: накладывается vsftpd-ext_2.1.0-ext1.diff.gz
Dann gehen wir zum ausgepackten Ordner:
cd vsftpd-ext-2.1.0/
Wir beginnen mit der Installation von Paketen, die für die Montage von Ausgangsmaterialien erforderlich sind:
apt-get build-dep vsftpd
Und das Paket mit einem Team zusammenstellen:
dpkg-buildpackage -rfakeroot
Nach dem Zusammenbauen gehen Sie zum Verzeichnis nach oben:
cd ..
und Ausführen des Befehls ls, sehen wir, dass das Deb-Paket zusammengestellt ist:
ls vsftpd-ext-2.1.0 vsftpd-ext_2.1.0-ext1.dsc vsftpd-ext_2.1.0-ext1_i386.deb vsftpd-ext_2.1.0-ext1.diff.gz vsftpd-ext_2.1.0-ext1_i386.changes vsftpd-ext_2.1.0.orig.tar.gz
Installieren Sie den Befehl Collected Package vsftpd:
dpkg -i vsftpd-ext_2.1.0-ext1_i386.deb Выбор ранее не выбранного пакета vsftpd-ext. (Чтение базы данных ... на данный момент установлено 44980 файлов и каталогов.) Распаковывается пакет vsftpd-ext (из файла vsftpd-ext_2.1.0-ext1_i386.deb)... Настраивается пакет vsftpd-ext (2.1.0-ext1) ... Starting FTP server: vsftpd. Обрабатываются триггеры для man-db ...
Die Konfigurationsdatei vsftpd server befindet sich unter /etc/vsftpd.conf
Meine Arbeitskonfigurationsdatei (Sie können sie kopieren und in Ihre einfügen):
listen=YES anonymous_enable=YES local_enable=YES write_enable=YES local_umask=000 anon_upload_enable=YES anon_umask=000 anon_mkdir_write_enable=NO dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log ftpd_banner=Welcome to FTP server firm name. chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd-ext rsa_cert_file=/etc/ssl/private/vsftpd.pem convert_charset_enable=1 local_charset=UTF8 remote_charset=WIN1251 double_377=0
Konfigurieren Sie den anonymen und ftp-Serveradministrator
Fügen Sie einen Benutzer hinzu, der den unten konfigurierten Ordner verwaltet:
adduser ftpadmin
Teamteam.
cat /etc/passwd | grep ftp
Folgende Informationen werden vom ftp-Benutzer angezeigt:
ftp:x:105:107:ftp daemon,,,:/srv/ftp:/bin/false
Wir sehen, dass der Home-Ordner des Benutzers /srv/ftpEs passt zu uns und wir werden es nicht ändern.
Daher werden dieser Ordner und wir als Hauptordner für die Arbeit mit FTP konfigurieren.
Hinzufügen eines vorhandenen Benutzers ftpadmin Gruppe ftp Team:
usermod -a -G ftp ftpadmin
Erschaffen Sie es im Inneren. /srv/ftp Ein Ordner, in dem ein anonymer Benutzer Dateien erstellen und herunterladen kann:
mkdir -p /srv/ftp/upload chmod -R 777 /srv/ftp/upload
Erstellen Sie einen Ordner, in den eine anonyme Person nicht eingeben kann, nur für den Administrator:
mkdir -p /srv/ftp/install
Alle Rechte an dem Ordner werden dem Administrator-Benutzer und seiner Gruppe gewährt, alle anderen (einschließlich einer anonymen) gehen in den Wald.
chmod -R 770 /srv/ftp/install
Ändern Sie den Home-Ordner für ftpadmin-Benutzer in einen Ordner /srv/ftp/
usermod -d /srv/ftp/ ftpadmin
Ändern Sie den Benutzer und die Gruppe für den Home-Ordner:
chown -R ftpadmin:ftpadmin /srv/ftp/
Wir überladen den Server mit einem Befehl:
reboot
Und nach dem Neustart versuchen wir, uns anonym zu verbinden, die Datei auszufüllen und zu löschen sowie die Arbeit unter dem ftpadmin-Benutzer zu überprüfen.
Und dann ist es nur analog. Fügen Sie (falls erforderlich) Administratoren und alle hinzu.
P.S. Diese anweisung ist nur relevant, wenn es wenige benutzer gibt, aber wenn es viele benutzer gibt, ist es besser, virtuelle benutzer anstelle von systembenutzern zu verwenden.



Kommentar