Сервер SFTP без root в качестве владельца папки пользователя?

Если ваш find имеет printf ], распечатайте mtime в секундах, за которым следует имя файла, затем используйте sort и, наконец, cut :

find . -type f -printf "%T@\t%f\n" |
sort -k 1n -k 2 |
cut -f 2-

Поиск выводит TIMESTAMP FILENAME в каждой строке. Сортировка сначала сортирует отметки времени в числовом порядке. Если отметки времени равны, имя файла будет использоваться в крайнем случае. Вырезание удаляет отметку времени из вывода.

РЕДАКТИРОВАТЬ: Ваше решение на Perl работает, но я бы сделал это по-другому. Вот самый простой вариант:

find . -type f -print | 
perl -lne 'print (((stat($_))[9]."\t".$_)' |
sort -k 1n -k 2 |
cut -f 2-

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

1
11.03.2015, 13:00
2 ответа

В файле конфигурации vsftpd проверьте:

allow_writable_chroot = YES

ССЫЛКА НА МОЙ ОТВЕТ:

vsftpd не позволяет пользователям chrooted писать в каталог

2
29.04.2021, 00:31

Обычно вы создаете две папки (может быть "in" и "out" или что угодно) и разрешить доступ к этим папкам, таким образом, пользователь не может писать в /, но может писать в этих папках.

0
29.04.2021, 00:31

Теги

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