Sandboxing a předvolby aplikace Remote Desktop

V novějších verzích operačního systému Mac OS X (konkrétně od systému Mac OS X 10.5) došlo ke změně systému zabezpečení aplikace. Jednotlivé procesy teď mohou mít svá oprávnění omezena pomocí funkce sandbox(7), která je součástí BSD. Apple někdy v dokumentaci hovoří o funkci „Seatbelt“ (viz například při startu systému v Single User režimu).

Ta se skládá z jediného volání API, sandbox_init (), které vytvoří od té chvíle omezený přístup k danému procesu. To znamená, že všechny dříve otevřené soubory budou nadále fungovat stejným způsobem a oprávnění omezí přístup pouze nově otvíraným souborům.

Spolu s tím došlo ke změně ukládání dat pro příslušné aplikace. V uživatelské knihovně tak najdete novou složku, která se nazývá Containers a obsahuje soubory, které může daná aplikace (proces) číst nebo do nich zapisovat. Tato složka je preferované umístění na disku pro aplikaci a může obsahovat mimo jiné soubor předvoleb, vyrovnácí paměť či další podpůrné soubory. Pro příklad je zde uvedeno umístění právě těchto podpůrných souborů:

  • ~/Library/Application Support/<app_name>/ dřívější umístění
  • ~/Library/Containers/<bundle_id>/Data/Library/Application Support/<app_name>/ nové umístění

Aplikací, která využívá funkci sandbox(7), je například i Remote Desktop. K implementaci této funkce došlo ve verzi 3.7. Proto najdete soubor předvoleb na disku zde:

~/Library/Containers/com.apple.RemoteDesktop/Data/Library/Preferences/com.apple.RemoteDesktop.plist

Soubor předvoleb aplikace Remote Desktop obsahuje seznam všech spravovancýh počítačů včetně přístupových údajů. Proto je vhodné mít jej zazálohovaný pro další distribuci anebo pro případ ruční migrace dat. Nezapomeňte na heslo, které jste zadali při prvním spuštění aplikace Remote Desktop. Toto heslo budete potřebovat při obnovení souboru. Bez něj se přístupové údaje vynulují a zůstane Vám tak pouze seznam spravovaných zařízení a mnoho času stráveného s dohledáváním příslušných přihlašovacích jmen a hesel. A pokud si zkopírujete takový soubor předvoleb do vlastní knihovny, nezapomeňte provést reset přístupových práv uživatele nástrojem resetpassword.

Ivan Malík

CEO at Etnetera Logicworks s.r.o.