pureftpd - аутентификация входа в систему перестала работать

Предположим, форматирование всегда как в примере – одно значение или разделитель раздела на строку:

awk '/\{/{s="";i=1}i{s=s"\n"$0}$1=="value3:"{v=$2}/\}/{if(V==""||V<v){V=v;S=s}i=0}END{print S}' json-like.file

RS- основанная альтернатива, не получение разделителей раздела приемлемо:

awk -vRS='}' '{sub(/.*\{/,"")}match($0,/value3: (\S+)/,m)&&(v==""||v<m[1]){v=m[1];s=$0}END{print s}' json-like.file

RT- основанная альтернатива:

awk -vRS='\\{[^{}]+\\}' 'match(RT,/value3: (\S+)/,m)&&(v==""||v<m[1]){v=m[1];s=RT}END{print s}' json-like.file

Объяснения согласно просьбе в комментарии.

awk '
/\{/{s="";i=1}   # start of section? reset accumulated section data; set inside section flag
i{s=s"\n"$0}   # inside section? append current record to the accumulated data
$1=="value3:"{v=$2}   # value3 entry? store its value
/\}/{if(V==""||V<v){V=v;S=s}i=0}   # end of section? if no previous max or previous max value less than current value then set maxvalue to value and max section to section; reset inside section flag
END{print S}   # output max section
' json-like.file

awk -vRS='}' '   # record separator is the end of section delimiter
{sub(/.*\{/,"")}   # remove start of section delimiter and anything before it
match($0,/value3: (\S+)/,m)&&(v==""||v<m[1]){v=m[1];s=$0}   # current record contains value3 entry and no previous max or previous max value is less than its value? set max value to value and section to current record
END{print s}   # output section
' json-like.file

awk -vRS='\\{[^{}]+\\}' '   # record separator is an entire section
match(RT,/value3: (\S+)/,m)&&(v==""||v<m[1]){v=m[1];s=RT}   # current record terminator contains value3 entry and no previous max or previous max value is less than its value? set max value to value and section to current record terminator
END{print s}   # output section
' json-like.file
4
10.04.2013, 18:18
1 ответ

Aargh!

От README.Virtual-пользователей:

Можно добавить, изменить и удалить пользователей с предыдущими командами, или путем редактирования/etc/pureftpd.passwd вручную. Но FTP-сервер не рассмотрит изменений, которые Вы вносите в тот файл, пока Вы не фиксируете их.

Так, просто

pure-pw mkdb 

или

pure-pw passwd joe -m

сделал задание

3
27.01.2020, 20:58
  • 1
    Это не работает на меня :( Существует ли минимальное количество предела символов или чего-то? Я установил пароль "тест", таким образом, я - 100%, которые я не ввожу его с опечаткой при соединении. –  Iulian Onofrei 14.07.2016, 13:35

Теги

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