Журналы SFTP в Ubuntu 18.04

Вы можете сделать это переносимо (или, по крайней мере, переносимо на оболочки, которые поддерживают этот синтаксис массива )с помощьюprintf:

$ items=(foo bar baz)
$ printf -- "--file %s " "${items[@]}"
--file foo --file bar --file baz $ 

Однако, в отличие от команды print, она не добавляет завершающую новую строку (, поэтому у вас есть $в той же строке, что и вывод, над ). Если это нарушает условия сделки, вы можете:

$ printf -- "--file %s " "${items[@]}"; echo ""
--file foo --file bar --file baz 
1
06.12.2019, 16:25
1 ответ

Пожалуйста, прочтите man sftp-server. На этой странице руководства вы можете прочитать о директиве log_level, которая по умолчанию имеет значение ERROR. Если вы установите log_levelв INFO или VERBOSE, транзакции будут регистрироваться.

Таким образом, по умолчанию такие сообщения не регистрируются.

Чтобы включить ведение журнала, отредактируйте файл /etc/ssh/sshd_configи найдите:

Subsystem   sftp    /usr/lib/openssh/sftp-server

Добавить -l INFOк строке, сохранить и выйти. Затем перезапустите sshd, используяsystemctl restart ssh

Попробуйте действие sftp и посмотрите /var/log/auth.logна наличие сообщений типа:

Dec  6 15:11:47 myhost sftp-server[4674]: open "/home/myuser/testfile" flags READ mode 0666
Dec  6 15:11:47 myhost sftp-server[4674]: close "/home/myuser/testfile" bytes read 8 written 0

При использовании sftp-serverв средеchroot-ed также применимо следующее:

On some systems, sftp-server must be able to access /dev/log for logging to work, and use of sftp-server in a chroot configuration therefore requires that syslogd(8) establish a logging socket inside the chroot directory.

По умолчанию сервер sftp -использует AUTHв качестве средства ведения журнала. Проверьте конфигурацию ведения журнала, чтобы убедиться, что ведение журнала для AUTHнастроено. Например, дляrsyslog:

$ grep auth /etc/rsyslog.d/50-default.conf 
auth,authpriv.*         /var/log/auth.log
5
27.01.2020, 23:56

Теги

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