Bug 22703

Summary: Не работает Chromium в контейнере OpenVZ
Product: Sisyphus Reporter: Devaev Maxim <mdevaev>
Component: chromium-browserAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: erthad, evg, lav
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://code.google.com/p/chromium/issues/detail?id=31077#c13

Description Devaev Maxim 2010-01-08 21:23:43 MSK
Внутри контейнера не запускается Chromium

Вывод стрейса:
access("/usr/lib/chromium-browser/chromium-browser-sandbox", X_OK) = 0
socket(PF_FILE, SOCK_DGRAM, 0)          = 12
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0xb7faf738) = 23335
recvmsg(10, Failed to move to new PID namespace: Operation not permitted
0xbff35708, 0)              = ? ERESTARTSYS (To be restarted)

Тест с http://code.google.com/p/chromium/wiki/LinuxSUIDSandbox выводит:
# ./a.out
clone: Operation not permitted
Clone failed. PID namespaces ARE NOT supported

Если удалить песочницу /usr/lib/chromium-browser/chromium-browser-sandbox, то браузер запускается, но это небезопасно.
Comment 1 Sir Raorn 2010-01-08 22:51:35 MSK
Оно хочет CAP_SYS_ADMIN, который надо разрешить в этом контейнере.
Comment 2 Evgenii Terechkov 2010-01-09 06:45:42 MSK
ldv, вы? :-)
Comment 3 Devaev Maxim 2010-01-11 20:05:34 MSK
Подскажите, пожалуйста, как это сделать.
Comment 4 Sir Raorn 2010-01-11 23:31:53 MSK
vzctl set VEID --save --capability sys_admin:on
Comment 5 Sir Raorn 2010-01-11 23:32:55 MSK
Вот ещё:

Sets capability inside a VE. Note that setting capability when the VE is running does not take immediate effect; restart VE in order for changes to take effect.

Т.е. потом надо перезапустить контейнер.
Comment 6 Devaev Maxim 2010-01-12 14:54:17 MSK
Благодарю :-)
Comment 7 Andrey Rahmatullin 2010-01-12 20:45:37 MSK
Т.е. помогло?
Comment 8 Devaev Maxim 2010-01-12 21:06:31 MSK
Пока не могу проверить, завтра станет ясно.
Comment 9 Vitaly Lipatov 2010-01-13 04:45:23 MSK
Спасибо огромное, всё работает.
Параметр можно установить только при остановленном контейнере.
И обязателен смонтированный /dev/shm.
shmfs       /dev/shm    tmpfs       rw