This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
сервис_ftp [2012/03/19 08:59] val |
сервис_ftp [2019/03/22 14:44] val [Установка и запуск сервиса] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Сервис FTP ====== | ====== Сервис FTP ====== | ||
- | [[http://ru.wikipedia.org/wiki/FTP]] | + | * [[http://ru.wikipedia.org/wiki/FTP]] |
===== Клиентские программы ===== | ===== Клиентские программы ===== | ||
+ | |||
+ | ==== explorer ==== | ||
+ | |||
+ | * ftp://user1@gate.isp.un | ||
==== Утилита ftp ==== | ==== Утилита ftp ==== | ||
- | команды: | ||
- | <code> | ||
- | ? | ||
- | help | ||
- | cd каталог - смена каталога на сервере | ||
- | lcd каталог - смена каталога на клиенте | ||
- | pwd - показать текущий каталог сервера | ||
- | lpwd - показать текущий каталог клиента | ||
- | dir | ||
- | ls | ||
- | bin - двоичный режим передачи | ||
- | ascii - режим передачи текстовых файлов | ||
- | pass - переключатель активного/пассивного режимов передачи | ||
- | get имя_файла - скопировать файл с сервера (download) | ||
- | put имя_файла - скопировать файл на сервер (upload) | ||
- | mget шаблон - скопировать файлы совпадающие с шаблоном с сервера (download) | ||
- | mput шаблон - скопировать файлы совпадающие с шаблоном на сервер (upload) | ||
- | quit - выход из программы | ||
- | </code> | ||
- | пример: | ||
<code> | <code> | ||
server# ftp ftp.isp.un | server# ftp ftp.isp.un | ||
или | или | ||
server# ftp user1@gate.isp.un | server# ftp user1@gate.isp.un | ||
- | … | ||
- | Name (gate.isp.un:root):user1 | ||
- | … | ||
- | Password: password1 | ||
- | 230 User user1 logged in. | ||
- | |||
- | 1. ftp> cd ~ | ||
- | 2. ftp> pwd | ||
- | 3. ftp> lcd /etc | ||
- | 4. ftp> lpwd | ||
- | 5. ftp> put hosts | ||
- | |||
- | 6. ftp> cd /etc | ||
- | 7. ftp> pwd | ||
- | 8. ftp> lcd | ||
- | 9. ftp> lpwd | ||
- | 10. ftp> get hosts | ||
- | 11. ftp> quit | ||
</code> | </code> | ||
Line 61: | Line 27: | ||
</code> | </code> | ||
- | ==== Автоматизация процесса аутентификации ftp клиента ==== | + | ===== Сервер FTP ===== |
- | <code> | + | ==== Учетная запись для сервиса ==== |
- | server# cd | + | |
- | server# cat .netrc | + | * [[Управление учетными записями в Linux]] |
- | </code><code> | + | * [[Управление учетными записями в FreeBSD]] |
- | machine ftp.isp.un login user1 password password1 | + | |
- | </code><code> | + | |
- | server# chmod 600 .netrc | + | |
- | server# ftp gate.isp.un | + | ==== Установка и запуск сервиса ==== |
- | </code> | + | |
- | ==== Пример использование ftp клиента в sh скрипте ==== | + | === Debian/Ubuntu === |
<code> | <code> | ||
- | server# cat ftp.sh | + | root@server:~# apt install proftpd-basic |
- | </code><code> | + | |
- | cd /etc | + | Run proftpd: standalone |
- | ftp ftp.isp.un >/dev/null 2>&1 <<END | + | |
- | put hosts | + | |
- | quit | + | |
- | END | + | |
- | </code><code> | + | |
- | gate# sh ftp.sh | + | |
</code> | </code> | ||
- | |||
- | ===== Сервер ftp ===== | ||
- | |||
- | ==== Учетная запись для сервиса ==== | ||
- | |||
- | [[Управление учетными записями в Linux]] | ||
- | |||
- | [[Управление учетными записями в FreeBSD]] | ||
- | |||
- | ==== Установка и запуск сервиса ==== | ||
=== FreeBSD === | === FreeBSD === | ||
Line 105: | Line 50: | ||
ftpd_enable="YES" | ftpd_enable="YES" | ||
</code><code> | </code><code> | ||
- | [server:~] # /etc/rc.d/ftpd start | + | [server:~] # service ftpd start |
</code> | </code> | ||
- | === Ubuntu === | ||
- | <code> | ||
- | root@server:~# apt-get install proftpd | ||
- | Run proftpd: standalone | ||
- | </code> | ||
==== Изменение shell для ftp пользователей ==== | ==== Изменение shell для ftp пользователей ==== | ||
Line 147: | Line 87: | ||
<code> | <code> | ||
root@server:~# cat /etc/proftpd/proftpd.conf | root@server:~# cat /etc/proftpd/proftpd.conf | ||
+ | </code><code> | ||
... | ... | ||
<Anonymous ~ftp> | <Anonymous ~ftp> | ||
Line 153: | Line 94: | ||
RequireValidShell off | RequireValidShell off | ||
</Anonymous> | </Anonymous> | ||
+ | ... | ||
</code> | </code> | ||
+ | |||
+ | ==== FTP TLS ==== | ||
+ | |||
+ | === ProFTPd === | ||
+ | |||
+ | <code> | ||
+ | # cat /etc/proftpd/proftpd.conf | ||
+ | </code><code> | ||
+ | ... | ||
+ | Include /etc/proftpd/tls.conf | ||
+ | ... | ||
+ | </code><code> | ||
+ | # cat /etc/proftpd/tls.conf | ||
+ | </code><code> | ||
+ | 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 | ||
+ | </code> | ||
+ | |||
+ | ==== Сокрытие названия/версии сервиса ==== | ||
+ | |||
+ | === Ubuntu === | ||
+ | <code> | ||
+ | # cat /etc/proftpd/proftpd.conf | ||
+ | </code><code> | ||
+ | ... | ||
+ | ServerIdent on "MS Ftp Server" | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | === FreeBSD === | ||
+ | [[http://www.frbsd.org/fr/poweredby/ftpd.html]] | ||
+ | <code> | ||
+ | # grep -R 6.00LS /usr/src/libexec/ftpd/ | ||
+ | </code><code> | ||
+ | /usr/src/libexec/ftpd/ftpd.c:static char version[] = "Version 6.00LS"; | ||
+ | </code> | ||
+ | |||
+ | ===== Дополнительные материалы ===== | ||
+ | |||
+ | ==== Команды ftp клиента ==== | ||
+ | <code> | ||
+ | ? | ||
+ | help | ||
+ | cd каталог - смена каталога на сервере | ||
+ | lcd каталог - смена каталога на клиенте | ||
+ | pwd - показать текущий каталог сервера | ||
+ | lpwd - показать текущий каталог клиента | ||
+ | dir | ||
+ | ls | ||
+ | bin - двоичный режим передачи | ||
+ | ascii - режим передачи текстовых файлов | ||
+ | pass - переключатель активного/пассивного режимов передачи | ||
+ | get имя_файла - скопировать файл с сервера (download) | ||
+ | put имя_файла - скопировать файл на сервер (upload) | ||
+ | mget шаблон - скопировать файлы совпадающие с шаблоном с сервера (download) | ||
+ | mput шаблон - скопировать файлы совпадающие с шаблоном на сервер (upload) | ||
+ | quit - выход из программы | ||
+ | </code> | ||
+ | |||
+ | ==== Автоматизация процесса аутентификации ftp клиента ==== | ||
+ | <code> | ||
+ | server# cd | ||
+ | |||
+ | server# cat .netrc | ||
+ | </code><code> | ||
+ | machine ftp.isp.un login user1 password password1 | ||
+ | </code><code> | ||
+ | server# chmod 600 .netrc | ||
+ | |||
+ | server# ftp gate.isp.un | ||
+ | </code> | ||
+ | |||
+ | ==== Пример использование ftp клиента в sh скрипте ==== | ||
+ | <code> | ||
+ | server# cat ftp.sh | ||
+ | </code><code> | ||
+ | cd /etc | ||
+ | ftp ftp.isp.un >/dev/null 2>&1 <<END | ||
+ | put hosts | ||
+ | quit | ||
+ | END | ||
+ | </code><code> | ||
+ | gate# sh ftp.sh | ||
+ | </code> | ||
+ |