OpenVZ Forum


Home » International » Russian » tmp noexec -> mount -t simfs
tmp noexec -> mount -t simfs [message #6144] Sat, 09 September 2006 13:19 Go to next message
Valmont is currently offline  Valmont
Messages: 225
Registered: September 2005
Senior Member
Настраивал скрипты для монтирования tmp с noexec,nosuid согласно данному топику
http://forum.openvz.org/index.php?t=msg&goto=1372
с некоторыми поправками.

Подскажите пожалуйста сакральный смысл опций монтирования simfs.

mount -t simfs \
        -o noatime,nosuid,noexec,nodev,rw,/vz/template:$TMPPATH/$VPSTMP \
        /vz/template:$TMPPATH/$VPSTMP $VE_ROOT/tmp


В таком варианте у меня в принципе отказывалось монтироваться.
Согласно логике скрипта из этого должно получиться следующее:
root@server /etc/vz# mount -t simfs -o noatime,nosuid,noexec,nodev,rw,/run/vz/template:/run/vz/tmp/121 /run/vz/template:/run/vz/tmp/121 /run/vz/tmp/121/
mount: special device /run/vz/template:/run/vz/tmp/121 does not exist


Вот в таком варианте
mount -t simfs -o noatime,nosuid,noexec,nodev,rw,/run/vz/temp/120
 /run/vz/temp/120 /run/vz/root/120/tmp

у меня монтируется, но непонятные глюки есть. Например при остановке одного vps у другого tmp однажды просто отвалился. Пока куда копать не знаю.

Опции, полагаю специфичны для simfs, так как раньше в мане по mount я такого не втречал, и с другими фс это не проходит:
root@server /etc/vz# mount -t ext3 -o noatime,nosuid,noexec,nodev,rw,/run/vz/tmp/121 /run/vz/tmp/121 /run/vz/tmp/121/
mount: /run/vz/tmp/121 is not a block device


Хотелось бы понять механизм и разобраться с глюками, которые мне пока не очень понятны и вероятно вытекащими именно из этого непонимания Smile

Почему первая точка монтирования должна указываться дважды, причем первый раз через запятую среди прочих опций монтирования?
В оригинале, на форуме virtuozzo он указывается не через запятую,
http://forum.swsoft.com/showthread.php?s=6f9b9faa42ed44106f1 ff388aa996ceb&threadid=23919&perpage=15&pagenumb er=2
, а на сайте у них же - через запятую.
http://kb.swsoft.com/article_130_648_en.html

Пример непонятного мне явления:

root@server /etc/vz# ls -la
total 10
drwxr-xr-x   4 root root  144 Aug 31 01:26 ./
drwx--x--x  45 root root 4312 Sep  9 16:49 ../
lrwxrwxrwx   1 root root   23 Aug 14 22:44 conf -> ../sysconfig/vz-scripts/
drwxr-xr-x   3 root root 1520 Aug 14 22:44 dists/
drwxr-xr-x   2 root root   48 Aug  8 17:17 names/
-rw-r--r--   1 root root  709 Aug 31 01:26 vz.conf
root@server /etc/vz# mount -t simfs -o noatime,nosuid,noexec,nodev,rw /run/vz/temp/121 /run/vz/root/121/tmp/
root@server /etc/vz# mount | grep simfs
/run/vz/tmp/120 on /run/vz/root/120/tmp type simfs (rw,noexec,nosuid,nodev,noatime,/run/vz/tmp/120)
/run/vz/temp/121 on /run/vz/root/121/tmp type simfs (rw,noexec,nosuid,nodev,noatime)

root@server /etc/vz# ls -la /run/vz/root/121/tmp
total 10
drwxr-xr-x   4 root root  144 Aug 31 01:26 ./
drwx--x--x  21 root root 4096 Sep  4 03:18 ../
lrwxrwxrwx   1 root root   23 Aug 14 22:44 conf -> ../sysconfig/vz-scripts
drwxr-xr-x   3 root root 1520 Aug 14 22:44 dists/
drwxr-xr-x   2 root root   48 Aug  8 17:17 names/
-rw-r--r--   1 root root  709 Aug 31 01:26 vz.conf


Судя по этому, если не указывать дополнительно каталог в опциях, он берет текущий. Фича воспроизводима повторно Smile


[Updated on: Sat, 09 September 2006 13:20]

Report message to a moderator

Re: tmp noexec -> mount -t simfs [message #6146 is a reply to message #6144] Sat, 09 September 2006 18:49 Go to previous messageGo to next message
Valmont is currently offline  Valmont
Messages: 225
Registered: September 2005
Senior Member
И вопрос немного из другой области, но к simfs.

/dev/simfs динамически создается при запуске vps, или же один раз при создании vps ?


Updated: Судя по дате создания файла все же при запуске. Да, и наверно где-то в vzctl|стартапных скриптах можно найти. Так что этот вопрос отпадает.

[Updated on: Sat, 09 September 2006 18:50]

Report message to a moderator

Re: tmp noexec -> mount -t simfs [message #6164 is a reply to message #6144] Mon, 11 September 2006 06:59 Go to previous messageGo to next message
Vasily Tarasov is currently offline  Vasily Tarasov
Messages: 1345
Registered: January 2006
Senior Member
Здравствуйте.

Не знаю, правильно ли я понял Ваш вопрос, так что заранее извините. Smile Вы хотите, чтобы при старте VE автоматически монтировалась, скажем, tmpfs на определённые директории? Для этого нужно создать файл /etc/vz/conf/<veid>.mount, в котором будет прописано, что куда монтировать. Например:
#! /bin/bash
mount -t tmpfs tmp /vz/root/886/var/tmp/


simfs vzctl монтирует сам не запуская никаких скриптов.

Надеюсь что-то я разъяснил. Rolling Eyes

[Updated on: Mon, 11 September 2006 07:00]

Report message to a moderator

Re: tmp noexec -> mount -t simfs [message #6167 is a reply to message #6144] Mon, 11 September 2006 07:21 Go to previous messageGo to next message
Valmont is currently offline  Valmont
Messages: 225
Registered: September 2005
Senior Member
Спасибо Smile

Но, видимо, это не совсем то. Поясню.
Если память мне не изменяет, tmpfs использует оперативную память, как дисковое пространство. Немного расточительно, если прикинуть это на некоторое кол-во vps Smile

Хотелось бы просто смонтировать tmp как noexec,nosuid.
loop девайсов в vpsах нет, по причинам, указаным в том топике.

Я взял за основу то решение, которое приводилось и здесь, и на сайте virtuozzo. Оно работает, просто хотелось уточнить несколько нюансов Smile


Updated: В одмно моменте не то написал. сейчас убрал Wink

[Updated on: Mon, 11 September 2006 07:51]

Report message to a moderator

Re: tmp noexec -> mount -t simfs [message #6171 is a reply to message #6144] Mon, 11 September 2006 08:21 Go to previous messageGo to next message
Vasily Tarasov is currently offline  Vasily Tarasov
Messages: 1345
Registered: January 2006
Senior Member
Теперь я понял Smile
Оригинальное решение: использовать simfs как bind mount. Shocked

Вот правильный синтаксис монтирование simfs:

[server]# mount -t simfs -o nodev,/tmp just_for_fun /vz/root/886/dir_tmp
[server]# cat /proc/mounts
/dev /dev tmpfs rw 0 0
/dev/root / ext2 rw 0 0
/proc /proc proc rw,nodiratime 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
/sys /sys sysfs rw 0 0
/dev/devpts /dev/pts devpts rw 0 0
/dev/sda1 /boot ext2 rw 0 0
/dev/shm /dev/shm tmpfs rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
/vz/private/886 /vz/root/886 simfs rw 0 0
proc /vz/root/886/proc proc rw,nodiratime 0 0
sysfs /vz/root/886/sys sysfs rw 0 0
devpts /vz/root/886/dev/pts devpts rw 0 0
tmpfs /vz/root/886/dev/shm tmpfs rw 0 0
just_for_fun /vz/root/886/dir_tmp simfs rw,nodev 0 0
[server]# ls /vz/root/886/dir_tmp
a.out devlist.2 dir_to_mount_in_ve hal-0.5.2-2.i386.rpm kernel-2.6.9-023stab016-i686.config.ovz pts2 test.c
[server]# ls /tmp/
a.out devlist.2 dir_to_mount_in_ve hal-0.5.2-2.i386.rpm kernel-2.6.9-023stab016-i686.config.ovz pts2 test.c

Т.е. в опциях передаётся, какую папку зеркалировать, а второй аргумент mountа - просто так, для отражения в /proc/mounts.

Quote:

Например при остановке одного vps у другого tmp однажды просто отвалился

Вы используете файл <veid>.umount? Если да - то не делайте этого. Отмонтирование директорий будет превосходно происходить и без этого, а "непонятные" эффекты должны пропасть.
Если глюки всё-таки проявятся - постарайтесь воспроизвести полную последовательность и написать сюда. Разберёмся.

Надеюсь теперь помог, удачи! Smile


Re: tmp noexec -> mount -t simfs [message #6173 is a reply to message #6144] Mon, 11 September 2006 08:50 Go to previous messageGo to next message
Valmont is currently offline  Valmont
Messages: 225
Registered: September 2005
Senior Member
Спасибо!

Я действительно использовал также umount.
Вечером попробую Smile
Re: tmp noexec -> mount -t simfs [message #6176 is a reply to message #6173] Mon, 11 September 2006 09:35 Go to previous message
Vasily Tarasov is currently offline  Vasily Tarasov
Messages: 1345
Registered: January 2006
Senior Member
Да, ещё ньюанс...
mount в <veid>.mount делать с опцией -n.
Тогда запись не будет появляься в /etc/mtab, значит не будет
её и в списке выдаваемом mountом.
Смотреть список моунтов придётся через /proc/mounts
Previous Topic: vzyum x86_64 так и не fixed?
Next Topic: проблема с подключением диска к впске
Goto Forum:
  


Current Time: Wed Jun 25 20:09:26 GMT 2025

Total time taken to generate the page: 0.02888 seconds