запустите процесс так, чтобы он не мог породить новые

Konqueror http://www.konqueror.org/ имеет простые способы идти назад и вперед между окнами терминала и файловым менеджером. Посмотрите обсуждение форума в: http://www.knoppix.net/forum/threads/3838-How-to-Open-Konqueror-in-the-Directory-as-Your-Current-Shell В завоевателе, вводящем ctrl-t, получает Вас терминал в текущем каталоге, и в оболочке kfmclient должностное лицо. открывает завоевателя в текущем каталоге.

4
25.08.2011, 23:32
2 ответа

Это походит на задание для системы Мандатного управления доступом как SELinux или AppArmor.

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

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

Другая опция состоит в том, чтобы использовать chroot или тюрьмы. С этими функциями OS, вместо того, чтобы предотвратить файловый ввод-вывод или выполнение программы, Вы просто создали бы ограниченную среду, где нет ничего чувствительного, чтобы Ваша недоверяемая программа читала, записала или выполнилась. Ваша программа могла только воздействовать на файлы, которые Вы помещаете в "поле" с нею.

2
27.01.2020, 20:59

Если Ваша система использует pam, создайте некоторого преданного недоверяемого пользователя и взгляните на /etc/security/limits.conf:

#Each line describes a limit for a user in the form:
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - an user name
#        - a group name, with @group syntax
[...]
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit (KB)
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to values: [-20, 19]
#        - rtprio - max realtime priority

Вы конкретно ищете nproc и возможно nofile. Хотя, я сомневаюсь, что любая программа работала бы с user hard nofile 0. Лучше скорректируйте полномочия файловой системы так, чтобы Ваш преданный пользователь не мог получить доступ ни к чему, что Вы не хотите это к доступу.

Отказ от ответственности: Я никогда не использовал это сам. (Я имею в виду pam материал. Создание преданного недоверяемого пользователя не может быть плохим.)

1
27.01.2020, 20:59
  • 1
    Также после небольшого количества взгляда нашел это: setrlimit (RLIMIT_CPU...) –  ren 26.08.2011, 12:47
  • 2
    @ren: да, я думал, что была обертка оболочки для этого, но я не мог найти его. Возможно, это было доступно в ulimit, но страница справочника не будет больше говорить это. –  Stéphane Gimenez 26.08.2011, 12:51

Теги

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