Где добавлены дополнительные группы, исходящие из / proc / pid / stature, они всегда унаследовались от оболочки?

У меня есть общий сценарий bash oneline , в который я вставляю все, что хочу прокрутить в одну строку:

#!/bin/bash
cr=`tput cr;tput el`
if [ -z "$COLUMNS" ]
then COLUMNS=80
fi
while read line
do    echo -n "$cr${line:0:$COLUMNS}"
done
echo

tput должен получить коды для возврата каретки и очистить до конца строки , чтобы короткие строки не оставляли мусора из предыдущих длинных строк на экране. Обратите внимание: если ваша команда выводится на stderr, вам необходимо перенаправить ее на stdout перед конвейером. например, mycommand 2> & 1 | oneline .

1
19.09.2018, 02:43
1 ответ

Вы правильно поняли. Группы всегда наследуются от родительского процесса (init начинается без дополнительных групп ). Единственный способ, которым это когда-либо менялось, - это setgroups. Это делается с помощью su, sshd или любого другого привилегированного процесса, выполняющего вход для пользователя. К моменту запуска оболочки пользователя группы уже установлены.

2
27.01.2020, 23:31

Теги

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