Я относительно новичок в понятиях, упомянутых в вопросе, и чтение о них из разных источников только делает их более запутанными. Так вот что я понял до сих пор:
Когда нам дают разрешения для файла, они выглядят так:
-rwsr-xr-- 1 user1 users 190 Oct 12 14:23 file.bin
Мы предполагаем, что пользователь, user2который находится в группе, usersпытается выполнить file.bin. Если бы бит setuid не был установлен, это означало бы, что и RUID, и EUID file.binбыли равны UID user2. Но поскольку бит setuid установлен, это означает, что RUID теперь равен UID user2, а EUID - это UID владельца файла user1.
Мои вопросы:
- В чем разница между владельцем файла и
root? Имеет лиrootте же разрешения, что и владелец? Или нам нужна отдельная запись в списке разрешений дляroot? - Разница между RUID и EUID?
- Насколько я понимаю, RUID и EUID применяются только к процессам. Если это так, то почему они имеют значение идентификатора пользователя?
- Если RUID - это пользователь, который создает процесс, а EUID - это пользователь, который в данный момент запускает процесс, то первое предложение первого ответа в этом вопросе не имеет для меня никакого смысла.
- Правильно ли я понял, что делает бит setuid?