This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
сервис_ftp [2013/05/22 13:50] 127.0.0.1 внешнее изменение |
сервис_ftp [2020/03/19 12:25] (current) val [Организация анонимного доступа к ftp серверу] |
||
|---|---|---|---|
| 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 120: | Line 60: | ||
| ==== Ограничение доступа ftp пользователей домашним каталогом ==== | ==== Ограничение доступа ftp пользователей домашним каталогом ==== | ||
| - | === FreeBSD === | + | === Ubuntu === |
| <code> | <code> | ||
| - | [server:/etc] # cat /etc/ftpchroot | + | root@server:~# cat /etc/proftpd/proftpd.conf |
| ... | ... | ||
| - | user1 | + | DefaultRoot ~ |
| - | @ftpusers | + | |
| ... | ... | ||
| </code> | </code> | ||
| - | === Ubuntu === | + | === FreeBSD === |
| <code> | <code> | ||
| - | root@server:~# cat /etc/proftpd/proftpd.conf | + | [server:/etc] # cat /etc/ftpchroot |
| ... | ... | ||
| - | DefaultRoot ~ | + | user1 |
| + | @ftpusers | ||
| ... | ... | ||
| </code> | </code> | ||
| + | |||
| ==== Организация анонимного доступа к ftp серверу ==== | ==== Организация анонимного доступа к ftp серверу ==== | ||
| Line 144: | Line 85: | ||
| </code> | </code> | ||
| - | === Ubuntu === | + | === Debian/Ubuntu === |
| <code> | <code> | ||
| root@server:~# cat /etc/proftpd/proftpd.conf | root@server:~# cat /etc/proftpd/proftpd.conf | ||
| Line 156: | Line 97: | ||
| ... | ... | ||
| </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> | ||
| + | |||
| ==== Сокрытие названия/версии сервиса ==== | ==== Сокрытие названия/версии сервиса ==== | ||
| Line 174: | Line 139: | ||
| /usr/src/libexec/ftpd/ftpd.c:static char version[] = "Version 6.00LS"; | /usr/src/libexec/ftpd/ftpd.c:static char version[] = "Version 6.00LS"; | ||
| </code> | </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> | ||
| + | |||