Автор Тема: монтирование /run, /var/run, /run/user/500 (501,502...-XDG_RUNTIME_DIR) c noexec  (Прочитано 1766 раз)

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 566
Хочу настроить чтобы /run и /var/run монтировались с опцией noexec.
runfs on /run type tmpfs (rw,nosuid,relatime,mode=755)
runfs on /var/lock type tmpfs (rw,nosuid,relatime,mode=755)
runfs on /var/run type tmpfs (rw,nosuid,relatime,mode=755)
tmpfs on /run/user/500 type tmpfs (rw,nosuid,nodev,relatime,size=803660k,mode=700,uid=500,gid=500)
tmpfs on /var/run/user/500 type tmpfs (rw,nosuid,nodev,relatime,size=803660k,mode=700,uid=500,gid=500)
gvfsd-fuse on /run/user/500/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=500,group_id=500)
gvfsd-fuse on /var/run/user/500/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=500,group_id=500)


grep находит такое в /etc
rc5.d/S02udevd: mount $mount_n -t tmpfs -o mode=755,$tmpfs_options runfs /run
tmpfs_options подправил тут:
#cat /etc/udev/udev.conf
# see udev.conf(5) for details

#udev_log="info"
# Whether to mount a tmpfs filesystem to $udev_root
udev_tmpfs="1"

# tmpfs options. Note that size shouldn't be less than several
# megabytes due to insane format of current udev database
# (in /dev/.udevdb)
tmpfs_options="nosuid,nodev,noexec,size=5m"
Но эта правка после перезагрузки не сработала.
Куда копать дальше?
« Последнее редактирование: 04.06.2016 22:17:57 от ASte »

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 566
Re: монтирование /run /var/run c noexec
« Ответ #1 : 29.05.2016 19:34:13 »
C /run, /var/run и /var/lock  все оказалось просто.. Достаточно прописать /run в fstab.  Две других бинтятся на нее-же юнитами systemd.

Осталось разобраться с
tmpfs on /run/user/500 type tmpfs (rw,nosuid,nodev,relatime,size=803660k,mode=700,uid=500,gid=500)
tmpfs on /var/run/user/500 type tmpfs (rw,nosuid,nodev,relatime,size=803660k,mode=700,uid=500,gid=500)
« Последнее редактирование: 29.05.2016 19:37:03 от ASte »

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 566
Эксперименты показали, что против лома (fstab) нет приема...
/run/user/500 тоже смонтировался через него с noexec
Но как-то некрасиво это.. И не удобно - для всех пользователей так прописывать...
Подозреваю что должен быть какой-то более правильный способ... Сомнения вносит только то, что в убунте из коробки /run монтируется как положено с noexec, а /run/user/XXX тоже без оного...

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 566
Вот такой юнит systemd делает почти то что нужно (перемонтирует как надо):
[Unit]
Description=my remount unit
DefaultDependencies=yes

After=var-run-user-503.mount

[Service]
Type=simple
ExecStart=/bin/bash /etc/my-remount-script 503

[Install]
WantedBy=var-run-user-503.mount

но не понимаю как переписать его без использования константы - чтобы не делать отдельной копии юнита под каждого пользователя?

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 566
Получилось как-то так в результате. Не идеально (нужно включать руками для каждого пользователя) но приемлимо.

# cat /etc/systemd/system/remount@.service
[Unit]
Description=noexec remount unit for %I
DefaultDependencies=yes
After=var-run-user-%i.mount

[Service]
Type=oneshot
ExecStart=/bin/bash /opt/remount %i

[Install]
WantedBy=var-run-user-%i.mount

# cat /opt/remount
/bin/mount | /bin/grep run/user/$1 | /bin/grep -v noexec | /bin/awk '{system("mount -o remount,noexec " $3)}'

включаем так:
systemctl enable remount@500.service

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Не находите тут аналогию с монтированием флешек и  созданием сетевых соединений?

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 566
Аналогия наверное какая-то есть... Но там как я понимаю все на графическое окружение завязано, а мне бы хотелось чтобы оно отрабатывало и при логине из консоли...

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Но там как я понимаю все на графическое окружение завязано
Не знаю. Не уверен. В том смысле, что мне кажется, что привязать можно к чему угодно.