GNU/Linux >> Znalost Linux >  >> Linux

FTP server kontejner Podman rychle a správně a 4 špinavé kroky

Úvod

FTP server kontejner znamená „File Transfer Protocol“ a je to vynikající protokol pro stahování souborů ze vzdáleného nebo místního serveru nebo nahrávání souborů na server. Používání FTP se po správném nastavení ukazuje jako primární úkol. Funguje to tak, že server naslouchá připojení (ve výchozím nastavení na portu 21) od klientů. Klienti mohou pomocí svého uživatelského účtu přistupovat ke vzdálenému adresáři a následně tam stahovat nebo nahrávat soubory v závislosti na oprávněních, která jim byla udělena. Je také možné nakonfigurovat anonymní autorizaci, což znamená, že uživatelé nebudou potřebovat svůj účet pro připojení k serveru FTP.


V systému Centos Linux je k dispozici mnoho různých kontejnerů FTP serverů a klientských softwarových balíčků. Jako FTP klienta můžete dokonce použít výchozí grafické uživatelské rozhraní a nástroje příkazového řádku. Navíc stylový a vysoce konfigurovatelný balíček FTP serveru je vsftpd, známý pro mnoho systémů Linux, včetně Centos.
Tato příručka bude obsahovat podrobné pokyny k instalaci vsftpd na Centos. Ukážeme si také, jak nakonfigurovat kontejnerový FTP server pomocí různých nastavení, a poté se k FTP serveru připojit pomocí příkazového řádku, GUI GNOME nebo FTP klienta. Výukový program pro uživatele FTP.

Proměnné prostředí

Tento obrázek používá proměnné prostředí, které umožňují konfiguraci některých parametrů za běhu:

  • Název proměnné:FTP_USER
  • Výchozí hodnota:admin
  • Přípustné hodnoty:Libovolný řetězec. Vyhněte se mezerám a speciálním znakům.
  • Popis:Uživatelské jméno pro výchozí účet FTP. Pokud jej nezadáte prostřednictvím proměnné prostředí FTP_USER za běhu, ve výchozím nastavení se použije admin.
  • Název proměnné:FTP_PASS
  • Výchozí hodnota:Náhodný řetězec.
  • Přípustné hodnoty:Libovolný řetězec.
  • Popis:Pokud nezadáte heslo pro výchozí účet FTP prostřednictvím FTP_PASS, automaticky se vygeneruje 16znakový náhodný řetězec. Tuto hodnotu můžete získat prostřednictvím protokolů kontejneru.
  • Název proměnné:PASV_ADDRESS
  • Výchozí hodnota:IP hostitele dockeru / název hostitele.
  • Přijímané hodnoty:Jakákoli adresa IPv4 nebo název hostitele (viz PASV_ADDRESS_RESOLVE).
  • Popis:Pokud neurčíte IP adresu, která se má použít v pasivním režimu, použijete směrovanou IP adresu hostitele Docker. Pamatujte, že se může jednat o místní adresu.

Vystavené porty a svazky

Obrázek odhaluje porty 20 a 21. Exportuje také dva svazky:/home/vsftpd, který obsahuje domovské adresáře uživatelů, a /var/log/vsftpd, používaný k ukládání protokolů.
Při sdílení domovského adresáře mezi hostitelem a kontejnerem (/home/vsftpd) by ID uživatele vlastníka a ID skupiny měly být 14 a 50. To odpovídá FTP uživateli a skupině FTP kontejneru, ale může se shodovat s něčím jiným na hostiteli.

Získejte obrázek z úložiště dle vlastního výběru

# podman pull fauria/vsftpd

Vytvořte kontejner FTP serveru:

Protokol FTP standardně naslouchá na portu 21 pro ověření uživatele a na portu 20 pro přenos dat. Toto chování však můžeme změnit drobnou úpravou souboru /etc/vsftpd.conf. V dolní části souboru použijte direktivu listen_port k určení jiného portu, který má vsftpd použít.

# podman pod create --name vsftpdapp -p 21:21  --network bridge

Vytvořte kontejner v aktivním režimu pomocí výchozího uživatelského účtu s adresářem vázaných dat:

# mkdir /vsftpd_shared
# podman run --pod vsftpdapp --name vsftpd-server -v /vsftpd_shared:/home/vsftpd -d fauria/vsftpd:la
test

Chcete-li zobrazit uživatele a heslo, můžete použít příkaz níže.

# podman logs vsftpd-server

Vytvořte produkční kontejner s vlastním uživatelským účtem, svázáním datového adresáře a povolením aktivního i pasivního režimu:

# podman run --pod vsftpdapp --name vsftpd-server --env FTP_USER=myuser --env FTP_PASS=mypass --env
PASV_ADDRESS=127.0.0.1 --restart=always -d fauria/vsftpd:latest

Ručně přidat nového uživatele FTP do existujícího kontejneru:

# podman exec -i -t vsftpd-server bash
# mkdir /home/vsftpd/myuser
# chmod +x+o /home/vsftpd/myuser
# echo -e "myuser\nmypass" >> /etc/vsftpd/virtual_users.txt

Přístup ke kontejneru ftp serveru pomocí příkazu ftp

ftp 192.168.56.101

Linux
  1. Instalace a konfigurace FTP serveru na CentOS 7 / RHEL 7 – (vsftpfd)

  2. Jak používat Podman uvnitř kontejneru

  3. rozdíl mezi podmanem a dockerem.

  1. Používání souborů a zařízení v kontejnerech Podman rootless

  2. Rychlé a špinavé hacky:jednořádkový HTTP server

  3. Přehled FTP a SFTP

  1. Jak nastavit FTP/SFTP server a klienta na AlmaLinuxu

  2. Jak nastavit a používat FTP server v Ubuntu Linux

  3. CentOS / RHEL 4:Jak nainstalovat a nakonfigurovat FTP server (vsftpd)