- ALT sudo подключает **`/etc/sudo.d/`** (НЕ `/etc/sudoers.d/`!) — `cat /etc/sudoers` показывает `#includedir /etc/sudo.d`. Файлы в `/etc/sudoers.d/` игнорируются.
- ALT sudo подключает **`/etc/sudo.d/`** (НЕ `/etc/sudoers.d/`!) — `cat /etc/sudoers` показывает `#includedir /etc/sudo.d`. Файлы в `/etc/sudoers.d/` игнорируются.
- eterban на priv: `/usr/bin/eterban`, не `/usr/sbin/`. Лог: `/var/log/eterban/eterban.log`, формат: `<ts> <ip> was blocked by <source>: <jail>` или `was unblocked by <source>`. ipset: `eterban_1`, `eterban_1_ipv6`
- eterban на priv: `/usr/bin/eterban`, не `/usr/sbin/`. Лог: `/var/log/eterban/eterban.log`, формат: `<ts> <ip> was blocked by <source>: <jail>` или `was unblocked by <source>`. ipset: `eterban_1`, `eterban_1_ipv6`
-[lesson_sip_etersoft_freeswitch.md](lesson_sip_etersoft_freeswitch.md) — sip.etersoft.ru FreeSWITCH: плоский диалплан в `/etc/freeswitch/dialplan/{local,sipnet}.xml` (БЕЗ default/), логи xz (нет zgrep), экстеншены 21/100/123/502, Grandstream за NAT priv
-[lesson_sip_etersoft_freeswitch.md](lesson_sip_etersoft_freeswitch.md) — sip.etersoft.ru FreeSWITCH: плоский диалплан в `/etc/freeswitch/dialplan/{local,sipnet}.xml` (БЕЗ default/), логи xz (нет zgrep), экстеншены 21/100/123/502, Grandstream за NAT priv
-[lesson_etcnet_hooks.md](lesson_etcnet_hooks.md) — etcnet ifup/ifdown хуки в `/etc/net/ifaces/<iface>/`, для зависимых интерфейсов (GRE поверх ppp0)