Терминальная команда (названный не от SU), который ограничил бы процесс от записи до всех каталогов, но один?

В контексте файловых систем Unix или Linux "метаданные" являются информацией о файле: идентификатор пользователя того, кто владеет им, полномочия, тип файла (специальный, регулярный, именованный канал, и т.д.) и который используют дисковые блоки файл. Это все обычно сохраняется в дисковой структуре, названной "inode". Одно из сведений в inode - то, сколько "ссылок" на файл существует. Регулярный файл обычно имеет 1, но каталог (который является главным образом файлом со специальным предложением, "я - каталог" метка типа файла) имеет по крайней мере 2 ссылки. Все видимое в файловой системе имеет одну ссылку из каталога, в котором это появляется, но так как каждый каталог имеет имя a".", а также его обычное имя, у них есть 2 ссылки.

fsck может просканировать файловую систему "inode блоки" (дисковые блоки, которые содержат inode структуры данных) найти inodes, которые имеют число каналов, больше, чем 0. Файл, представленный inode с числом каналов, больше, чем 0, должен появиться в каталоге где-нибудь. Если это inode не появляется в каталоге, fsck помещает файл в известный каталог, обычно "lost+found" наверху файловой системы. Обратите внимание, что файловые системы Unix/Linux обычно не имеют никаких метаданных в inode, о котором каталоге inode принадлежит, только информация в файле каталога, о котором регистрирует каталог, содержит.

fsck может использовать другие метаданные, как которые дисковые блоки содержит данные файла. fsck может проверить, появляются ли дисковые блоки, которые, как inode говорит, принадлежат файлу, в "освобожденном списке файловой системы" дисковых блоков. Потенциально fsck мог проверить, содержат ли два или больше inodes те же дисковые блоки, которые указали бы на некоторое повреждение нескольких-выделений.

Выделение дисковых блоков в файлы появляется в дисковом inodes. Древовидная структура членства в каталоге файловой системы появляется в каталогах. inodes не появляются и не выделяются, каталоги. fsck использует в своих интересах это разделение, чтобы сделать восстановления. Это очень отличается от систем как MS-DOS или ранний Windows, где "таблица размещения файлов" содержала обе древовидных структуры (членство в каталоге) и выделение дискового блока. Повредите "FAT", и необходимо пойти дисковые блоки сканирования для наблюдения то, что они содержат, и как они могли бы совместиться.

1
15.02.2016, 18:29
2 ответа

Создайте пользователя, это выделено запуску этого приложения. Дайте это пользовательское разрешение записи на notRestricted каталог и больше нигде. Так как Вы не возражаете, если приложение может читать отовсюду, Вам не нужно ничто более сложное.

Приложение все еще сможет записать в публично перезаписываемые каталоги: /tmp и /var/tmp на большинстве установок. Если это - проблема, настроило список управления доступом на этих каталогах и отклоняет разрешение записи к приложению, например, на Linux

setfacl -m user:testUser:0 /tmp /var/tmp

Удостоверьтесь, что пользователь не находится в группе, которая имеет разрешение записи к некоторому каталогу, где Вы не хотите, чтобы приложение записало.

3
27.01.2020, 23:17
  • 1
    Решетка!) И Вы могли отправить команду для создания нового пользователя не от SU (один, которому мы даем право записать в только что одна папка)? подразумевать, что папка уже младше некоторой существующей пользовательской фс, как мы создали бы другого пользователя не если его withanething, но что папка? –  Kabumbus 16.06.2011, 15:58
  • 2
    @Kabumbus: Использовать useradd, adduser, или безотносительно утилиты Ваш вариант Unix должен создать пользователя. Самый легкий способ управлять доступом к каталогу состоит в том, чтобы сделать его и его файлы (но ничто иное) принадлежавший недавно созданной группе, и сделать нового пользователя членом той группы (и никакой другой группы). –  Gilles 'SO- stop being evil' 16.06.2011, 16:59

Это - то, что делает система песочницы хинду. Это не особенно хорошо документируется, и я не уверен, как трудный это должно было бы получить работу нехинду системы, но это, вероятно, выполнимо.

Можно получить текущую стабильную версию здесь и посмотреть в etc/sandbox.conf, чтобы видеть, как настроить его.

2
27.01.2020, 23:17
  • 1
    Так... это - печальные "Пакеты, не должен достигать этого при помощи подлых приемов, чтобы заставить предупреждения песочницы не обнаружиться — песочница там, чтобы гарантировать, что двоичные пакеты будут работать правильно, и что плохо записанный Make-файл не вызовет проблемы". подразумевать, что песочница действительно не тестируется ни на что, что попробовало бы к brakeout от нее..., но я дам ей попытку =), –  Kabumbus 16.06.2011, 16:03

Теги

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