Что ограничивает или разрешает Firefox AppArmor?

Я знаю, что профили AppArmor находятся в /etc/apparmor.d/, но я не знаю, как их интерпретировать. Любой перевод будет просвещен.

6
задан 27 June 2011 в 23:55

18 ответов

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете следующим образом:

'r' read 'w' write 'm' memory map as executable 'k' file locking 'l' creation hard links 'ix' execute and inherit this profile 'Px' execute under another profile, after cleaning the environment 'Ux' execute unconfined, after cleaning the environment

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

Что касается PROC:

Пример:

# for networking network inet stream, network inet6 stream, @{PROC}/[0-9]*/net/if_inet6 r, @{PROC}/[0-9]*/net/ipv6_route r,

и do

cd /proc/ ls *

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net (network) и который содержит файл if_net6 или ipv6_route, они считаются read.

3
ответ дан 25 May 2018 в 21:14
  • 1
    HOME Я понимаю, но не PROC. – Oxwivi 28 June 2011 в 12:26
  • 2
    Также есть несколько строк без каких-либо параметров. – Oxwivi 28 June 2011 в 12:37
  • 3
    поэтому код за ним говорит, какое разрешение он получает в системе для каждого пользователя. – Rinzwind 28 June 2011 в 12:44

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете следующим образом:

'r' read 'w' write 'm' memory map as executable 'k' file locking 'l' creation hard links 'ix' execute and inherit this profile 'Px' execute under another profile, after cleaning the environment 'Ux' execute unconfined, after cleaning the environment

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

Что касается PROC:

Пример:

# for networking network inet stream, network inet6 stream, @{PROC}/[0-9]*/net/if_inet6 r, @{PROC}/[0-9]*/net/ipv6_route r,

и do

cd /proc/ ls *

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net (network) и который содержит файл if_net6 или ipv6_route, они считаются read.

3
ответ дан 25 July 2018 в 21:58

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете следующим образом:

'r' read 'w' write 'm' memory map as executable 'k' file locking 'l' creation hard links 'ix' execute and inherit this profile 'Px' execute under another profile, after cleaning the environment 'Ux' execute unconfined, after cleaning the environment

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

Что касается PROC:

Пример:

# for networking network inet stream, network inet6 stream, @{PROC}/[0-9]*/net/if_inet6 r, @{PROC}/[0-9]*/net/ipv6_route r,

и do

cd /proc/ ls *

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net (network) и который содержит файл if_net6 или ipv6_route, они считаются read.

3
ответ дан 26 July 2018 в 18:07

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете следующим образом:

'r' read 'w' write 'm' memory map as executable 'k' file locking 'l' creation hard links 'ix' execute and inherit this profile 'Px' execute under another profile, after cleaning the environment 'Ux' execute unconfined, after cleaning the environment

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

Что касается PROC:

Пример:

# for networking network inet stream, network inet6 stream, @{PROC}/[0-9]*/net/if_inet6 r, @{PROC}/[0-9]*/net/ipv6_route r,

и do

cd /proc/ ls *

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net (network) и который содержит файл if_net6 или ipv6_route, они считаются read.

3
ответ дан 2 August 2018 в 03:32

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете следующим образом:

'r' read 'w' write 'm' memory map as executable 'k' file locking 'l' creation hard links 'ix' execute and inherit this profile 'Px' execute under another profile, after cleaning the environment 'Ux' execute unconfined, after cleaning the environment

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

Что касается PROC:

Пример:

# for networking network inet stream, network inet6 stream, @{PROC}/[0-9]*/net/if_inet6 r, @{PROC}/[0-9]*/net/ipv6_route r,

и do

cd /proc/ ls *

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net (network) и который содержит файл if_net6 или ipv6_route, они считаются read.

3
ответ дан 4 August 2018 в 19:30

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете так:

 'r' read 'w' write 'm' memory map как исполняемый файл 'k' file locking 'l' creation  жесткие ссылки «ix» выполняют и наследуют этот профиль «Px» выполняются под другим профилем, после очистки среды «Ux» выполняется без ограничений, после очистки среды 

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

Что касается PROC:

Пример:

 # для сетевого потока сетевых сетей,  сетевой поток inet6, @ {PROC} / [0-9] * / net / if_inet6 r, @ {PROC} / [0-9] * / net / ipv6_route r, 

и do

 cd / proc / ls * 

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net ( network ) и содержит файл if_net6 или ipv6_route , они считаются читать .

3
ответ дан 6 August 2018 в 03:39

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете так:

 'r' read 'w' write 'm' memory map как исполняемый файл 'k' file locking 'l' creation  жесткие ссылки «ix» выполняют и наследуют этот профиль «Px» выполняются под другим профилем, после очистки среды «Ux» выполняется без ограничений, после очистки среды 

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

Что касается PROC:

Пример:

 # для сетевого потока сетевых сетей,  сетевой поток inet6, @ {PROC} / [0-9] * / net / if_inet6 r, @ {PROC} / [0-9] * / net / ipv6_route r, 

и do

 cd / proc / ls * 

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net ( network ) и содержит файл if_net6 или ipv6_route , они считаются читать .

3
ответ дан 7 August 2018 в 21:31

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете так:

 'r' read 'w' write 'm' memory map как исполняемый файл 'k' file locking 'l' creation  жесткие ссылки «ix» выполняют и наследуют этот профиль «Px» выполняются под другим профилем, после очистки среды «Ux» выполняется без ограничений, после очистки среды 

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

Что касается PROC:

Пример:

 # для сетевого потока сетевых сетей,  сетевой поток inet6, @ {PROC} / [0-9] * / net / if_inet6 r, @ {PROC} / [0-9] * / net / ipv6_route r, 

и do

 cd / proc / ls * 

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net ( network ) и содержит файл if_net6 или ipv6_route , они считаются читать .

3
ответ дан 10 August 2018 в 09:47

Единственное, что сбивает с толку, - это коды, и вы их интерпретируете так:

 'r' read 'w' write 'm' memory map как исполняемый файл 'k' file locking 'l' creation  жесткие ссылки «ix» выполняют и наследуют этот профиль «Px» выполняются под другим профилем, после очистки среды «Ux» выполняется без ограничений, после очистки среды 

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

Что касается PROC:

Пример:

 # для сетевого потока сетевых сетей,  сетевой поток inet6, @ {PROC} / [0-9] * / net / if_inet6 r, @ {PROC} / [0-9] * / net / ipv6_route r, 

и do

 cd / proc / ls * 

Просмотреть все каталоги с цифрами? Они соответствуют каждому запущенному процессу. Если какой-либо из них содержит каталог net ( network ) и содержит файл if_net6 или ipv6_route , они считаются читать .

3
ответ дан 13 August 2018 в 16:02
  • 1
    HOME Я понимаю, но не PROC. – Oxwivi 28 June 2011 в 12:26
  • 2
    Также есть несколько строк без каких-либо параметров. – Oxwivi 28 June 2011 в 12:37
  • 3
    поэтому код за ним говорит, какое разрешение он получает в системе для каждого пользователя. – Rinzwind 28 June 2011 в 12:44

См. Access Modes, Rule Qualifiers и #include mechanism в справочной странице ...

man apparmor.d

Страница руководства объясняет это довольно подробно. Что касается вашего вопроса о @{PROC}, то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, установленные в файлах в каталоге /etc/apparmor.d/tunables/. В настоящее время эти переменные @{HOME} и @{HOMEDIRS}. Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, которые используют абстракции, должны либо #include <tunables/global>, либо иным образом убедиться, что @{HOME} и @{HOMEDIRS} установлены перед началом определения профиля. Утилиты aa-autodep(8) и aa-genprof(8) автоматически генерируют #include <tunables/global> в сгенерированных профилях.

Если вы посмотрите в /etc/apparmor.d/tunables/global, вы увидите, что есть еще #include <tunables/proc>. Содержимое этого файла ...

# Copyright (C) 2006 Novell/SUSE... GNU GPLv2... more license info...
# @{PROC} is the location where procfs is mounted.
@{PROC}=/proc/

Итак, @{PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5).

1
ответ дан 25 May 2018 в 21:14

См. Access Modes, Rule Qualifiers и #include mechanism в справочной странице ...

man apparmor.d

Страница руководства объясняет это довольно подробно. Что касается вашего вопроса о @{PROC}, то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, установленные в файлах в каталоге /etc/apparmor.d/tunables/. В настоящее время эти переменные @{HOME} и @{HOMEDIRS}. Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, которые используют абстракции, должны либо #include <tunables/global>, либо иным образом убедиться, что @{HOME} и @{HOMEDIRS} установлены перед началом определения профиля. Утилиты aa-autodep(8) и aa-genprof(8) автоматически генерируют #include <tunables/global> в сгенерированных профилях.

Если вы посмотрите в /etc/apparmor.d/tunables/global, вы увидите, что есть еще #include <tunables/proc>. Содержимое этого файла ...

# Copyright (C) 2006 Novell/SUSE... GNU GPLv2... more license info... # @{PROC} is the location where procfs is mounted. @{PROC}=/proc/

Итак, @{PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5).

1
ответ дан 25 July 2018 в 21:58

См. Access Modes, Rule Qualifiers и #include mechanism в справочной странице ...

man apparmor.d

Страница руководства объясняет это довольно подробно. Что касается вашего вопроса о @{PROC}, то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, установленные в файлах в каталоге /etc/apparmor.d/tunables/. В настоящее время эти переменные @{HOME} и @{HOMEDIRS}. Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, которые используют абстракции, должны либо #include <tunables/global>, либо иным образом убедиться, что @{HOME} и @{HOMEDIRS} установлены перед началом определения профиля. Утилиты aa-autodep(8) и aa-genprof(8) автоматически генерируют #include <tunables/global> в сгенерированных профилях.

Если вы посмотрите в /etc/apparmor.d/tunables/global, вы увидите, что есть еще #include <tunables/proc>. Содержимое этого файла ...

# Copyright (C) 2006 Novell/SUSE... GNU GPLv2... more license info... # @{PROC} is the location where procfs is mounted. @{PROC}=/proc/

Итак, @{PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5).

1
ответ дан 26 July 2018 в 18:07

См. Access Modes, Rule Qualifiers и #include mechanism в справочной странице ...

man apparmor.d

Страница руководства объясняет это довольно подробно. Что касается вашего вопроса о @{PROC}, то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, установленные в файлах в каталоге /etc/apparmor.d/tunables/. В настоящее время эти переменные @{HOME} и @{HOMEDIRS}. Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, которые используют абстракции, должны либо #include <tunables/global>, либо иным образом убедиться, что @{HOME} и @{HOMEDIRS} установлены перед началом определения профиля. Утилиты aa-autodep(8) и aa-genprof(8) автоматически генерируют #include <tunables/global> в сгенерированных профилях.

Если вы посмотрите в /etc/apparmor.d/tunables/global, вы увидите, что есть еще #include <tunables/proc>. Содержимое этого файла ...

# Copyright (C) 2006 Novell/SUSE... GNU GPLv2... more license info... # @{PROC} is the location where procfs is mounted. @{PROC}=/proc/

Итак, @{PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5).

1
ответ дан 2 August 2018 в 03:32

См. Access Modes, Rule Qualifiers и #include mechanism в справочной странице ...

man apparmor.d

Страница руководства объясняет это довольно подробно. Что касается вашего вопроса о @{PROC}, то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, установленные в файлах в каталоге /etc/apparmor.d/tunables/. В настоящее время эти переменные @{HOME} и @{HOMEDIRS}. Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, которые используют абстракции, должны либо #include <tunables/global>, либо иным образом убедиться, что @{HOME} и @{HOMEDIRS} установлены перед началом определения профиля. Утилиты aa-autodep(8) и aa-genprof(8) автоматически генерируют #include <tunables/global> в сгенерированных профилях.

Если вы посмотрите в /etc/apparmor.d/tunables/global, вы увидите, что есть еще #include <tunables/proc>. Содержимое этого файла ...

# Copyright (C) 2006 Novell/SUSE... GNU GPLv2... more license info... # @{PROC} is the location where procfs is mounted. @{PROC}=/proc/

Итак, @{PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5).

1
ответ дан 4 August 2018 в 19:30

См. Access Modes, Rule Qualifiers и #include mechanism в справочной странице ...

man apparmor.d

Страница руководства объясняет это довольно подробно. Что касается вашего вопроса о @{PROC}, то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, установленные в файлах в каталоге /etc/apparmor.d/tunables/. В настоящее время эти переменные @{HOME} и @{HOMEDIRS}. Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, которые используют абстракции, должны либо #include <tunables/global>, либо иным образом убедиться, что @{HOME} и @{HOMEDIRS} установлены перед началом определения профиля. Утилиты aa-autodep(8) и aa-genprof(8) автоматически генерируют #include <tunables/global> в сгенерированных профилях.

Если вы посмотрите в /etc/apparmor.d/tunables/global, вы увидите, что есть еще #include <tunables/proc>. Содержимое этого файла ...

# Copyright (C) 2006 Novell/SUSE... GNU GPLv2... more license info... # @{PROC} is the location where procfs is mounted. @{PROC}=/proc/

Итак, @{PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5).

1
ответ дан 6 August 2018 в 03:39

См. Режимы доступа , Квалификаторы правил и #include механизм на странице руководства ...

  man apparmor.d  

Персональная страница объясняет это довольно подробно. Что касается вашего вопроса о @ {PROC} , то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, заданные в файлах в /etc/apparmor.d/tunables/ [ ! d6]. Эти переменные в настоящее время @ {HOME} и @ {HOMEDIRS} . Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, использующие абстракции, должны либо #include & lt; tunables / global & gt; , либо иначе гарантировать, что @ {HOME} и @ {HOMEDIRS} устанавливаются перед началом определения профиля. Утилиты aa-autodep (8) и aa-genprof (8) автоматически выдают #include & lt; tunables / global & gt; в сгенерированных профилях .

Если вы посмотрите в /etc/apparmor.d/tunables/global , вы увидите еще один #include & lt; tunables / proc & gt; . Содержимое этого файла: ....

  # Copyright (C) 2006 Novell / SUSE ... GNU GPLv2 ... больше информации о лицензии ... # @ {PROC} - это  где монтируется procfs.  @ {PROC} = / proc /  

Итак, @ {PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5) .

1
ответ дан 7 August 2018 в 21:31

См. Режимы доступа , Квалификаторы правил и #include механизм на странице руководства ...

  man apparmor.d  

Персональная страница объясняет это довольно подробно. Что касается вашего вопроса о @ {PROC} , то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, заданные в файлах в /etc/apparmor.d/tunables/ [ ! d6]. Эти переменные в настоящее время @ {HOME} и @ {HOMEDIRS} . Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, использующие абстракции, должны либо #include & lt; tunables / global & gt; , либо иначе гарантировать, что @ {HOME} и @ {HOMEDIRS} устанавливаются перед началом определения профиля. Утилиты aa-autodep (8) и aa-genprof (8) автоматически выдают #include & lt; tunables / global & gt; в сгенерированных профилях .

Если вы посмотрите в /etc/apparmor.d/tunables/global , вы увидите еще один #include & lt; tunables / proc & gt; . Содержимое этого файла: ....

  # Copyright (C) 2006 Novell / SUSE ... GNU GPLv2 ... больше информации о лицензии ... # @ {PROC} - это  где монтируется procfs.  @ {PROC} = / proc /  

Итак, @ {PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5) .

1
ответ дан 10 August 2018 в 09:47

См. Режимы доступа , Квалификаторы правил и #include механизм на странице руководства ...

  man apparmor.d  

Персональная страница объясняет это довольно подробно. Что касается вашего вопроса о @ {PROC} , то есть переменные, которые могут быть установлены внутри файлов include. На странице man apparmor.d (5) ...

Некоторые абстракции полагаются на переменные, заданные в файлах в /etc/apparmor.d/tunables/ [ ! d6]. Эти переменные в настоящее время @ {HOME} и @ {HOMEDIRS} . Переменные не могут быть заданы в области профиля; они могут быть установлены только перед профилем. Поэтому любые профили, использующие абстракции, должны либо #include & lt; tunables / global & gt; , либо иначе гарантировать, что @ {HOME} и @ {HOMEDIRS} устанавливаются перед началом определения профиля. Утилиты aa-autodep (8) и aa-genprof (8) автоматически выдают #include & lt; tunables / global & gt; в сгенерированных профилях .

Если вы посмотрите в /etc/apparmor.d/tunables/global , вы увидите еще один #include & lt; tunables / proc & gt; . Содержимое этого файла: ....

  # Copyright (C) 2006 Novell / SUSE ... GNU GPLv2 ... больше информации о лицензии ... # @ {PROC} - это  где монтируется procfs.  @ {PROC} = / proc /  

Итак, @ {PROC} - это просто абстрактная переменная, указывающая на файловую систему proc (5) .

1
ответ дан 13 August 2018 в 16:02

Другие вопросы по тегам:

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