User Tools

Site Tools


сервис_ftp

Сервис FTP

Клиентские программы

explorer

Утилита ftp

server# ftp ftp.isp.un
 или
server# ftp user1@gate.isp.un

Утилита fetch (FreeBSD)

[server:~] # fetch ftp://user1:password1@gate.isp.un:/etc/hosts

Утилита wget (Ubuntu)

root@server:~# wget ftp://user1:password1@gate.isp.un/../../../etc/hosts

Сервер FTP

Учетная запись для сервиса

Установка и запуск сервиса

Debian/Ubuntu

root@server:~# apt install proftpd-basic

Run proftpd: standalone

FreeBSD

[server:~] # cat /etc/rc.conf
...
ftpd_enable="YES"
[server:~] # service ftpd start

Изменение shell для ftp пользователей

Ограничение доступа ftp пользователей домашним каталогом

Ubuntu

root@server:~# cat /etc/proftpd/proftpd.conf
...
DefaultRoot ~
...

FreeBSD

[server:/etc] # cat /etc/ftpchroot
...
user1
@ftpusers
...

Организация анонимного доступа к ftp серверу

FreeBSD

[server:~] # pw useradd ftp -d /usr/ports/ -s /usr/sbin/nologin

Debian/Ubuntu

root@server:~# cat /etc/proftpd/proftpd.conf
...
<Anonymous ~ftp>
   User                         ftp
   UserAlias                    anonymous ftp
   RequireValidShell            off
</Anonymous>
...

FTP TLS

ProFTPd

# cat /etc/proftpd/proftpd.conf
...
Include /etc/proftpd/tls.conf
...
# cat /etc/proftpd/tls.conf
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoSessionReuseRequired
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on                    

Сокрытие названия/версии сервиса

Ubuntu

# cat /etc/proftpd/proftpd.conf
...
ServerIdent on "MS Ftp Server"
...

FreeBSD

http://www.frbsd.org/fr/poweredby/ftpd.html

# grep -R 6.00LS /usr/src/libexec/ftpd/
/usr/src/libexec/ftpd/ftpd.c:static char version[] = "Version 6.00LS";

Дополнительные материалы

Команды ftp клиента

?
help
cd каталог	- смена каталога на сервере
lcd каталог	- смена каталога на клиенте
pwd             - показать текущий каталог сервера
lpwd            - показать текущий каталог клиента
dir
ls
bin		- двоичный режим передачи
ascii		- режим передачи текстовых файлов
pass 		- переключатель активного/пассивного режимов передачи
get имя_файла	- скопировать файл с сервера (download)
put имя_файла	- скопировать файл на сервер (upload)
mget шаблон	- скопировать файлы совпадающие с шаблоном с сервера (download)
mput шаблон	- скопировать файлы совпадающие с шаблоном на сервер (upload)
quit		- выход из программы

Автоматизация процесса аутентификации ftp клиента

server# cd

server# cat .netrc
machine ftp.isp.un login user1 password password1
server# chmod 600 .netrc

server# ftp gate.isp.un

Пример использование ftp клиента в sh скрипте

server# cat ftp.sh
cd /etc
ftp ftp.isp.un >/dev/null 2>&1 <<END
put hosts
quit
END
gate# sh ftp.sh 
сервис_ftp.txt · Last modified: 2020/03/19 12:25 by val