The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Раздельное представление "/tmp" для пользователей в Linux

19.07.2007 11:20

В заметке "Poly instantiated tmpdirs" рассказывается о настройке разделения представления содержимого директории /tmp для разных пользователей в Fedora Linux (для каждого пользователя свой /tmp).

Функциональность достигается при помощи технологии "Shared subtree" (создание отдельных пространств имен в ФС с привязкой к определенному пользователю) включенной в состав Linux ядра начиная с версии 2.6.15 и PAM модуля pam_namespace.

  1. Главная ссылка к новости (http://james-morris.livejourna...)
Лицензия: CC-BY
Тип: английский / Практикум
Ключевые слова: pam, fs, tmp, limit, user
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, zuborg (?), 13:04, 19/07/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    глядишь, скоро Linux и Plan9 догонит ))
     
     
  • 2.2, HardKiller (?), 17:28, 19/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    бред какой... это Plan9 до Линукса еще догонять и догонять
     
     
  • 3.4, nikzze (?), 17:45, 19/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В плане целостного концепта, linux далеко позади как plan9, так и inferno.
     

  • 1.3, gorynych (??), 17:37, 19/07/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Народ хлебом не корми, дай флейм поразводить ...
    Неужели конструктивно комментарий нельзя дать?
    Вот в первый раз слышу про технологию "Shared subtree", поскольку ядро не копаю ...
    Может быть еще аналоги есть? Насколько безопасность повышается? и т.д.
     
     
  • 2.5, Аноним (-), 20:37, 19/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    в комментах к статье написано чем это полезно и почему это может быть неприемлемо. На серверах с небольшим кол-вом пользователей это ТРУ.
     
  • 2.6, gvy (ok), 03:06, 20/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    К федоре в очередной раз изобрели колесо...

    В ALT довольно давно попросту давали ~/tmp в /etc/skel и по умолчанию выставляли TMPDIR=$HOME/tmp.  IMHO это очень разумно в том плане, что временные пользовательские данные -- тоже пользовательские данные, а их разнесение таким образом получается просто и автоматически.

    Сейчас внедрили pam_mktemp (из Owl), к которому был ряд претензий, наиболее существенные из которых уже порешали.  Хотя мне всё равно больше нравится применять $HOME/tmp, чем /tmp/.private/$USER в качестве персональных времянок.

    Не помогает только клиническим случаям, которые в переменные не смотрят, а в любом случае ломятся по забитым в исходник /tmp или /var/tmp.

    Касательно безопасности -- разделение привилегий (в т.ч. по использованию временных каталогов и файлов) является одной из основных техник, применяемых для снижения опасности использования *NIX.  Напомню, что /tmp является следующей после всемогущего root архитектурной проблемой в оригинальной концепции; любителям плана также напомню, что практически применимые схемы ограничения этих проблем для Linux (различные реализации MAC/RBAC и вот такое изменение TMPDIR) доступны весьма давно.

     
     
  • 3.7, Аноним (-), 07:49, 20/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Альт... вы еще венду вспомните -- там давно temp="%userprofile%/local settings/temp"
     
     
  • 4.8, gvy (ok), 11:19, 20/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Альт... вы еще венду вспомните -- там давно temp="%userprofile%/local settings/temp"

    Часом не потрудитесь указать, что именно в этом TEMP плохо?

     
     
  • 5.12, Аноним (-), 12:32, 20/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Сама идея временных файлов порочна. Для IPC есть более вменяеные и надежные механизмы. А для обработки объемных данных лучше либо виртуальная память со свопом, либо постоянные файлы (в качестве бонуса make), либо база данных. Устаревшие программы и наколенные скрипты одминов часто и не смотрят на переменные среды, поэтому решение федоры работает, а альта нет.
     
     
  • 6.13, gvy (ok), 12:55, 20/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Сама идея временных файлов порочна.

    Сама идея обхода проблемы временных файлов вместо популяризации сведений и методов решения порочна.

    >Для IPC есть более вменяеные и надежные механизмы.

    Помимо P, есть ещё U...

    >А для обработки объемных данных лучше либо виртуальная память со
    >свопом

    (BTW в ALT 4.0 по умолчанию /tmp живёт на tmpfs, хоть IMHO это противоречивый вариант; но как раз виртуальная со свопом и выходит)

    >либо постоянные файлы (в качестве бонуса make), либо база данных.

    У этих вариантов тоже есть недостатки:
    - файлы остаются файлами и их надо куда-то класть
      (+приведите-ка критерий отличия постоянных от временных,
      помимо выживания при reboot или через месяц, что тут неважно);
    - база данных либо не отличается принципиально (в случае
      встраиваемых навроде sqlite или *dbm), либо требует отдельной мороки
      по своей организации и приносит с собой отдельные проблемы.

    >Устаревшие программы и наколенные скрипты одминов часто и не смотрят на
    >переменные среды, поэтому решение федоры работает, а альта нет.

    "Мы предпочитаем ядерные костыли, чем дописать семь, ну пятнадцать*, байт в шкрыпт".  Даже если это каждый шкрыпт, который отозвался на fgrep -r /tmp.

    Что ж, тоже подход.  В ALT (как дистрибутиве, так и сообществе) популярней другой -- исправлять исправимое и изолировать/игнорировать неисправимое.

    Соответственно мне устаревшие или закрытые программы с такой степенью невменяемости при надобности в них оказывается проще засадить при помощи chrootuid(1) или вообще в отдельный VPS.  А админов из тех, кто может на такую должность претендовать, обучить внятному применению временных каталогов вместо того, чтоб вытаптывать грабли в этажерках.

    [*] "$TMPDIR" или "${TMPDIR:-/tmp}"

     
  • 4.10, yantux (??), 11:30, 20/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Альт... вы еще венду вспомните -- там давно temp="%userprofile%/local settings/temp"

    Думаю это решение наиболее разумно, чем сатанинские MS_SHARED, MS_BIND и прочее что не поддерживается файловыми системами.

     

  • 1.11, yantux (??), 11:33, 20/07/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сотонинская технология.

    Файловая система не поддерживает MS_SHARED, MS_BIND, MS_PRIVATE, MS_SLAVE. Зачем оно было изобретено?

    Флаг MS_SHARED снимается только установкой флага MS_SLAVE, да и то криво - смотрите исходник ядра.

    Вообще "Shared subtree" есть кривое поделие, не поддерживаемое файловыми системами, нафиг не нужно. К использованию не рекомендуется.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру