Можно ли сделать устройство доступным исключительно для определенных программ?

Максимальный размер стека составляет 256 МБ (на поток ). Здесь вы можете найти официальную документацию IBM об этом:

Limits and Default Values

The threads library has some implementation-dependent limits and default values. These limits and default values can be retrieved by symbolic constants to enhance the portability of programs.

Maximum Number of Threads per Process

The maximum number of threads per process is 512. The maximum number of threads can be retrieved at compilation time using the PTHREAD_THREADS_MAX symbolic constant defined in the pthread.h header file.

Minimum Stack Size

The minimum stack size for a thread is 96KB. It is also the default stack size. This number can be retrieved at compilation time using the PTHREAD_STACK_MIN symbolic constant defined in the pthread.h header file.

Note that the maximum stack size is 256MB, the size of a segment. This limit is indicated by the PTHREAD_STACK_MAX symbolic constant in the pthread.h header file.

Также проверьте для каждого пользователя ulimitразмер стека (в КБ)

1
21.08.2021, 10:49
1 ответ

Классическим решением для Unix было бы создание системной группы (, например. groupadd -r vidcard), затем установите разрешения устройства, чтобы разрешить доступ к нему только пользователю root и членам этой группы. В Linux это примет форму правила udev, так как /devрегенерируется с нуля при каждой загрузке. Правило может выглядеть примерно так:

 KERNEL=="mydev[0-9]*", MODE="0660", GROUP="vidcard"

Наконец, программы, которым нужен доступ, должны иметь владельца группы, установленного на vidcardи установленного бита setgid. Так:

chown root:vidcard /usr/bin/myprogram
chmod 2711 /usr/bin/myprogram  # this results in permissions -rwx--s--x

Обычные пользователи должны , а не быть членами группы vidcard. Единственный способ получить это членство — запустить myprogram.

Если myprogramимеет функцию «запуска оболочки» или какой-либо другой способ для пользователя запускать другие программы по своему выбору, то эти оболочки/другие программы могут наследовать членство в группе vidcard,если только myprogramне запрограммирован на отмену дополнительных привилегий, предоставляемых битом setgid, перед запуском этих других программ(setregid()в Linux ).

0
21.08.2021, 13:35

Теги

Похожие вопросы