FreeBSD - /etc/rc.local

samalama

Re:FreeBSD - /etc/rc.local
« Odpověď #15 kdy: 24. 10. 2018, 15:40:30 »
ten init script stejně řeší jen přepínače(start, restart, stop, status, etc) ...ten já v podstatě vůbec nepotřebuju
mě kurna stačí jen nastartovat Snort po bootu

https://www.youtube.com/watch?v=XDJEPjvbbs4

ludia by v diskusiach mali povinne zverejnovat, kde alebo pre koho pracuju, aby sa im potom clovek mohol vyhnut...


ZAJDAN

  • *****
  • 2 030
    • Zobrazit profil
    • E-mail
Re:FreeBSD - /etc/rc.local
« Odpověď #16 kdy: 24. 10. 2018, 15:44:12 »
nevim o cem pises, ale obecne k rc.local
1. pokud nevis zda se vubec pousti, pridas (treba): touch /tmp/bezim a uvidis zda se vytvori (resp. to sis overil presmerovanim ifconfig do souboru)
2. pokud vis ze se rc.local pousti, ale nepousti(?) se pridanej prikaz, pridas presmerovani (stdout a stderr) toho prikazu do souboru
již v prvním příspěvku jsem zmínil, že si čekuju přímo v rc.local existenci bridge...to proběhne v pořádku, tedy rc.local je načten
ale zkusím na tvé doporučení (stdout a stderr)
díky...
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Vykook

  • ***
  • 135
    • Zobrazit profil
    • homepage
    • E-mail
Re:FreeBSD - /etc/rc.local
« Odpověď #17 kdy: 24. 10. 2018, 15:44:18 »
Tak hlavně by to chtělo číst odkazy co jsem někdo hodil.
Například hned na začátku toho co jsem odkazoval, je pasáž:

If you're used to just being able to add lines to a file called /etc/rc.local and have them execute at boot-up then you're probably wondering what happened to it in FreeBSD. Well, it's been replaced by a directory called /usr/local/etc/rc.d - The /etc/rc startup script file searches this directory for .sh files (shell scripts) and executes them.

A ano funguje to. Vedle "apache24" (např.) a dalších věcí z balíčků, můžeš přidat blabla.sh a ono ho to spustí při bootu.

ZAJDAN

  • *****
  • 2 030
    • Zobrazit profil
    • E-mail
Re:FreeBSD - /etc/rc.local
« Odpověď #18 kdy: 24. 10. 2018, 15:50:08 »
If you're used to just being able to add lines to a file called /etc/rc.local and have them execute at boot-up then you're probably wondering what happened to it in FreeBSD. Well, it's been replaced by a directory called /usr/local/etc/rc.d - The /etc/rc startup script file searches this directory for .sh files (shell scripts) and executes them.

A ano funguje to. Vedle "apache24" (např.) a dalších věcí z balíčků, můžeš přidat blabla.sh a ono ho to spustí při bootu.
já se řídil dle:
https://www.freebsd.org/cgi/man.cgi?query=rc.local&sektion=8
Typically, the /usr/local/etc/rc.d/ mechanism is used instead of rc.local these days but if you want to use rc.local, it is still supported.

a v mém případě se rc.local načte, provede se spousty jiných věcí, jen se nenahodí ten Snort
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Lol Phirae

Re:FreeBSD - /etc/rc.local
« Odpověď #19 kdy: 24. 10. 2018, 16:05:21 »
Vyser se na Snort a nainstaluj si Suricatu normálně z balíčku.


user

Re:FreeBSD - /etc/rc.local
« Odpověď #20 kdy: 24. 10. 2018, 17:51:20 »
určitě to úpravit bude potřeba, třeba jen
[ -z "$snort_conf" ]      && snort_conf="%%PREFIX%%/etc/snort/snort.conf"
je pro Snort3 nepoužitelné, defaultně má všechny konfiguráky .lua (psané v jazyce LUA)
Ok, len som to preletel a nevsimol som si.

udělal jsem reboot, ale snort po bootu neběží
ten init script stejně řeší jen přepínače(start, restart, stop, status, etc) ...ten já v podstatě vůbec nepotřebuju
mě kurna stačí jen nastartovat Snort po bootu
Ale ano, tento skript riesi aj to, aby sa snort spustil po starte systemu ked je v rc.conf "snort_enable=YES". Ked ti ide spustit cez "service snort start", tak sa ti musi spustit aj pri boote. Je mozne ze nasledne spadne (co by mohlo byt aj v pripade rc.local), ale to uz musis zistit nejakym logovanim.

ZAJDAN

  • *****
  • 2 030
    • Zobrazit profil
    • E-mail
Re:FreeBSD - /etc/rc.local
« Odpověď #21 kdy: 24. 10. 2018, 17:51:57 »
co jsem opoměl tak v tom init scriptu nahradit PREFIX za /usr/local/snort ....opravil jsem tedy jak v rc.conf tak i init scriptu a zde je jeho aktuální obsah:
Kód: [Vybrat]
#!/bin/sh
        # $FreeBSD$

        # PROVIDE: snort
        # REQUIRE: DAEMON
        # BEFORE: LOGIN   
        # KEYWORD: shutdown

        . /etc/rc.subr

        name="snort"
        rcvar=snort_enable
        extra_commands=reload

        command="/usr/local/snort/bin/snort"

        load_rc_config $name

        [ -z "$snort_enable" ]    && snort_enable="NO"
        [ -z "$snort_conf" ]      && snort_conf="/usr/local/snort/etc/snort/snort.lua"
        [ -z "$snort_flags" ]     && snort_flags="-D -q"

        [ -n "$snort_interface" ] && snort_flags="$snort_flags -i $snort_interface" \
                                  && pidfile="/var/run/snort_${snort_interface}.pid"
        [ -n "$snort_conf" ]      && snort_flags="$snort_flags -c $snort_conf"
        [ -n "$snort_expression" ] && snort_flags="$snort_flags $snort_expression"

        if [ -n "$snort_rules" ]; then
          _1=$1
          if [ $# -gt 1 ]; then shift; snort_rules=$*; fi
          snort_conf=""
          snort_flags=""
          rc=0
          for i in ${snort_rules}; do
                eval _conf=\$snort_${i}_conf
                eval _flags=\$snort_${i}_flags
                [ -z "$_flags" ] && _flags="-D -q"
                eval _intf=\$snort_${i}_interface
                eval _expr=\$snort_${i}_expression
                if [ -n "$_intf" ] ;then
                    _conf="$_conf -i $_intf"
                   eval pidfile="/var/run/snort_$_intf.pid"
                fi
                command_args="$_flags -c $_conf $_expr"
                run_rc_command "$_1"
                if [ $? -ne 0 ]; then rc=1; fi
                unset _pidcmd _rc_restart_done
           done
           exit $rc
        else
           run_rc_command "$1"
        fi
pro jistotu jsem jako root spustil:
Kód: [Vybrat]
sh -x /usr/local/etc/rc.d/snort starta vidím, že je tam problém:
+ debug 'pid file (): not readable.'
viz: https://bpaste.net/show/bd2784fdcee2 on line:554-559
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

samalama

Re:FreeBSD - /etc/rc.local
« Odpověď #22 kdy: 24. 10. 2018, 19:18:13 »
tvoj zasadny problem je, ze nerozumies tomu, co robis. precitat si nejake 10-riadkove howto na webe nestaci. potom uz len hadas, myslis, dufas...

najprv si zisti, ako co funguje (s akymi parametrami spustit snort, ako sa spustaju sluzby vo freebsd, atd atd...) a potom sa pustaj do komplexnejsich veci...

ZAJDAN

  • *****
  • 2 030
    • Zobrazit profil
    • E-mail
Re:FreeBSD - /etc/rc.local
« Odpověď #23 kdy: 24. 10. 2018, 19:28:32 »
tvoj zasadny problem je, ze nerozumies tomu, co robis. precitat si nejake 10-riadkove howto na webe nestaci. potom uz len hadas, myslis, dufas...

najprv si zisti, ako co funguje (s akymi parametrami spustit snort, ako sa spustaju sluzby vo freebsd, atd atd...) a potom sa pustaj do komplexnejsich veci...
jestli je tohdle všechno co chceš říct, tak plýtváš energii....tím mě rozhodně neodradíš
forum je od toho aby si lidi radili a to na jakekoliv úrovni, egoistické žvásty jak vy jste dobří a já lůza jsou k NIČEMU!
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

samalama

Re:FreeBSD - /etc/rc.local
« Odpověď #24 kdy: 24. 10. 2018, 19:50:09 »
tvoj zasadny problem je, ze nerozumies tomu, co robis. precitat si nejake 10-riadkove howto na webe nestaci. potom uz len hadas, myslis, dufas...

najprv si zisti, ako co funguje (s akymi parametrami spustit snort, ako sa spustaju sluzby vo freebsd, atd atd...) a potom sa pustaj do komplexnejsich veci...
jestli je tohdle všechno co chceš říct, tak plýtváš energii....tím mě rozhodně neodradíš
forum je od toho aby si lidi radili a to na jakekoliv úrovni, egoistické žvásty jak vy jste dobří a já lůza jsou k NIČEMU!

ok ty chytrak, tak najdi rozdiel:

/usr/local/snort/bin/snort -c /usr/local/snort/etc/snort/snort.lua -i bridge0

vs

snort_flags="-D -q"


nehovoriac o tom, ze:
ten init script stejně řeší jen přepínače(start, restart, stop, status, etc) ...ten já v podstatě vůbec nepotřebuju
mě kurna stačí jen nastartovat Snort po bootu

co je len dokaz mojho prveho postu...

ZAJDAN

  • *****
  • 2 030
    • Zobrazit profil
    • E-mail
Re:FreeBSD - /etc/rc.local
« Odpověď #25 kdy: 24. 10. 2018, 21:38:14 »
.......
.......
pro me je to spis dukaz, že umíš jen prudit
Nejsem expert, ale hlupáka ze mě neuděláš.
Script v  /usr/loacal/etc/rc.d/ který je integrován z instalátoru baličkovacího systému není potřeba pro samotné spuštění. Mimo to, že to spuštění umí zařídit má hlavně přepínače(start, restart, stop, status, etc) a různé parametry pomocí kterých se potom dá pohodlně ovládat jak z CLI tak z GUI.

Já mluvil o tom, že mi stačí "konvenční" přístup a příkaz který z /etc/rc.local na linuxu funguje(uvádí to i odborná literatura),
/usr/local/snort/bin/snort -c /usr/local/snort/etc/snort/snort.lua -i bridge0
Stejně jsem to chtěl provádět na BSD, ale tam se mi to nedařilo, proto jsem se pokusil adaptovat defaultní init script ze Snort2 do mého kompilovaného Snort3, kde se takový script nevytvoří(což potvrdil i jeden z diskutujících).
Teď jsem ve fázi, kdy init script v /usr/local/etc/rc.d/snort nespustí snosrt po rebootu, ale dokážu ho spustit ručně
Kód: [Vybrat]
#/usr/local/etc/rc.d/snort startovšem jak jsem již zmínil v předchozím příspěvku, nastane problém s vytvořením .pid ve /var/run/



Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

samalama

Re:FreeBSD - /etc/rc.local
« Odpověď #26 kdy: 24. 10. 2018, 22:26:12 »
odkial vies, ze je problem s vytvorenim pidfilu?

inac stale tocis dookola, ale prestudovat si nieco, to nie...

ZAJDAN

  • *****
  • 2 030
    • Zobrazit profil
    • E-mail
Re:FreeBSD - /etc/rc.local
« Odpověď #27 kdy: 24. 10. 2018, 22:44:03 »
odkial vies, ze je problem s vytvorenim pidfilu?

inac stale tocis dookola, ale prestudovat si nieco, to nie...

kurna FIX! přečti si moje příspěvky pořádně a přestaň mektat! a piš laskavě česky
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

samalama

Re:FreeBSD - /etc/rc.local
« Odpověď #28 kdy: 24. 10. 2018, 23:19:53 »
a ja sa este raz pytam, kde vidis problem s pidfilom, kvoli ktoremu ti to udajne nefunguje?

ale najprv si skus nieco nastudovat o shelli, o tom ako funguju skripty, o navratovych hodnotach... ulahci ti to trapenie...

ZAJDAN

  • *****
  • 2 030
    • Zobrazit profil
    • E-mail
Re:FreeBSD - /etc/rc.local
« Odpověď #29 kdy: 24. 10. 2018, 23:22:15 »
a ja sa este raz pytam, kde vidis problem s pidfilom, kvoli ktoremu ti to udajne nefunguje?
pro jistotu jsem jako root spustil:

Kód: [Vybrat]
sh -x /usr/local/etc/rc.d/snort start
a vidím, že je tam problém:
+ debug 'pid file (): not readable.'
viz: https://bpaste.net/show/bd2784fdcee2 on line:554-559
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.