Dlaczego budowanie RPMów jako root jest złe?

11

Ta strona zawiera wyraźne ostrzeżenie:

Ważny

Nigdy nie buduj RPMS jako root.

Dlaczego budowanie RPMów jako root jest złe? Czy istnieje możliwość zastąpienia niektórych plików? Czy występują problemy z uprawnieniami do plików?

ro.
źródło

Odpowiedzi:

22

Źle napisane pliki .spec RPM (lub nawet dobrze napisane z literówką) mogą robić niewłaściwe rzeczy, takie jak:

  • Zainstaluj bezpośrednio w działającym systemie zamiast w piaskownicy
  • Pozostaw śmieci w systemie plików
  • Przypadkowo uruchom nieprzyjemne polecenia, takie jak: rm -rf ${RPM_BUILD_ROOT}

Żadna część procesu kompilacji RPM nie wymaga dostępu do konta root. Dlatego podczas budowania RPM powinniśmy postępować zgodnie ze standardową procedurą „Jeśli nie wymaga uprawnień roota, nie działa jako root”.

Pozwala to uniknąć przykrych wypadków i niespodzianek.

MikeyB
źródło
4

kpina z fedory też jest całkiem niezła. Jeśli zbuduje się w makiecie, są szanse, że będzie to całkiem czysty RPM.

sztaluga
źródło
FWIW, wcześniej współpracując z Red Hat, wiem, że żądają, aby RPM budowało się w Mocku, zanim zaakceptują go w swoim środowisku kompilacji. Myślę, że to samo dotyczy również Projektu Fedora.
EmmEff
3

Zasadniczo nigdy nie powinieneś używać użytkownika root, chyba że naprawdę potrzebujesz praw. Ale masz rację, głównym problemem byłoby to, że 'rpmbuild' wykonałby prawie wszystko, co napisałeś w pliku spec. (zastępuj pliki, twórz użytkowników, usuwaj pliki itp.).

Edytować:

Na marginesie proponuję rzucić okiem na usługę kompilacji openSUSE, która sprawia, że ​​budowanie RPM dla różnych dystrybucji jest naprawdę łatwe. (Można go również skonfigurować jako instancję lokalną).

Węzeł
źródło
-1

Kiedy szukam w INTERNECIE, mam powody twojego pytania w poniższym linku http://pmc.ucsc.edu/~dmk/notes/RPMs/Creating_RPMs.html

Walczy tylko po to, by uniknąć przypadkowych błędów lub niezamierzonych rzeczy.

neotam
źródło
1
Witaj w Server Fault! Zasadniczo podoba nam się, że odpowiedzi na stronie są w stanie samodzielnie działać - linki są świetne, ale jeśli ten link kiedykolwiek się zepsuje, odpowiedź powinna zawierać wystarczającą ilość informacji, aby nadal być pomocna. Proszę rozważyć edycję swojej odpowiedzi, aby zawierała więcej szczegółów. Zobacz FAQ, aby uzyskać więcej informacji.
slm