Как синтаксический анализ файл журнала для строки, и когда найденный поиском назад другой строки

Если Ваш корневой каталог является частным, то никто больше не может получить доступ ни к одному из Ваших файлов. Для доступа к файлу процесс должен иметь, выполняют разрешение ко всем каталогам на пути вниз дерево от корневого каталога. Например, чтобы позволить другим пользователям читать /home/martin/public/readme, каталоги /, /home, /home/martin и /home/martin/public вся потребность иметь полномочия d??x??x??x (это может быть drwxr-xr-x, или drwx--x--x или некоторая другая комбинация), и дополнительно файл readme должно быть публично читаемым (-r??r??r??).

Распространено иметь корневые каталоги с режимом drwxr-xr-x (755) или по крайней мере drwx--x--x (711). Режим 711 (только выполняют разрешение) на каталоге позволяет другим получать доступ к файлу в том каталоге, если они знают его имя, но не перечислять содержание каталога. В соответствии с тем корневым каталогом, создайте общедоступные и частные подкаталоги, как желаемый.

Если Вы никогда не хотите, чтобы другие люди считали какой-либо из Ваших файлов, можно сделать корневой каталог drwx------ (700). Если Вы делаете это, Вы не должны защищать свои файлы индивидуально. Это ничего не повредит кроме способности других людей считать Ваш файл.

Одна общая вещь, которая может повредиться, потому что это - экземпляр других людей, читающих Ваши файлы, состоит в том, если у Вас есть каталог такой как ~/public_html или ~/www который содержит Вашу веб-страницу. В зависимости от конфигурации веб-сервера этот каталог, возможно, должен быть читаемым миром.

Можно изменить полномочия по умолчанию для файлов, которые Вы создаете путем устанавливания umask значения в Вашем .profile. umask является дополнением максимальных полномочий файла. Общие ценности включают 022 (перезаписываемый только владельцем, читаемым и исполняемым всеми), 077 (доступ только владельцем), и 002 (как 022, но также и перезаписываемый группой). Это максимальные полномочия: приложения могут установить более строгие полномочия, например, большинство файлов заканчивается неисполняемый файл, потому что приложение, которое создало их, не установило выполнить биты полномочий при создании файла.

3
15.08.2014, 16:44
2 ответа
tac LCSoap_8.log | sed -n '
  /Server returned HTTP response code: 500 for URL:/,/qualified-src-dn=.*src-dn/!d
  s/.*qualified-src-dn=\(.*\)src-dn.*/\1/p'

или повторно использовать ваш grep:

tac LCSoap_8.log | sed '
  /Server returned HTTP response code: 500 for URL:/,/qualified-src-dn=.*src-dn/!d' |
  grep -Po '(?<=qualified-src-dn=).*(?=src-dn)'

sed '/A/,B/!d' d̲eletes каждую строку за исключением (!̲) строк с до следующего после этого.

2
27.01.2020, 21:23

Вот возможное решение на основе PCRE, основанное на аналогичном вопросе. Поиск шаблона и печать предыдущих строк, начиная с другого шаблона.

grep -zPo '.*abc.*(?=(?s)(?(?!abc).)*?xyz)' file

выведет последнюю строку, содержащую abc , которая встречается перед каждым экземпляр xyz

например учитывая файл

1 abc
2 abc
3 abc
4 abc
5 abc
6 bcd
7 cde
8 def
9 xyz
10 xyz

, затем

$ grep -zPo '.*abc.*(?=(?s)(?(?!abc).)*?xyz)' file
5 abc
1
27.01.2020, 21:23

Теги

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