Почему getegid работает для других, но не для меня?

Это можно сделать с помощью утилиты crontab.

Создайте в нем файл с этим скриптом. измените имя программы, которую вы хотите контролировать.

сохраните файл, допустим, вы назовете его script.sh

#!/bin/sh

MAX_THREADS=60   
PROGRAM_NAME="firefox"
PID=$(ps -A | grep $PROGRAM_NAME | sed 's/\([0-9]*\).*/\1/')
CUR_NO_THREADS=$(cat /proc/"$PID"/status | grep Threads | tr -dc '0-9');

if [ "CUR_NO_THREADS" -ge "$MAX_THREADS" ]; 
then    
     killall $PROGRAM_NAME;
     $PROGRAM_NAME;
fi; 

теперь запускайте crontab как

sudo crontab -e

это откроет вам файл в vim или nano поместите это в этот файл

0 * * * * /path/to/script/script.sh
1
01.11.2019, 21:46
1 ответ

Благодаря @icarus я понял, что мой домашний каталог, в отличие от моего коллеги -рабочих, монтируется из зашифрованного раздела ecryptfs, для которого установлен флаг nosuid. (Очевидно, чтобы закрыть дыру в безопасности).

Это предотвратит срабатывание бита sgid. Если я переведу свою программу в /usr/local/bin, у которой нет флага nosuid, она правильно сообщит об эффективной группе.

На данный момент мне нужен хороший ответ на вопрос о ecryptfs и nosuid .

1
27.01.2020, 23:40

Теги

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