URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 37955
[ Назад ]

Исходное сообщение
"OpenNews: Раздельное представление '/tmp' для пользователей в Linux"

Отправлено opennews , 19-Июл-07 13:04 
В заметке "Poly instantiated tmpdirs (http://skvidal.wordpress.com/2007/07/13/poly-instantiated-tm.../)" рассказывается о настройке разделения представления содержимого директории /tmp для разных пользователей в Fedora Linux (для каждого пользователя свой /tmp).


Функциональность достигается при помощи технологии "Shared subtree (http://lwn.net/Articles/159077/)" (создание отдельных пространств имен в ФС с привязкой к определенному пользователю) включенной в состав Linux ядра начиная с версии 2.6.15 и PAM модуля pam_namespace (http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-...).


URL: http://james-morris.livejournal.com/21660.html
Новость: http://www.opennet.me/opennews/art.shtml?num=11465


Содержание

Сообщения в этом обсуждении
"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено zuborg , 19-Июл-07 13:04 
глядишь, скоро Linux и Plan9 догонит ))

"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено HardKiller , 19-Июл-07 17:28 
бред какой... это Plan9 до Линукса еще догонять и догонять

"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено nikzze , 19-Июл-07 17:45 
В плане целостного концепта, linux далеко позади как plan9, так и inferno.

"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено gorynych , 19-Июл-07 17:37 
Народ хлебом не корми, дай флейм поразводить ...
Неужели конструктивно комментарий нельзя дать?
Вот в первый раз слышу про технологию "Shared subtree", поскольку ядро не копаю ...
Может быть еще аналоги есть? Насколько безопасность повышается? и т.д.

"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено Аноним , 19-Июл-07 20:37 
в комментах к статье написано чем это полезно и почему это может быть неприемлемо. На серверах с небольшим кол-вом пользователей это ТРУ.

"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено gvy , 20-Июл-07 03:06 
К федоре в очередной раз изобрели колесо...

В 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) доступны весьма давно.


"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено Аноним , 20-Июл-07 07:49 
Альт... вы еще венду вспомните -- там давно temp="%userprofile%/local settings/temp"

"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено gvy , 20-Июл-07 11:19 
>Альт... вы еще венду вспомните -- там давно temp="%userprofile%/local settings/temp"

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


"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено Аноним , 20-Июл-07 12:32 
Сама идея временных файлов порочна. Для IPC есть более вменяеные и надежные механизмы. А для обработки объемных данных лучше либо виртуальная память со свопом, либо постоянные файлы (в качестве бонуса make), либо база данных. Устаревшие программы и наколенные скрипты одминов часто и не смотрят на переменные среды, поэтому решение федоры работает, а альта нет.

"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено gvy , 20-Июл-07 12:55 
>Сама идея временных файлов порочна.

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

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

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

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

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

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

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

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

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

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

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

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


"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено yantux , 20-Июл-07 11:30 
>Альт... вы еще венду вспомните -- там давно temp="%userprofile%/local settings/temp"

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


"Раздельное представление '/tmp' для пользователей в Linux"
Отправлено yantux , 20-Июл-07 11:33 
Сотонинская технология.

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

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

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