OSMC
OSMC je distribuce s nachystaným KODI pro mikropočítače - jako je v mém případě Raspberry pi. Historicky jsem zvolil tuto distribuci a když jsem na ní začal provozovat docker a jiné služby, tak jsem si uvědomil, že KODI má práva roota. Tedy přesně řečeno defaultní uživatel bez zadávání hesla získá práva root - například tedy stačí zadat:
sudo su
Aniž by bylo nutné zadávat heslo, tak defaultní uživatel osmc má práv roota. Určitý význam toto nastavení má. Protože skrz KODI lze konfigurovat více věcí na Raspberry, jako soubor /boot/config.txt, skrz Kodi aktualizovat celé Raspberry. Pokud chci práva uživatele omezit, tak o tuto možnost přijdu, ale to mi nevadí - naopak. Protože v Kodi používám pluginy třetích stran, tak je vnímám jako potenciální nebezpečí a nestojím o to, aby nějaký plugin měl právo čtení jiných souborů na mém KODI.
Je možné, že pak pozbývá smysl používání distribuce OSMC, ale teď všechno překopávat nechci. Nejprve jsem si vytvořil nového uživatele, který může získat práva roota, abych se neodříznul a dalším krokem je omezení práv uživatele Kodi. Tady už omezení práv uživatele OSMC na nezbytné:
cd /etc/sudoers.d/ visudo osmc-no-sudo-password
A upravit obsah takto:
osmc ALL= NOPASSWD: /usr/bin/kodi, /usr/bin/systemctl start mediacenter, /usr/bin/systemctl stop mediacenter, /usr/bin/systemctl restart mediacenter
Závěrem restartovat Raspberry.
Connman
Potřeboval jsem se zbavit Connection managera. Nejprve jsem se snažil mu zakázat všechna síťová zařízení editací souboru */etc/connman.conf*:
[General] PreferredTechnologies=ethernet,wifi SingleConnectedTechnology=false AllowHostnameUpdates=false TetheringTechnologies=ethernet,wifi PersistentTetheringMode=true NetworkInterfaceBlacklist=vmnet,vboxnet,virbr,ifb,docker,veth,eth0,wlan0,wlan1,wlan2
Nicméně connman neustále po spouštění přepisoval /etc/resolv.conf. Přepisoval nastavení DNS serveru na lokální 127.0.0.1. Na portu 53 patrně spouštěl DNS server, ale neměl načtené další DNS servery, takže to nefungovalo správně.
Nepomohla ani editace souboru /etc/osmc/prefs.d/connman a nastavení dnsproxy=no:
# If set to yes, connman enables a dns proxy running on localhost port 53 and sets /etc/resolv.conf nameservers to point at 127.0.0.1 # If set to no, the dns proxy is disabled and connman will update nameservers directly in /etc/resolv.conf. dnsproxy=no
Connman stejně můj soubor /etc/resolv.conf přepisoval. Nepomohlo mi ani vypnout connman:
systemctl disable connman
Stále ho něco spouštělo. Nakonec mi pomohlo zamaskovat connman (jde použít zpětně unmask):
systemctl mask connman