Я пытаюсь понять RUID
, EUID
и setuid bit
. Вот мои вопросы в теме:
В разделе Как запустить (или найти) процесс с RUID, отличным от EUID? На вопрос ответа Жиля говорится:
Это только исполняемые файлы setuid, которые начинаются с эффективного UID, установленного для владельца исполняемого файла, в то время как реальный UID остается реальным UID вызывающего процесса.
Что это означает
the invoking process
? Если я прав, что в случае, например, команды passwd, выполняемой, скажем, пользователем Bill с id = 1000, упомянутый вышеthe invoking process
будет только пользователем Bill?Прав ли я, что когда мы предпринимаем какие-либо действия с файлом внутри исполняемого файла (например, записываем в этот файл), система проверяет, разрешено ли это делать, проверяя
EUID
этого исполняемого файла с правами доступа к файлу?Например, у нас есть исполняемый файл
abc
(setuid bit
не установлен), который записывает некоторые данные в файл1.txt
с разрешениями-rw-r--r--
. Пользователь счета (UID = 1000) запускаетabc
. Теперь, потому чтоabc
EUID = 1000 (setuid bit
не установлен) и разрешения1.txt
--rw-r--r--
операция записи отклонена системой, потому что EUID = 1000!= 0?