vsftpd поддерживает плоскость FTP?

Хорошо, основной вопрос здесь - то, что нет такой вещи как строка 0. sed начинает считать строки от 1. По-видимому, принятие остальной части Вашего сценария в порядке, это должно работать:

#!/usr/bin/env bash
sed -n "$2,$3p" "$1"

Я попробовал сценарий выше на этом файле:

$ cat file
line 1
line 2
line 3
line 4
line 5
line 6
$ ./foo.sh file 3 5
line 3
line 4
line 5
$ ./foo.sh file 0 5
sed: -e expression #1, char 4: invalid usage of line address 0
$ ./foo.sh file 1 3
line 1
line 2
line 3

От man sed (спасибо @manatwork):

0, addr2

Начните в "подобранном первом адресе" состояние, пока addr2 не будет найден. Это подобно 1, addr2, за исключением того, что, если addr2 соответствует самой первой строке входа, этот 0, addr2 форма будет в конце ее диапазона, тогда как этот 1, addr2 форма все еще будет в начале ее диапазона. Это работает только, когда addr2 является регулярным выражением.

Так, это должно работать также:

$ a.sh file 0 "/line 3/"
line 1
line 2
line 3

При использовании нормальных именованных переменных это перестанет работать, потому что оболочка не имеет никакого способа знать, где имя переменной заканчивается и sed команды начинаются. Например:

foo=1; sed -n "$foop"

ничего не распечатает, так как оболочка будет рассматривать $foop как имя переменной. Для обхождения этого используйте фигурные скобки:

$ foo=1; sed -n "${foo}p" file
line 1
2
05.07.2014, 20:09
2 ответа

Несмотря на свое название, он поддерживает FTP. Имя VSFTPD означает "Very Secure File Transport Protocol Daemon".

abstract

FTP (File Transfer Protocol) используется как одно из наиболее распространенных средств копирования файлов между компьютерами через Интернет. Большинство сайтов загрузки через Интернет используют встроенные возможности FTP веб-браузеров, поэтому большинство серверно-ориентированных операционных систем обычно включают FTP-серверное приложение в состав программного комплекса. Linux не является исключением. На этой странице я покажу, как преобразовать коробку DebianGNU/Linux в сервер FTP с помощью пакета vsftpd (Very Secure FTP Daemon), входящего в стандартный дистрибутив Debian, т.е. нет необходимости компилировать что-то самому, что экономит время и заставляет работать даже неопытных пользователей.

Source: http://www.markus-gattol.name/ws/vsftpd.html

Есть много уроков, таких как: Как настроить vsftpd для использования SSL/TLS на VPS Ubuntu, в которых показано, как настроить обычную службу FTP с помощью vsftpd. В первом разделе описаны эти действия.

После редактирования конфигурационного файла: sudo nano /etc/vsftpd.conf:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

Затем добавьте ftp пользователя:

$ sudo adduser ftpuser

Затем создайте его домашний каталог:

$ sudo chown root:root /home/ftpuser

И создайте каталоги для загрузки/загрузки в:

$ sudo mkdir /home/ftpuser/files
$ sudo chown ftpuser:ftpuser /home/ftpuser/files

Используя Filezilla

При использовании filezilla убедитесь, что в диалоговом окне менеджера сайтов выбраны соответствующий порт и тип протокола.

ss #1

Ссылки

2
27.01.2020, 22:13

Есть три протокола с "FTP" в их названиях :

  1. Простой" старый, нешифрованный FTP, работает на порту 21
  2. То же самое, но с добавленным SSL, обычно называемым FTPS, работает на порту 21 или 990
  3. FTP-подобный протокол, являющийся частью SSH, обычно называемый SFTP, работает на порту 22

Обычно 1 и 2 предоставляются одной и той же программой, например vsftpd, которая будет прослушивать порт 21 и/или 990. 3 обеспечивается реализацией SSH, обычно OpenSSH, которая прослушивает на порту 22. Ваша проблема в том, что вы пытаетесь подключиться, используя протокол FTP на порту 22, поэтому вы достигаете OpenSSH, который обрабатывает только SFTP. Вам нужно использовать порт 21, если вы хотите использовать незашифрованный FTP.

0
27.01.2020, 22:13

Теги

Похожие вопросы