2016-07-03 20 views
5

Instaluję Unity. Instalator Unity mówi, że musi działać jako root, a to dlatego, że Chromium Embedded Framework musi być uruchamiany jako root. Dlaczego Chromium Embedded Framework musi działać jako root?Dlaczego środowisko Chromium Embedded Framework musi być uruchamiane jako root? (Unity Installer)

Instalator Unity wskazuje mi here, ale strona ta nie wspomina uprawnień root.

Oto wyjście konsoli, dla potomnych:

[email protected]host:unity(0)\ ./unity-editor-installer-5.4.0b23+20160628.sh 
This installer must be run as root. 

i odpowiedni kod urywek z instalatora:

# chrome-sandbox requires this: https://code.google.com/p/chromium/wiki/LinuxSUIDSandbox 
chown root "${EXTRACT_SUBDIR}/Editor/chrome-sandbox" 
chmod 4755 "${EXTRACT_SUBDIR}/Editor/chrome-sandbox" 

EDIT 15 lipca: Znaleziono this thread. Czy ktoś może pomóc potwierdzić, że prawo własności roota i SUID nie są już potrzebne w Chrome-sandbox?

Buduję zgodnie z these instructions, ale nadal jestem pytany o hasło roota, gdy uruchomię cros_sdk.

Odpowiedz

0

Chromium Embedded Framework nie musi być uruchamiany jako root. Uprawnienia root są wymagane tylko do ustawienia uprawnień/chmod w pliku wykonywalnym chrome-sandbox. Instalatorzy w systemie Linux zazwyczaj wymagają uprawnień root'a, nie ma w tym nic dziwnego.

+0

Większość aplikacji może być skompilowany i uruchomić jako zwykły użytkownik. Instalator Unity wyodrębnia Unity do podkatalogu. Dlaczego Chrome-piaskownica musi być własnością root'a i mieć ustawione SUID? – jcarpenter2

2

Aby upewnić się, że wszyscy używają tego samego środowiska i narzędzi do budowy z chromem, cały budynek jest wykonywany wewnątrz chroot. Ten chroot jest jego własny mały świat: zawiera własny kompilator, własne narzędzia (własną kopię bash, własną kopię sudo), itp

Wykorzystuje chroot, prctl i kilku innych wywołań systemowych, które mogą powrócić EPERM error jeśli proces ma niewystarczające uprawnienia.

EPERM error

Dlatego instalator chce uruchomić skrypt bash, który jest uruchamiany jako root do ustawiania SUID na piaskownicy. Chcą, abyś był rootem, ponieważ daje właścicielowi pliku permissions, a także właścicielowi UID (identyfikator użytkownika) i GID (identyfikator grupy). Zwykle w systemie Unix/Linux po uruchomieniu programu dziedziczy uprawnienia dostępu od zalogowanego użytkownika.

Chromium OS Developer Guide

+1

Dzięki za informacje! Uzyskanie dostępu do roota w celu ograniczenia uprawnień jest tym, czego wciąż nie rozumiem. W żadnym momencie nie należy wymagać podwyższonych uprawnień. Polecenie 'fakechroot' może być użyte zamiast' chroot'. Funkcja 'prctl' może wykonywać kilka różnych czynności, a tylko niektóre wymagają dostępu do konta root. – jcarpenter2

+0

Przepraszam, że nagroda nie została przyznana, ta odpowiedź jest dobrze zbadana. – jcarpenter2