Is it MAC or DAC

Вот двухпроходное решение

awk -f runawk first_pass=1 file first_pass=0 file

, где содержимое runawk равно

FNR == 1 && /^Id/{
  if (!first_pass) print
  next
}
first_pass{
  if (!($1 in max)){
    min[$1] = max[$1] = $3
    next
  }
  max[$1] = $3 > max[$1]? $3: max[$1]
  min[$1] = $3 < min[$1]? $3: min[$1]
}
!(first_pass){
    print $1, $2, $3, max[$1] - min[$1]
}
1
06.08.2016, 00:37
1 ответ

Возможности - это уровень повышения привилегий, аналогичный setuid, но более детализированный; например, программа может получить привилегии CAP_NET_RAW без полного доступа корневого уровня. Это большой шаг вперед для «минимально необходимых привилегий» и контроля над сервером, поэтому он хорошо , но не является обязательным контролем доступа; это повышение привилегий.

SELinux работает с концепциями меток и разрешений между метками. Таким образом, вы можете присвоить процессу httpd метку «веб-сервер», всем файлам внутри веб-дерева - метку «веб-файлы», а затем предоставить «процессы с меткой веб-сервера могут читать веб-файлы и ничего больше».

Эта конструкция маркировки находится над существующими разрешениями файловой системы и разрешениями ACL. Даже если файл доступен для чтения всем, SELinux может запретить доступ к нему. Чтобы процессу был предоставлен доступ, он должен пройти как разрешения DAC (разрешения файловой системы), так и разрешения MAC (SELinux).

С коммерческой точки зрения, eTrust Access Control (или Control Minder, или как там он сейчас называется; первоначально SEOS ) является еще одним уровнем MAC. Это не использует метки для управления вещами, но разрешает правила, определенные путем, и программы контрольных сумм, если они используются в правиле. Это более гибко, чем метки SELinux (и является кроссплатформенным; например, Solaris, AIX, HPUX). Опять же, это находится выше уровня DAC файловой системы; оба должны одобрить запрос.

1
27.01.2020, 23:47

Теги

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