* [devel] Как пройти сборку если требуется /dev/shm ?
@ 2014-12-29 14:32 Andrew V. Stepanov
2014-12-30 13:53 ` Andrew V. Stepanov
0 siblings, 1 reply; 14+ messages in thread
From: Andrew V. Stepanov @ 2014-12-29 14:32 UTC (permalink / raw)
To: devel
При сборке RPM пакета, требуется /dev/shm
А именно,
SemLock.__init__(self, SEMAPHORE, 1, 1)
File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 75,
in __init__
sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 38] Function not implemented
Как лучше поступить в данном случае?
Я понимаю что можно внести разрешить /dev/shm в конфиге hasher-priv..но
это локальное решение.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2014-12-29 14:32 [devel] Как пройти сборку если требуется /dev/shm ? Andrew V. Stepanov
@ 2014-12-30 13:53 ` Andrew V. Stepanov
2014-12-31 13:57 ` Alexander Bokovoy
2015-01-01 20:41 ` Dmitry V. Levin
0 siblings, 2 replies; 14+ messages in thread
From: Andrew V. Stepanov @ 2014-12-30 13:53 UTC (permalink / raw)
To: devel
Как выяснилось, Python тут ни причем.
Рассмотрим компьютер в котором один однопоточный процессор, с одним ядром.
И рассмотрим семафор Posix.
$ cat 1.c
#include <semaphore.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
int main(int argc, char **argv)
{
sem_t *mutex;
if ((mutex = sem_open("mysemaphore", O_CREAT, 0644, 1)) ==
SEM_FAILED) {
perror("semaphore initilization");
exit(1);
}
exit(0);
}
$ gcc 1.c -lpthread
$ ./a.out
semaphore initilization: Function not implemented
Т.е. POSIX семафоры в Linux хотят /dev/shm
Хотеть семафор даже на однопроцессорной машине __вполне законно__.
Python multiprocessing модуль написан с использованием POSIX семафоров,
что также вполне законно.
Что видно:
File "/usr/src/RPM/BUILD/bro-2.3.1/aux/btest/btest", line 198, in
runSubprocess
q = multiprocessing.Queue()
File "/usr/lib64/python2.7/multiprocessing/__init__.py", line 218, in
Queue
return Queue(maxsize)
File "/usr/lib64/python2.7/multiprocessing/queues.py", line 63, in
__init__
self._rlock = Lock()
File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 147,
in __init__
SemLock.__init__(self, SEMAPHORE, 1, 1)
File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 75,
in __init__
sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 38] Function not implemented
Семафоры нужны даже на однопоточных машинах.
А POSIX семафоры хотят /dev/shm
В конкретно в моем случае:
http://git.altlinux.org/gears/p/python.git?p=python.git;a=blob;f=Python/Modules/_multiprocessing/semaphore.c;h=b9e8f345fbb1cd70918fb960377dadaea46fd8f3;hb=55198a185eef2089e6f4eba8654c5d9047a3c3a7#l195
Вывод: Hasher запрещает использование POSIX named semaphore.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2014-12-30 13:53 ` Andrew V. Stepanov
@ 2014-12-31 13:57 ` Alexander Bokovoy
2015-01-01 20:41 ` Dmitry V. Levin
1 sibling, 0 replies; 14+ messages in thread
From: Alexander Bokovoy @ 2014-12-31 13:57 UTC (permalink / raw)
To: ALT Linux Team development discussions
2014-12-30 15:53 GMT+02:00 Andrew V. Stepanov <stanv@altlinux.ru>:
>
> Как выяснилось, Python тут ни причем.
>
> Рассмотрим компьютер в котором один однопоточный процессор, с одним ядром.
>
> И рассмотрим семафор Posix.
>
> $ cat 1.c
> #include <semaphore.h>
> #include <stdio.h>
> #include <errno.h>
> #include <stdlib.h>
> #include <unistd.h>
> #include <sys/types.h>
>
> #include <sys/stat.h>
> #include <fcntl.h>
> #include <sys/mman.h>
>
> int main(int argc, char **argv)
> {
> sem_t *mutex;
>
> if ((mutex = sem_open("mysemaphore", O_CREAT, 0644, 1)) ==
> SEM_FAILED) {
> perror("semaphore initilization");
> exit(1);
> }
>
> exit(0);
> }
>
>
>
> $ gcc 1.c -lpthread
>
> $ ./a.out
> semaphore initilization: Function not implemented
>
> Т.е. POSIX семафоры в Linux хотят /dev/shm
>
> Хотеть семафор даже на однопроцессорной машине __вполне законно__.
>
>
> Python multiprocessing модуль написан с использованием POSIX семафоров, что
> также вполне законно.
>
>
> Что видно:
> File "/usr/src/RPM/BUILD/bro-2.3.1/aux/btest/btest", line 198, in
> runSubprocess
> q = multiprocessing.Queue()
> File "/usr/lib64/python2.7/multiprocessing/__init__.py", line 218, in
> Queue
> return Queue(maxsize)
> File "/usr/lib64/python2.7/multiprocessing/queues.py", line 63, in
> __init__
> self._rlock = Lock()
> File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 147, in
> __init__
> SemLock.__init__(self, SEMAPHORE, 1, 1)
> File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 75, in
> __init__
> sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
> OSError: [Errno 38] Function not implemented
>
>
> Семафоры нужны даже на однопоточных машинах.
> А POSIX семафоры хотят /dev/shm
>
> В конкретно в моем случае:
>
> http://git.altlinux.org/gears/p/python.git?p=python.git;a=blob;f=Python/Modules/_multiprocessing/semaphore.c;h=b9e8f345fbb1cd70918fb960377dadaea46fd8f3;hb=55198a185eef2089e6f4eba8654c5d9047a3c3a7#l195
>
> Вывод: Hasher запрещает использование POSIX named semaphore.
Учитывая, что /dev/shm может быть смонтировано в приватное адресное
пространство на современных ядрах, ничего не мешает хэшеру
использовать /dev/shm для сборки приложений.
--
/ Alexander Bokovoy
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2014-12-30 13:53 ` Andrew V. Stepanov
2014-12-31 13:57 ` Alexander Bokovoy
@ 2015-01-01 20:41 ` Dmitry V. Levin
2015-01-12 12:30 ` Anton Farygin
1 sibling, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2015-01-01 20:41 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 797 bytes --]
Hi,
On Tue, Dec 30, 2014 at 04:53:59PM +0300, Andrew V. Stepanov wrote:
> И рассмотрим семафор Posix.
>
> $ cat 1.c
> #include <semaphore.h>
> #include <stdio.h>
> #include <errno.h>
> #include <stdlib.h>
> #include <unistd.h>
> #include <sys/types.h>
>
> #include <sys/stat.h>
> #include <fcntl.h>
> #include <sys/mman.h>
>
> int main(int argc, char **argv)
> {
> sem_t *mutex;
>
> if ((mutex = sem_open("mysemaphore", O_CREAT, 0644, 1)) ==
> SEM_FAILED) {
> perror("semaphore initilization");
> exit(1);
> }
>
> exit(0);
> }
>
> $ gcc 1.c -lpthread
>
> $ ./a.out
> semaphore initilization: Function not implemented
Используйте hasher >= 1.3.23-alt1 и собирайте на tmpfs.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-01 20:41 ` Dmitry V. Levin
@ 2015-01-12 12:30 ` Anton Farygin
2015-01-12 13:55 ` Dmitry V. Levin
0 siblings, 1 reply; 14+ messages in thread
From: Anton Farygin @ 2015-01-12 12:30 UTC (permalink / raw)
To: devel
On 01.01.2015 23:41, Dmitry V. Levin wrote:
> Hi,
>
> On Tue, Dec 30, 2014 at 04:53:59PM +0300, Andrew V. Stepanov wrote:
>> И рассмотрим семафор Posix.
>>
>> $ cat 1.c
>> #include <semaphore.h>
>> #include <stdio.h>
>> #include <errno.h>
>> #include <stdlib.h>
>> #include <unistd.h>
>> #include <sys/types.h>
>>
>> #include <sys/stat.h>
>> #include <fcntl.h>
>> #include <sys/mman.h>
>>
>> int main(int argc, char **argv)
>> {
>> sem_t *mutex;
>>
>> if ((mutex = sem_open("mysemaphore", O_CREAT, 0644, 1)) ==
>> SEM_FAILED) {
>> perror("semaphore initilization");
>> exit(1);
>> }
>>
>> exit(0);
>> }
>>
>> $ gcc 1.c -lpthread
>>
>> $ ./a.out
>> semaphore initilization: Function not implemented
>
> Используйте hasher >= 1.3.23-alt1 и собирайте на tmpfs.
Дима, а почему такое требование - tmpfs ?
мне вот уже давно более удобно в VM пробрасывать ramdisk нужного размера.
/dev/vdb 4,0G 1,2G 2,7G 31%
/home/rider/hasher
Как сделать так, что б оно собиралось у меня локально в моей
конфигурации без использования tmpfs ?
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-12 12:30 ` Anton Farygin
@ 2015-01-12 13:55 ` Dmitry V. Levin
2015-01-12 14:15 ` Dmitry V. Levin
0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2015-01-12 13:55 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 574 bytes --]
On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote:
> On 01.01.2015 23:41, Dmitry V. Levin wrote:
[...]
> >Используйте hasher >= 1.3.23-alt1 и собирайте на
> >tmpfs.
>
> Дима, а почему такое требование - tmpfs ?
sem_open(3) требует, чтобы /dev/shm был на tmpfs (и доступен на запись).
Строго говоря, если /dev/shm не на tmpfs, и /proc/mounts доступен на
чтение, то sem_open(3) будет пытаться использовать первую попавшуюся в
/proc/mounts точку монтирования на tmpfs. Если никаких tmpfs не нашлось,
то sem_open(3) работать не будет.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-12 13:55 ` Dmitry V. Levin
@ 2015-01-12 14:15 ` Dmitry V. Levin
2015-01-12 19:12 ` Anton Farygin
0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2015-01-12 14:15 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 724 bytes --]
On Mon, Jan 12, 2015 at 04:55:33PM +0300, Dmitry V. Levin wrote:
> On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote:
> > On 01.01.2015 23:41, Dmitry V. Levin wrote:
> [...]
> > >Используйте hasher >= 1.3.23-alt1 и собирайте на
> > >tmpfs.
> >
> > Дима, а почему такое требование - tmpfs ?
>
> sem_open(3) требует, чтобы /dev/shm был на tmpfs (и доступен на запись).
> Строго говоря, если /dev/shm не на tmpfs, и /proc/mounts доступен на
> чтение, то sem_open(3) будет пытаться использовать первую попавшуюся в
> /proc/mounts точку монтирования на tmpfs. Если никаких tmpfs не нашлось,
> то sem_open(3) работать не будет.
Начиная с glibc-2.19-16-g6fc8123, ramfs тоже подойдет.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-12 14:15 ` Dmitry V. Levin
@ 2015-01-12 19:12 ` Anton Farygin
2015-01-12 19:36 ` Dmitry V. Levin
0 siblings, 1 reply; 14+ messages in thread
From: Anton Farygin @ 2015-01-12 19:12 UTC (permalink / raw)
To: devel
On 12.01.2015 17:15, Dmitry V. Levin wrote:
> On Mon, Jan 12, 2015 at 04:55:33PM +0300, Dmitry V. Levin wrote:
>> On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote:
>>> On 01.01.2015 23:41, Dmitry V. Levin wrote:
>> [...]
>>>> Используйте hasher >= 1.3.23-alt1 и собирайте на
>>>> tmpfs.
>>>
>>> Дима, а почему такое требование - tmpfs ?
>>
>> sem_open(3) требует, чтобы /dev/shm был на tmpfs (и доступен на запись).
>> Строго говоря, если /dev/shm не на tmpfs, и /proc/mounts доступен на
>> чтение, то sem_open(3) будет пытаться использовать первую попавшуюся в
>> /proc/mounts точку монтирования на tmpfs. Если никаких tmpfs не нашлось,
>> то sem_open(3) работать не будет.
>
> Начиная с glibc-2.19-16-g6fc8123, ramfs тоже подойдет.
Ты не понял, ramfs у меня пробрасывается в виде диска в VM.
Т.е. - о том, что это RamFS знает только хост система. Для виртуальной
машины это обычный диск с файловой системой ext4.
А почему ты не хочешь реализовать монтирование /dev/shm в сборочный чрут
? Как заметил Саша Боковой в соседнем письме - namespace поможет
изолировать адресное пространство.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-12 19:12 ` Anton Farygin
@ 2015-01-12 19:36 ` Dmitry V. Levin
2015-01-13 11:55 ` Anton Farygin
0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2015-01-12 19:36 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1738 bytes --]
On Mon, Jan 12, 2015 at 10:12:06PM +0300, Anton Farygin wrote:
> On 12.01.2015 17:15, Dmitry V. Levin wrote:
> >On Mon, Jan 12, 2015 at 04:55:33PM +0300, Dmitry V. Levin wrote:
> >>On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote:
> >>>On 01.01.2015 23:41, Dmitry V. Levin wrote:
> >>[...]
> >>>>Используйте hasher >= 1.3.23-alt1 и собирайте на
> >>>>tmpfs.
> >>>
> >>>Дима, а почему такое требование - tmpfs ?
> >>
> >>sem_open(3) требует, чтобы /dev/shm был на tmpfs (и
> >>доступен на запись).
> >>Строго говоря, если /dev/shm не на tmpfs, и
> >>/proc/mounts доступен на
> >>чтение, то sem_open(3) будет пытаться
> >>использовать первую попавшуюся в
> >>/proc/mounts точку монтирования на tmpfs. Если
> >>никаких tmpfs не нашлось,
> >>то sem_open(3) работать не будет.
> >
> >Начиная с glibc-2.19-16-g6fc8123, ramfs тоже подойдет.
>
> Ты не понял, ramfs у меня пробрасывается в
> виде диска в VM.
>
> Т.е. - о том, что это RamFS знает только хост
> система. Для виртуальной машины это
> обычный диск с файловой системой ext4.
>
> А почему ты не хочешь реализовать
> монтирование /dev/shm в сборочный чрут ?
Поскольку я собираю на tmpfs, у меня уже давно все работает. :)
Там возникнет конфликт прав доступа к chroot/dev/shm, который еще надо
придумать, как разрешить:
- если chroot/dev/shm уже на tmpfs, то псевдопользователь #2 должен иметь
доступ к нему на запись;
- если chroot/dev/shm должен быть смонтирован, то на права доступа к нему
налагаются сильные ограничения.
> Как
> заметил Саша Боковой в соседнем письме -
> namespace поможет изолировать адресное
> пространство.
hasher-priv >= 1.4.0-alt1 уже выполняет unshare(CLONE_NEWNS) автоматически.
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-12 19:36 ` Dmitry V. Levin
@ 2015-01-13 11:55 ` Anton Farygin
2015-01-16 14:54 ` Dmitry V. Levin
0 siblings, 1 reply; 14+ messages in thread
From: Anton Farygin @ 2015-01-13 11:55 UTC (permalink / raw)
To: devel
On 12.01.2015 22:36, Dmitry V. Levin wrote:
> On Mon, Jan 12, 2015 at 10:12:06PM +0300, Anton Farygin wrote:
>> On 12.01.2015 17:15, Dmitry V. Levin wrote:
>>> On Mon, Jan 12, 2015 at 04:55:33PM +0300, Dmitry V. Levin wrote:
>>>> On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote:
>>>>> On 01.01.2015 23:41, Dmitry V. Levin wrote:
>>>> [...]
>>>>>> Используйте hasher >= 1.3.23-alt1 и собирайте на
>>>>>> tmpfs.
>>>>>
>>>>> Дима, а почему такое требование - tmpfs ?
>>>>
>>>> sem_open(3) требует, чтобы /dev/shm был на tmpfs (и
>>>> доступен на запись).
>>>> Строго говоря, если /dev/shm не на tmpfs, и
>>>> /proc/mounts доступен на
>>>> чтение, то sem_open(3) будет пытаться
>>>> использовать первую попавшуюся в
>>>> /proc/mounts точку монтирования на tmpfs. Если
>>>> никаких tmpfs не нашлось,
>>>> то sem_open(3) работать не будет.
>>>
>>> Начиная с glibc-2.19-16-g6fc8123, ramfs тоже подойдет.
>>
>> Ты не понял, ramfs у меня пробрасывается в
>> виде диска в VM.
>>
>> Т.е. - о том, что это RamFS знает только хост
>> система. Для виртуальной машины это
>> обычный диск с файловой системой ext4.
>>
>> А почему ты не хочешь реализовать
>> монтирование /dev/shm в сборочный чрут ?
>
> Поскольку я собираю на tmpfs, у меня уже давно все работает. :)
Ну так надо тогда сказать, что hasher'ом можно пользоваться только на
TMPFS со всеми вытекающими ограничениями.
В некоторых местах большой tmpfs невозможен без свопа.
>
> Там возникнет конфликт прав доступа к chroot/dev/shm, который еще надо
> придумать, как разрешить:
> - если chroot/dev/shm уже на tmpfs, то псевдопользователь #2 должен иметь
> доступ к нему на запись;
А чем тебя не устраивает 777 на chroot/dev/shm ?
> - если chroot/dev/shm должен быть смонтирован, то на права доступа к нему
> налагаются сильные ограничения.
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-13 11:55 ` Anton Farygin
@ 2015-01-16 14:54 ` Dmitry V. Levin
2015-01-16 19:07 ` Anton Farygin
0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2015-01-16 14:54 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 812 bytes --]
On Tue, Jan 13, 2015 at 02:55:13PM +0300, Anton Farygin wrote:
> On 12.01.2015 22:36, Dmitry V. Levin wrote:
[...]
> >Там возникнет конфликт прав доступа к
> >chroot/dev/shm, который еще надо
> >придумать, как разрешить:
> >- если chroot/dev/shm уже на tmpfs, то
> >псевдопользователь #2 должен иметь
> >доступ к нему на запись;
>
> А чем тебя не устраивает 777 на chroot/dev/shm ?
Там сейчас 1777, и это устраивало всех, кроме процедуры монтирования.
> >- если chroot/dev/shm должен быть смонтирован,
> >то на права доступа к нему
> >налагаются сильные ограничения.
Я почти убедился в том, что в режиме mount namespace isolation права
доступа 1777 новых угроз не создают.
Интересно, сколько nr_blocks и nr_inodes необходимо давать для /dev/shm
в чруте по умолчанию?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-16 14:54 ` Dmitry V. Levin
@ 2015-01-16 19:07 ` Anton Farygin
2015-01-16 19:54 ` Dmitry V. Levin
0 siblings, 1 reply; 14+ messages in thread
From: Anton Farygin @ 2015-01-16 19:07 UTC (permalink / raw)
To: devel
On 16.01.2015 17:54, Dmitry V. Levin wrote:
> On Tue, Jan 13, 2015 at 02:55:13PM +0300, Anton Farygin wrote:
>> On 12.01.2015 22:36, Dmitry V. Levin wrote:
> [...]
>>> Там возникнет конфликт прав доступа к
>>> chroot/dev/shm, который еще надо
>>> придумать, как разрешить:
>>> - если chroot/dev/shm уже на tmpfs, то
>>> псевдопользователь #2 должен иметь
>>> доступ к нему на запись;
>>
>> А чем тебя не устраивает 777 на chroot/dev/shm ?
>
> Там сейчас 1777, и это устраивало всех, кроме процедуры монтирования.
>
>>> - если chroot/dev/shm должен быть смонтирован,
>>> то на права доступа к нему
>>> налагаются сильные ограничения.
>
> Я почти убедился в том, что в режиме mount namespace isolation права
> доступа 1777 новых угроз не создают.
>
> Интересно, сколько nr_blocks и nr_inodes необходимо давать для /dev/shm
> в чруте по умолчанию?
Это не имеет никакого значения - сейчас ты даёшь на сборочнице явно
больше, чем любое ограничение.
Кстати, что будет на сборочнице, если некий пакет случайно создаст очень
много мусора в /dev/shm в сборочном чруте ?
Это же можно и сейчас проверить ?
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-16 19:07 ` Anton Farygin
@ 2015-01-16 19:54 ` Dmitry V. Levin
2015-01-16 20:06 ` Anton Farygin
0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2015-01-16 19:54 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1760 bytes --]
On Fri, Jan 16, 2015 at 10:07:57PM +0300, Anton Farygin wrote:
> On 16.01.2015 17:54, Dmitry V. Levin wrote:
> >On Tue, Jan 13, 2015 at 02:55:13PM +0300, Anton Farygin wrote:
> >>On 12.01.2015 22:36, Dmitry V. Levin wrote:
> >[...]
> >>>Там возникнет конфликт прав доступа к
> >>>chroot/dev/shm, который еще надо
> >>>придумать, как разрешить:
> >>>- если chroot/dev/shm уже на tmpfs, то
> >>>псевдопользователь #2 должен иметь
> >>>доступ к нему на запись;
> >>
> >>А чем тебя не устраивает 777 на chroot/dev/shm ?
> >
> >Там сейчас 1777, и это устраивало всех,
> >кроме процедуры монтирования.
> >
> >>>- если chroot/dev/shm должен быть смонтирован,
> >>>то на права доступа к нему
> >>>налагаются сильные ограничения.
> >
> >Я почти убедился в том, что в режиме mount
> >namespace isolation права
> >доступа 1777 новых угроз не создают.
> >
> >Интересно, сколько nr_blocks и nr_inodes
> >необходимо давать для /dev/shm
> >в чруте по умолчанию?
>
> Это не имеет никакого значения
Речь идет об умолчаниях, которые будут зашиты в hasher-priv/mount.c
> - сейчас
> ты даёшь на сборочнице явно больше, чем
> любое ограничение.
Сборочница тут вообще не при чем: все сборочные узлы бездисковые,
там все на tmpfs, и /dev/shm там монтировать незачем.
> Кстати, что будет на сборочнице, если
> некий пакет случайно создаст очень много
> мусора в /dev/shm в сборочном чруте ?
Сборочнице все равно, где пакет размещает свой мусор.
У каждого сборочного потока действует свой memory.limit_in_bytes.
> Это же можно и сейчас проверить ?
Да проверяли уже.
http://lists.altlinux.org/pipermail/devel/2014-September/199034.html
http://lists.altlinux.org/pipermail/devel/2014-September/199054.html
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ?
2015-01-16 19:54 ` Dmitry V. Levin
@ 2015-01-16 20:06 ` Anton Farygin
0 siblings, 0 replies; 14+ messages in thread
From: Anton Farygin @ 2015-01-16 20:06 UTC (permalink / raw)
To: devel
On 16.01.2015 22:54, Dmitry V. Levin wrote:
> On Fri, Jan 16, 2015 at 10:07:57PM +0300, Anton Farygin wrote:
>> On 16.01.2015 17:54, Dmitry V. Levin wrote:
>>> On Tue, Jan 13, 2015 at 02:55:13PM +0300, Anton Farygin wrote:
>>>> On 12.01.2015 22:36, Dmitry V. Levin wrote:
>>> [...]
>>>>> Там возникнет конфликт прав доступа к
>>>>> chroot/dev/shm, который еще надо
>>>>> придумать, как разрешить:
>>>>> - если chroot/dev/shm уже на tmpfs, то
>>>>> псевдопользователь #2 должен иметь
>>>>> доступ к нему на запись;
>>>>
>>>> А чем тебя не устраивает 777 на chroot/dev/shm ?
>>>
>>> Там сейчас 1777, и это устраивало всех,
>>> кроме процедуры монтирования.
>>>
>>>>> - если chroot/dev/shm должен быть смонтирован,
>>>>> то на права доступа к нему
>>>>> налагаются сильные ограничения.
>>>
>>> Я почти убедился в том, что в режиме mount
>>> namespace isolation права
>>> доступа 1777 новых угроз не создают.
>>>
>>> Интересно, сколько nr_blocks и nr_inodes
>>> необходимо давать для /dev/shm
>>> в чруте по умолчанию?
>>
>> Это не имеет никакого значения
>
> Речь идет об умолчаниях, которые будут зашиты в hasher-priv/mount.c
Я понял. Дима, на твоё усмотрение.
Там много не надо. На работающей системе больше 10 файлов в /dev/shm/ не
видел. Объём. Да кто ж его знает. Ну сделай мегабайт 20, хватит за глаза.
Правда я б честно не стал бы вообще ограничения по объёму вводить.
>
>> - сейчас
>> ты даёшь на сборочнице явно больше, чем
>> любое ограничение.
>
> Сборочница тут вообще не при чем: все сборочные узлы бездисковые,
> там все на tmpfs, и /dev/shm там монтировать незачем.
Да, но и ограничений нет. точнее ограничения есть для потока.
>
>> Кстати, что будет на сборочнице, если
>> некий пакет случайно создаст очень много
>> мусора в /dev/shm в сборочном чруте ?
>
> Сборочнице все равно, где пакет размещает свой мусор.
> У каждого сборочного потока действует свой memory.limit_in_bytes.
А, точно. там общий лимит на память.
>
>> Это же можно и сейчас проверить ?
>
> Да проверяли уже.
> http://lists.altlinux.org/pipermail/devel/2014-September/199034.html
> http://lists.altlinux.org/pipermail/devel/2014-September/199054.html
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2015-01-16 20:06 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-29 14:32 [devel] Как пройти сборку если требуется /dev/shm ? Andrew V. Stepanov
2014-12-30 13:53 ` Andrew V. Stepanov
2014-12-31 13:57 ` Alexander Bokovoy
2015-01-01 20:41 ` Dmitry V. Levin
2015-01-12 12:30 ` Anton Farygin
2015-01-12 13:55 ` Dmitry V. Levin
2015-01-12 14:15 ` Dmitry V. Levin
2015-01-12 19:12 ` Anton Farygin
2015-01-12 19:36 ` Dmitry V. Levin
2015-01-13 11:55 ` Anton Farygin
2015-01-16 14:54 ` Dmitry V. Levin
2015-01-16 19:07 ` Anton Farygin
2015-01-16 19:54 ` Dmitry V. Levin
2015-01-16 20:06 ` Anton Farygin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git