правильный порядок при комбинировании различных опций команды

По умолчанию для системных программ и библиотечных файлов нет особой защиты целостности, кроме прав доступа к файлам (и, возможно, -чтение только при монтировании ); нет такого понятия, как особо защищенные системные файлы. В этом смысле ответ да, это верно .

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

Другой подход заключается в защите системы от нарушений целостности с помощью надстроек -для контроля доступа на основе ролей -(RBAC )и обязательного контроля доступа (MAC ), таких как SELinux или Grsecurity, где при правильном применении даже root не мог изменять системные файлы, если только он не входит в назначенную роль. Ключевым моментом здесь является разработка политики, которая запрещает нежелательные действия, не нарушая законной активности приложений. Это далеко не тривиально и поэтому также редко встречается.

Однако, прежде чем рассматривать все это подробно, необходимо определить модель атаки и конкретизировать сценарий. :20 лет назад машины Unix были настоящими многопользовательскими -системами, к которым потенциально ненадежные пользователи имели доступ. система. Эти дни прошли; сегодня у вас есть серверы с функциональными пользователями, такими как «веб-сервер» или «база данных», или у вас есть настольные системы на персональных компьютерах с одним пользователем.

0
30.07.2019, 09:11
1 ответ

Проблема чаще всего связана с параметрами, требующими следующего аргумента. Давайте посмотрим на tar в качестве примера.
-fтребует имя файла, поэтому за ним должно следовать имя файла.

Общая форма разбора аргументов в псевдокоде может помочь проиллюстрировать это :Помните, что аргументы передаются команде, так как векторный файл(-cvfбудет разбит наargv[0]=c argv[1]=v argv[2]=f argv[3]=file)

While $argv is not empty
do
   case $argv[0] in # argv[0] is pointer to leftmost, or first, arg
       c) # single element argument
          set internal variable create_mode=true
          shift # remove argv[0], shifting all indexes down by 1, so argv[0] now points to former argv[1]
       f) # A double element argument
          set internal variable use_file=true
          shift
          set internal variable file_name=$argv[0] # We did a shift, so now argv[0] points to the argument following 'f'
          shift
       v) # Another single element argument 
          set internal variable verbose=true
          shift
      # and so on, there is a case for each possible argument, and shifts according to the number of elements in each argument
done 

Цикл продолжит обработку каждого аргумента в argv, пока argv (вектор аргументов )не станет пустым.
Как видите, если аргумент состоит из нескольких частей, из-за реализации обработки аргументов все его части должны следовать сразу за аргументом.

0
28.01.2020, 02:29

Теги

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