Как я могу получить vsftpd версию в переменную оболочки?

Это снижается для прочитанного/писания/выполнения полномочий файла главным образом. Sudo не имеет ограниченные права.

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

2
19.11.2012, 15:31
2 ответа

Интересно достаточно, мой vsftpd пишет строка versino в stdin. Таким образом, вероятно, необходимо сделать довольно необычное перенаправление stdin кому: stdout:

i=`/usr/sbin/vsftpd -version 0>&1`

Как узнать это: выполните его в strace (необходимо будет сделать это как корень), и проверьте на строку. В моем случае журнал заканчивается как это:

$ strace /usr/sbin/vsftpd -version
...
brk(0)                                  = 0x7f835332d000
brk(0x7f835334e000)                     = 0x7f835334e000
write(0, "vsftpd: version 3.0.2\n", 22) = 22
exit_group(0)                           = ?
+++ exited with 0 +++

Первый аргумент write() дескриптор файла (0/1/2, обозначают stdin/stdout/stderr соответственно).

4
27.01.2020, 21:57

Команда vsftpd -v использование stdin, таким образом, Вы не можете захватить вывод нормальным способом.

Я обычно просто захватываю ответ от порта FTP. Я только позволяю FTP локально так или иначе.

echo "bye" | nc localhost 21

1
27.01.2020, 21:57

Теги

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