Я пытаюсь понять RUID , EUID и setuid bit . Вот мои вопросы в теме:

  1. В разделе Как запустить (или найти) процесс с RUID, отличным от EUID? На вопрос ответа Жиля говорится:

    Это только исполняемые файлы setuid, которые начинаются с эффективного UID, установленного для владельца исполняемого файла, в то время как реальный UID остается реальным UID вызывающего процесса.

    Что это означает the invoking process? Если я прав, что в случае, например, команды passwd, выполняемой, скажем, пользователем Bill с id = 1000, упомянутый выше the invoking process будет только пользователем Bill?

  2. Прав ли я, что когда мы предпринимаем какие-либо действия с файлом внутри исполняемого файла (например, записываем в этот файл), система проверяет, разрешено ли это делать, проверяя 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?

1 ответ1

0

1) В нем говорится the invoking process потому что команда passwd в вашем примере запускается оболочкой (bash, csh и т.д.) Или программой, выполняющейся с вашим идентификатором.

2) Да, ты прав. Арки разрешений проверены по действующему идентификатору процесса.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .