Назад | Перейти на главную страницу

Можно ли ограничить / tmp до 0770 разрешений?

Я хотел бы запретить двум пользователям без полномочий root в одной системе Linux обмениваться файлами друг с другом (используя / tmp). Возможно ли это как-нибудь?

Если я ограничиваю /tmp к 0770 (root:root как владелец: группа) и определите индивидуальный TMPDIR через export TMPDIR=~/tmp; mkdir -p $TMPDIR в самом начале процесса загрузки (скажем, через rc[35].d скрипт), то у GConf2 возникают проблемы. Я получаю типичную ошибку:

/usr/libexec/gconf-sanity-check-2 exited with status 256

Кажется, что все работает нормально на уровне выполнения 3 (без графического интерфейса) ... хотя я мог ошибаться, заключая это преждевременно, и проблемы могут появиться позже и на уровне выполнения 3.

Мой опыт работы с TMPDIR похоже, указывает на то, что он либо не работает, либо недостаточно документирован, либо не поддерживается всеми приложениями Gnome.

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

groupadd tmpdir-denied
setfacl -m g:tmpdir-denied:- /tmp    # the specific group has no access to /tmp
getfacl /tmp                         # see permissions

Не поймите меня неправильно. ACL сломает вещи тоже, если не сейчас, то в будущем, но, надеюсь, влияние будет несколько ограниченным. Я бы как минимум проверил, могу ли я (1) сделать резервную копию (2) восстановить (3) систему исправлений после этих изменений.

Это было бы крайне плохой идеей. Он нарушает чрезвычайно распространенный (повсеместный) и давний (как «с незапамятных времен») набор предположений, которые, вероятно, укоренились во многих приложениях и утилит.

Было бы гораздо лучше создать chroot-тюрьмы или виртуальные подсистемы и ограничить этим пользователей, а не пытаться просто заблокировать их из / tmp.

TMPDIR это всего лишь соглашение, а не стандарт. Программы UNIX / Linux могут исполняться или нет по прихоти их авторов и сопровождающих.

Я не думаю, что менять /tmp разрешения. Многие приложения создают временные файлы в /tmp и они не обязательно работают с привилегиями root. Так что, если вы это сделаете, вы их сломаете.