В Linux, как я могу изменить EUID запущенного процесса из командной строки (при условии, что у меня есть root-доступ)?
linux
security
process
privileges
jackhab
источник
источник
Если вы говорите о процессе, который меняет свой собственный EUID, есть множество способов сделать это.
В зависимости от эффективного UID программы и наличия сохраненного UID, вы можете переключаться между двумя значениями EUID в некорневой программе. С привилегированной программой root вы должны быть осторожны - вы должны решить, должно ли изменение быть необратимым, и использовать правильную функцию для работы. (Использование setuid () в качестве root необратимо.)
Если вы пытаетесь изменить процесс, который уже выполняется из отдельного процесса, тогда не существует стандартного способа сделать это - и я не уверен, что есть много нестандартных способов. Возможно, вы сможете получить некоторую информацию в / dev / kmem, но на ум приходит выражение «тонкий лед».
источник
Нет никакого способа сделать это «из командной строки» для любого запущенного процесса.
Я могу сказать это с некоторой уверенностью; единственным «возможно» был / proc, и я заглянул туда (буквально и через google) и зашел в тупик относительно всего, что в / proc позволяет изменить EUID. Вы можете узнать, какие настройки UID и GID находятся в / proc / {pid} / status - но вы не можете изменить их, используя что-либо в / proc, по крайней мере, насколько я могу судить.
Но достаточно легко заставить что-то подобное работать - способ изменить EUID процесса из командной строки - если вы контролируете исходный код процесса, который хотите изменить. Вы можете реализовать обработчик сигнала, скажем, SIGUSR1, и заставить процесс изменять свой собственный EUID, как вам нужно при получении этого сигнала. Затем вы просто отправили бы процессу этот сигнал SIGUSR1 через «kill» ... из командной строки, как вы просили ... и он изменил бы его EUID для вас.
Возможно, это не то, о чем вы думали, но ... это ответ на ваш вопрос о том, как это сделать ... и это единственный ответ, который я могу придумать.
источник