FreeBSD konfiguračný formát

FreeBSD konfiguračný formát
« kdy: 16. 09. 2024, 22:54:01 »
Ahojte vo freebsd sa dá dosť veľa vecí nakonfigurovať cez textové konfiguráky, existuje niekde nejaká špecifikácia toho formátu?

napíklad /etc/jails.conf toto:

Kód: [Vybrat]
.include "/etc/jail.conf.d/ubuntu.conf";

Kód: [Vybrat]
ubuntu {
    host.hostname = "${name}";
    #exec.consolelog = "/var/log/jail_console_${name}.log";
    ip4.addr= 192.168.1.111;
    interface = vtnet0;
    path="/compat/${name}";
    allow.raw_sockets=1;
    exec.start='/bin/true';
    exec.stop='/bin/true';
    persist;
    mount.fstab="/var/jails/${name}.fstab";
}

Na základe čoho to prečítam, alebo dačo ako definicuu typu dokumentu k tomu neni? Existuje nejaká libka či parser tohoto formátu, alebo je to celé len naskriptované. Lebo keby som ten formát celý podchytil, tak by sa dali niektoré veci konfigurovať / nastaviť cez gui admin. Čo by bolo fajn hlavne na začiatok keď človek ešte nevie aké možnosti má k dispozícii


Re:FreeBSD konfiguračný formát
« Odpověď #1 kdy: 17. 09. 2024, 05:25:31 »
Klasika, FreeBSD to má docela pěkně dokumentované v Handbooku a manuálových stránkách.

man 8 jail
https://man.freebsd.org/cgi/man.cgi?query=jail
je tam popis základních parametrů

man 5 jail.conf
https://man.freebsd.org/cgi/man.cgi?query=jail.conf
tady je popis konfiguračního formátu

Ad API. Jaily se vytváří používají přes C syscally jail, jail_set, jail_attach, jail_get atp. Taky je to v man. stránkách. Nastavení (parametry) jailů se jádru předávají přes C strukturu a zmíněné syscally.
Aktuální konfigurace jailů i s popisem parametrů se dá zjistit také přes sysctl, když spustíte: sysctl -d security.jail

Interaktivní příkazy jail, jls pak také samozřejmě používají ty syscally. Konfigurační soubory patří právě k utilitě jail a používají se i po spuštění systému, kdy se nahazují nastavené jaily.

Koncepty ohledně jailů a vysvětlení parametrů jsou pak ve zmíněném Handbooku.
https://docs.freebsd.org/en/books/handbook/jails/

Dole jsou i linky na extra nástroje pro správu jailů jako cbsd, bastille. Ty typicky používají systémové nástroje (jail, zfs, pkg, ifconfig atd.) a umožňují automatizovat vytváření a správu jailů včetně nastavení sítě, datasetů v ZFS, dělat šablony atp., případně integrovat s nějakou další orchestrací (v případě cbsd).
Nicméně nic z toho v základu nutně nepotřebujete, vše se dá nastavit ručně pro pár jailů.