Автор Тема: TMP и TMPDIR (решено)  (Прочитано 8822 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 674
Re: TMP и TMPDIR
« Ответ #15 : 20.04.2021 20:45:42 »
При логине юзера через текстовую консоль или su- создается каталог TMPDIR, подозреваю, что через pam_mktemp.

Угу:

p9-xfce-sysv:
# rpm -qvl pam0_mktemp | head -n 2
-rw-r--r--    1 root    root                    14496 авг  4  2020 /lib64/security/pam_mktemp.so
drwxr-xr-x    2 root    root                        0 авг  4  2020 /tmp/.private
# rpm -qa | grep selinux
libselinux-3.1-alt1.x86_64
# rpm -ql libselinux | grep -v 'usr\|var'
/lib64/libselinux.so.1
# grep -A6 According ./pam_mktemp-1.1.1/README
According to some "out of the box" SELinux policies, /tmp/.private and
/tmp/.private/USER directories created by this module running from
processes like login and sshd would inherit a login process context
instead of /tmp directory or user context.  As a result, user processes
would have problems creating files in such "login-owned" directories.
When the module is built with SELinux support ("make USE_SELINUX=1"), it
creates directories in the proper context.
# control | grep pam_mktemp
pam_mktemp      enabled         (enabled disabled)
# grep pam_mktemp /etc/pam.d/system-auth-common
session required pam_mktemp.so
# env | grep TMP
TMP=/tmp/.private/root
TMPDIR=/tmp/.private/root
# ll /tmp/ | grep private
drwxr-xr-x  5 root user1  100 апр 16 17:50 .private/
# ll /tmp/.private/ | grep 'root/$'
drwx-----T 2 root root     40 апр 20 20:10 root/
« Последнее редактирование: 21.04.2021 00:25:53 от Speccyfighter »

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 238
Re: TMP и TMPDIR
« Ответ #16 : 21.04.2021 06:36:55 »
Обстоятельно изложено, криминалисты отдыхают, но проблему не решает )

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 641
    • Домашняя страница
    • Email
Re: TMP и TMPDIR
« Ответ #17 : 21.04.2021 08:02:39 »
Я сказал, как решить проблему, но не был услышан.
Андрей Черепанов (cas@)

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 238
Re: TMP и TMPDIR
« Ответ #18 : 21.04.2021 14:07:08 »
1. Переопределение TMPDIR можно сделать в отдельном файле /etc/profile.d/<любое_имя>.sh
После явного указания TMPDIR он уже на ~/tmp переопределяться не будет.
Про это разговор? Если да, то это не работает.
Делаем /etc/profile.d/0.sh:
export TMPDIR="/tmp/.private/$USER"Перезагружаемся, проверяем, видим TMP и TMPDIR - разные.
Потому-что в /etc/profile.d/tmpdir.sh сказано и сделано:
Цитировать
#If TMPDIR is not defined or is not a writable directory
# set it to ~/tmp if the latter is a writable directory.
А /tmp/.private/$USER совсем даже not a writable directory.

Или о решении где-то в другом месте было сказано?
Потому-что мне до сих пор непонятно, как сделать TMP и TMPDIR равными /tmp/.private/$USER в Альт Образование  9.1 после dist-upgrade. И что больше всего раздражает, я не понимаю ПОЧЕМУ они не равны при включенном pam_mktemp.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 641
    • Домашняя страница
    • Email
Re: TMP и TMPDIR
« Ответ #19 : 21.04.2021 14:30:14 »
Среда какая? XFCE или KDE5?
Андрей Черепанов (cas@)

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 238
Re: TMP и TMPDIR
« Ответ #20 : 22.04.2021 07:30:35 »
XFCE.

Вместо железа - VirtualBox.
Установка Образование 9.1 ПОЛНОСТЬЮ дефолтная, а по дефолту там только XFCE.
НИ ОДНОЙ дополнительной галки выбора не было нажато.
Отсебятина только в выборе часового пояса, разбивки диска, имени-пароля юзера, пароля рута.
После установки - вход в графику, запуск терминала, su-, apt-get update, apt-get dist-upgrade, reboot

Ранее проблема была замечена на реальном железе в компьютерных классах, но полностью воспроизвелась в virtualbox, поэтому все дальнейшие эксперименты проводились в нем.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 641
    • Домашняя страница
    • Email
Re: TMP и TMPDIR
« Ответ #21 : 22.04.2021 12:53:45 »
Воспроизвёл. Разбираюсь.
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 641
    • Домашняя страница
    • Email
Re: TMP и TMPDIR
« Ответ #22 : 22.04.2021 13:43:45 »
В общем, причина ясна: пользователь получает (возможно, через systemd) совсем не тот /tmp, который есть в системе. Достаточно посмотреть содержимое /tmp/.private под root и под пользователем.

UPD: сеанс пользователя получает PrivateTmp=true. Для определения того, кто это привнёс, потребуется время.
« Последнее редактирование: 22.04.2021 14:13:33 от Skull »
Андрей Черепанов (cas@)

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 238
Re: TMP и TMPDIR
« Ответ #23 : 23.04.2021 07:06:28 »
В общем, причина ясна: пользователь получает (возможно, через systemd) совсем не тот /tmp, который есть в системе. Достаточно посмотреть содержимое /tmp/.private под root и под пользователем.

UPD: сеанс пользователя получает PrivateTmp=true. Для определения того, кто это привнёс, потребуется время.
А где он получает, в какой момент, через какой конфиг?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 641
    • Домашняя страница
    • Email
Re: TMP и TMPDIR
« Ответ #24 : 23.04.2021 07:14:46 »
Если бы это было так просто, то решение нашлось через 5 минут и я его сказал. В рассылке разработчиков уже сутки обсуждается.
Андрей Черепанов (cas@)

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 238
Re: TMP и TMPDIR
« Ответ #25 : 23.04.2021 08:09:57 »
Просто-непросто, но кто виноват, сам разобрался, наконец-то.

apt-get remove policycoreutils-newrole
А вот почему и зачем этот пакет (или зависимые от него) блокирует работу pam_mktemp в графической сессии - это уже вопрос к разработчикам.

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 238
Re: TMP и TMPDIR
« Ответ #26 : 23.04.2021 08:14:26 »
И да, в 9.2 бета этот пакет отсутствует, в стартерките XFCE то-же. Потому и проблем нет.

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 238
Re: TMP и TMPDIR
« Ответ #27 : 23.04.2021 08:22:09 »
Блин, не все так просто. Установил пакет обратно, проблема не вернулась. Но помню, что при удалении он удалил еще какой-то пакет, возможно проблема там.

Оффлайн xdsl

  • Давно тут
  • **
  • Сообщений: 238
Re: TMP и TMPDIR
« Ответ #28 : 23.04.2021 08:30:22 »
Вот он, вражина: selinux-policy-alt
Удаляешь его - TMP и TMPDIR одинаковые, все хорошо
Устанавливаешь его - TMP и TMPDIR разные, все плохо

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 641
    • Домашняя страница
    • Email
Re: TMP и TMPDIR
« Ответ #29 : 23.04.2021 10:03:49 »
Спасибо за найденное решение.
Андрей Черепанов (cas@)