Контролируйте количество доступа к файлу пользователем

Ваши первые три команды являются преступником:

:a
N
$!ba

Это читает весь файл в память сразу. Следующий сценарий должен только сохранить один сегмент в памяти за один раз:

% cat test.sed
#!/usr/bin/sed -nf

# Append this line to the hold space. 
# To avoid an extra newline at the start, replace instead of append.
1h
1!H

# If we find a paren at the end...
/)$/{
    # Bring the hold space into the pattern space
    g
    # Remove the newlines
    s/\n//g 
    # Print what we have
    p
    # Delete the hold space
    s/.*//
    h
}
% cat test.in
a
b
c()
d()
e
fghi
j()
% ./test.sed test.in
abc()
d()
efghij()

Это awk решение распечатает каждую строку, как это прибывает, таким образом, это будет только иметь одну строку в памяти за один раз:

% awk '/)$/{print;nl=1;next}{printf "%s",$0;nl=0}END{if(!nl)print ""}' test.in
abc()
d()
efghij()
2
24.01.2014, 12:59
1 ответ

Не со значением по умолчанию ext2/3/4 файловая система Linux, я думаю, что Ваше единственное решение состоит в том, чтобы зарегистрировать использование Вашего файла в файл журнала (но люди могли найти, что файл и изменяет его.
Таким образом, мой совет состоял бы в том, чтобы использовать небольшой веб-сервис (PHP, Python или даже perl тот инкремент значение в дб так люди не мог изменить значение легко).

Редактирование 1:
Хорошо кажется, что некоторое программное обеспечение могло выполнить такую задачу, см. сообщение
К сценарию для подсчета количества раз файлом получили доступ

Отредактируйте 2 (как состояние комментаторами):
Можно запустить с хорошего учебного руководства на auditd deamon.
И также ищите Google, или Утиная утка идут для auditd который является названием deamon, Вам будет нужно.

3
27.01.2020, 22:06
  • 1
    @deowood мне требуется поиск 2 минут для нахождения этого, Вы могли попытаться сделать свою домашнюю работу прежде, чем спросить в тот быстрый следующий раз. ;-) –  Kiwy 24.01.2014, 10:57
  • 2
    я сделал свою домашнюю работу, но не имел никакого успеха; вероятно, неправильный выбор ключевых слов! –  deowood 24.01.2014, 13:00

Теги

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