Změna síťového nastavení Fedory z webové aplikace

Ahoj,

neřešili jste někdy nebo neznáte elegantní způsob, jak měnit síťové nastavení, případně připojení sdílených síťových disků z webové aplikace (resp. Python skriptu)? Jedná se o to, že bych chtěl udělat webové rozhraní pro jednoúčelový stroj založený na Fedoře (t.č. verze 19).
Samozřejmě mě napadl nejjednodušší způsob provedení, tzn. napsat si další samostatné skripty (něco jako change_network_settings, add_netmount, remove_netmount…), které poberou jako své parametry nové nastavení (IP adresu, masku, gateway…server, share, heslo…) a spustí se přes sudo, protože webová aplikace nepoběží pod rootem. Skripty pak upraví v odpovídajících souborech hodnoty a finálně restartují síťování resp. připojí nové mounty.
Zajímalo by mě, jestli na to už neexistuje něco v rámci systému, co by tohle řešilo. S aktuální verzí Fedory nedělám dlouho a je tam oproti “tradičnějším” distribucím poměřně hodně věcí jinak (systemd, NetworkManager…) a nemám vše úplně prozkoumané. Tak mě napadlo, zdali už tam pro to není nějaké API, případně systémovější řešení věci.

Díky za nápady

Michal

P.S.: Nechtěl bych používat Webmin ani osekávat “plnotučné” webové ovládací panely.

V aktualni verzi se uz pouziva network manager a k nemu existuje nmcli. Ze by k nemu existovalo jednoduche webove klikatko jsem neslysel, otazkou je vubec k cemu to ma slouzit, kdyz k nemu existuji graficke aplety.

Nastavovat OS pres web je vubec velke bezpecnostni riziko, protoze vetsi techto aplikaci je nakonec nejak derava. Krom toho pokud by si nechal zapnuty vychozi SELinux, budes jen velmi obtizne prenaset spravcovsky kontext do/z webove aplikace, ale to uz jen jen takovy podrzuny problem.

Díky za příspěvek,

nmcli jsem zkoušel, ale řeší jen část problému.
Obecně se shodneme s webovými rozhraními pro nastavení systému, ale tohle je specifický případ. SELinux se neřeší, zařízení nebude vystavováno do internetu a je jednoúčelové (víceméně hudební přehrávač založený na mpd plus nějaké UPnP, DLNA…). Webové rozhraní je primární způsob pro uživatelské nastavení. Takže něco na způsob třeba SOHO routerů nebo NASů.
Udělám to, jak jsem naznačil, potřebuji zaobalit a jednotně řešit editaci pár souborů v /etc/sysconfig, fstabu, startování síť. stacku a návazných služeb… Možná i na nějakou část použiji volání nmcli.
Jen jsem tak zkoušel, jestli už neexistuje rozhraní (přes modul, knihovnu), co by tyhle věci abstrahovalo, protože to stoprocentně už někdo řešil. Myslel jsem tak trochu, že třeba RedHat v tomhle duchu bude něco mít (pro virtuály, cloudy… teď trochu kecám, vůbec to neznám :), bude to v Pythonu, jako spousty jejich nástrojů a mohlo by to být součástí Fedory… Jen o tom nevím.

Michal