Zou u nu rebooten zouden de eerste indrukken weinig bemoedigend zijn. Er is allereerst de concrete mogelijkheid dat u nog niet alle opties in uw zelfgebakken kernel goed heeft gezet en dat daarom sommige dingen so-wie-so nog niet goed werken. Maar dat gaat u niet uitvinden - want zou u nu rebooten zou u niet eens in kunnen loggen.
Inloggen vereist namelijk dat het programma /bin/login toestemming heeft om van UID te wisselen. RSBAC staat dat standaard niet toe. En dus kunt u niet inloggen, ook niet als security officer, laat staan dat u /bin/login bevoegd kunt maken om van UID te wisselen. Niet kunnen inloggen is weliswaar veilig, maar ik kan me voorstellen dat u meent dat in dit geval de balans tussen noodzaak tot beveiliging en noodzaak tot het bieden van functionaliteit ontbreekt.
Om dit kip-en-ei probleem te doorbreken dient u de kernel op te starten met de optie rsbac_auth_enable_login:
boot: rsbac rsbac_auth_enable_login |
Bij het opstarten van het systeem dient u er rekening mee te houden dat u een lijst foutmeldingen op de console ziet. Een aantal daemons zal niet op kunnen starten. Als u X draait, zal dat vrijwel zeker ook niet willen opstarten. Dit alles komt vooral omdat de programma's die deze functionaliteiten bieden van identiteit (UID) proberen te wisselen. Dat mag in het vervolg alleen nog maar als u daar bewust toestemming voor heeft gegeven. Na enige tijd verschijnt dan de login: prompt en kunt u inloggen als security officer.
Tip: Gebruikers van RSBAC worden vooral in het begin van het gebruik frequent geconfronteerd met gedragingen van standaard daemons en programma's die niet altijd logisch lijken te zijn. RSBAC maakt je daar op attent door dat gebruik initieel te weigeren en dat te loggen. Merkwaardig genoeg werken sommige programma's ogenschijnlijk nog steeds perfect, ook als je ze de toegang tot bepaalde (vertrouwelijke) data ontzegt. In dit soort situaties raadt ik u aan eens de broncode van die programma's te raadplegen: waarom wil dit programma bij /etc/shadow kunnen - waarom opent dit programma een netwerk socket? Eigenlijk moet u die vragen kunnen beantwoorden om te kunnen beslissen of u een subject wel of geen toegang tot een bepaalde target wilt geven.
Om /bin/login permanent toestemming te geven om van UID te wisselen kunt u op als security officer het volgende commando uitvoeren:
secoff:~ > attr_set_fd FD auth_may_setuid 1 /bin/login |