`RUID`,` EUID` i `setuid bit`

0

próbuję zrozumieć RUID, EUID i setuid bit rzeczy. Oto moje pytania w temacie:

  1. w Jak rozpocząć (lub znaleźć) proces z RUID innym niż EUID? pytanie: odpowiedź Gillesa brzmi:

    To tylko setuidowe pliki wykonywalne, które zaczynają się od efektywnego UID ustawionego na   właściciel pliku wykonywalnego, podczas gdy prawdziwy UID pozostaje rzeczywistym UID   proces wywoływania

    Co to znaczy the invoking process? Jeśli mam rację, w przypadku np. Komenda passwd uruchamiana przez użytkownika Bill o identyfikatorze = 1000 the invoking process wspomniany powyżej będzie tylko użytkownikiem rachunku?

  2. Czy mam rację, że kiedy podejmujemy jakieś działania na pliku wewnątrz pliku wykonywalnego (np. Zapisujemy do tego pliku), system sprawdza, czy można to zrobić, sprawdzając EUID tego pliku wykonywalnego z uprawnieniami do plików?

    Na przykład mamy plik wykonywalny abc ( setuid bit nie ustawione), do którego zapisywane są niektóre dane 1.txt plik z -rw-r--r-- uprawnienia. Działa użytkownik konta (UID = 1000) abc. Teraz, ponieważ abc EUID = 1000 (nie setuid bit zestaw) i 1.txt uprawnienia to -rw-r--r-- operacja zapisu jest odrzucana przez system, ponieważ EUID = 1000! = 0?

Mulligan
źródło

Odpowiedzi:

0

1) Mówi the invoking process ponieważ polecenie passwd w twoim przykładzie jest uruchamiane przez powłokę (bash, csh itp.) lub program działający z twoim identyfikatorem.

2) Tak, masz rację. Arch uprawnień sprawdzony względem efektywnego identyfikatora procesu.

DrNoone
źródło