Прочь ошибкой 1 года на дате GNU?

Файлы истории Shell являются плохим способом контролировать команды. Они могут тривиально быть изменены или обойдены пользователями. Они только полезны, если Вы доверяете пользователям не к сознательно или случайно обходите механизм аудита. Например, команды, запущенные с GUI, от редактора, и т.д. не зарегистрированы этот путь. Существует много других способов, которыми пользователь мог запустить незарегистрированные команды и даже поддержать вероятное отрицание, что они делали его для удобства или не понимая это и не как преднамеренную попытку обойти меры безопасности.

Если Вы делаете только добавление файлов истории (который требует выполнения chattr +a как корень на файле истории), затем все, это было зарегистрировано, остается зарегистрированным, но все еще легко обойти запись.

Вместо того, чтобы разделять файлы истории, Вы могли сохранить единственный файл истории и регулярно создавать резервную копию его. Это сохранит дату, в которую команды выполнялись, но не терминал.

Если у Вас должна быть некоторая уверенность, что журналы соответствуют командам, которые выполнялись, файлы истории оболочки являются неправильным инструментом. Используйте контрольного демона вместо этого. Настройте его для входа всех execve вызовы.

auditctl -A exit,always -S execve

Посмотрите следующие вопросы для получения дополнительной информации:

4
06.01.2014, 17:04
2 ответа

Я не хотел ступать на пальцы ног @Jordanm путем редактирования его ответа слишком много, но этих дополнительных предложений с недельной даты ISO, которую он процитировал, были также полезны в понимании проблемы, которую выделил OP.

выборка № 1 - относительно недельных дат ISO

Система использует тот же цикл 7 рабочих дней как Григорианский календарь. Недели запускаются с понедельника. Годы нумерации недели ISO имеют год, нумеруя, который является приблизительно тем же как Грегорианскими годами, но не точно, так как год нумерации недели ISO (также названный годом ISO или недельным годом неофициально) имеет 52 или 53 целых недели. Это составляет 364 или 371 день вместо обычных 365 или 366 дней. Дополнительная неделя упомянута здесь как неделя прыжка, хотя ISO 8601 не использует этот термин.

выборка № 2 - я также нашел этот бит полезным в понимании проблемы

Первая неделя года является неделей, которая содержит первый четверг года. Это - также (эквивалентно) неделя, содержащая 4-й день января.

Пересматривание команды даты

Таким образом, если Вы смотрите на dateстраница справочника Вы заметите эту опцию в разделе форматирования.

   %G     year of ISO week number (see %V); normally useful only with %V

Таким образом, когда Вы хотите распечатать год наряду с неделей ISO (%V) необходимо действительно использовать %G в течение года а не типичного %Y.

Пример

Таким образом, когда дата моей системы - по сообщениям это:

$ date
Mon Jan  6 15:13:32 EST 2014

Эта команда сообщит о недельной дате ISO правильно, поскольку Вы ищете:

$ date --date "last week" +"%G-%V"
2014-01
4
27.01.2020, 20:49

Это - нормальное поведение в течение недели ISO.

Число года нумерации недели ISO отклоняется от числа Грегорианского года на, если применимо, пятница, в субботу, и в воскресенье или суббота и в воскресенье, или только воскресенье, в начале Грегорианского года (которые являются в конце предыдущего года ISO), и понедельник, во вторник и в среду, или понедельник и во вторник или только понедельник, в конце Грегорианского года (которые находятся на неделе 01 из следующего года ISO). В период 4 января до 28 декабря и во все четверги количество года нумерации недели ISO всегда равно Грегорианскому числу года.

Источник: http://en.wikipedia.org/wiki/ISO_week_date

5
27.01.2020, 20:49
  • 1
    Уф. Тот абзац мог использовать немного чистки, IMO... –  a CVn 06.01.2014, 17:12
  • 2
    @MichaelKjörling Да, это - запутывающее чтение. Возможно, цитирование формулы было бы лучше. –  jordanm 06.01.2014, 17:14
  • 3
    Спасибо! является там средством? (как я произвожу 2014-01 сегодня?) –  sds 06.01.2014, 17:53
  • 4
    @jordanm - надежда Вы не возражаете, не пытаясь украсть Ваш гром. Вы нашли информацию, я просто повторил ее немного по-другому 8-) –  slm♦ 06.01.2014, 22:16
  • 5
    @slm - нет, я не возражаю. Я уже дал Вам upvote. –  jordanm 06.01.2014, 22:16

Теги

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