• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    INDIANCentralizovaná správa stanic a ostatních prvků v síti - automation/monitoring/alerting a dalsi devops nastroje
    DEFILA
    DEFILA --- ---
    QUIP:
    vsak jde, posles si --extra-vars="TVOJE_HODNOTA" a zavolas si ji; problem je, ze (tusim) hodnota too hesla bude nekde citelna ... (a osobne nemam rad --external-vars ...:))
    QUIP
    QUIP --- ---
    DEFILA: Sudo bez hesla neprovozuju (zamerne). Tak asi jedine ten samostatny config. Skoda, ze to nejde elegantneji jen pomoci parametru v cli, jako to jde u nekterych jinych programu.
    DEFILA
    DEFILA --- ---
    QUIP: mít v visudo NOPASSWD: .... ?:) Jinak bych řekl, že buď mít dedikovaný config pro to chceš jednou dělat; případně tam posílat z cli externí proměnou?(má největší prioritu, ale přijde mi to vždy jako prasarna)
    QUIP
    QUIP --- ---
    Da se u prikazu "ansible" (ne ansible-playbook) nejak potlacit dotazovani na heslo pro sudo, jen pro to jedno spusteni, kdyz v ansible.cfg mam sudo_ask_pass=True? Zkratka existuje nejaky opak k --ask-sudo-pass?
    Takhle se me totiz dotazuje na heslo, i kdyz chci jen --list-hosts.
    DEFILA
    DEFILA --- ---
    QUIP: jop, není to perfektní ve všech případech, ale jako ukázka pro Ansible mi to přišlo OK:)
    QUIP
    QUIP --- ---
    DEFILA: Ciste teoreticky ten tvuj task (shell: 'egrep ":[1][0-9]{3}" /etc/passwd | cut -d: -f1') muze odchytit i uzivatele, ktery ma UID mimo ten pozadovany rozsah, ale ma takove treba GID, nebo komentar zacina cislem 1xxx

    Takze bych tam spis dal awk, ktere bude rozlisovat konkretni fieldy

    awk -F: '$3 ~ /1[0-9]{3}/ { print $1 }' /etc/passwd

    nektere verze awk nerozumi tomu regexpu 1[0-9]{3}
    Tam je pak moznost pouzit

    awk -F: '$3 ~ /1[0-9][0-9][0-9]/ { print $1 }' /etc/passwd

    nebo

    awk -F: '$3 > 1000 && $3 < 2000 { print $1 }' /etc/passwd
    RUDOLF
    RUDOLF --- ---
    FRANCIMOUR: Wiki to má popsané lépe, imho něco jako selinux, jako nástroj tam má být csutil či tak nějak.. prej to jde částečně vypnout..

    System Integrity Protection - Wikipedia
    https://en.m.wikipedia.org/wiki/System_Integrity_Protection
    DEFILA
    DEFILA --- ---
    FRANCIMOUR:
    ja se v macOSu vazne nevyznam :)
    FRANCIMOUR
    FRANCIMOUR --- ---
    DEFILA: Něco takového ...

    What Is SIP? macOS System Integrity Protection Explained
    https://www.makeuseof.com/tag/what-is-sip-macos/
    DEFILA
    DEFILA --- ---
    FRANCIMOUR:
    Selinux - bezpecnosti politika linuxu, bez ohledu na to jaky jsi uzivatel (at uz root nebo, ne) - pokud tve 'procesy' nemaji spravny "stitek", tak je s zadnym uzivatelem nepustis
    FRANCIMOUR
    FRANCIMOUR --- ---
    DEFILA: Co to?
    DEFILA
    DEFILA --- ---
    FRANCIMOUR: macos má něco ala SElinuch?:))
    FRANCIMOUR
    FRANCIMOUR --- ---
    Tak jsem šel stepbystep:

    crony fungují... echo "hello world" do txt v pohodě,
    tak jsem zkusil find vypsat do txt taky v pohodě,
    zkusil jsem mazání s -delete a ... smaže se kus a dál už nic,
    tak jsem si to nechal vypsat do logu a Find: Operation not permitted
    * * * * 2 /usr/bin/find /Users/*/Library/Application\ Support/MobileSync/Backup -type f -mtime +60 -delete >> /Users/karel/Desktop/test.log 2>&1


    Hádám, že sice jako root, ale narážím na MacOS SIP.
    FRANCIMOUR
    FRANCIMOUR --- ---
    DRON: Ano, díky to už jsem taky vyčetl... takže root tam není. Zkusím se posunout níž a zkusit basic commands , abych zjistil zda mu nevadí něco v tom find..
    DRON
    DRON --- ---
    FRANCIMOUR: jestli to editujes pomoc crontab -e pod userem root, tak ta specifikace uzivatelw (root) za definici dne je uz navic...
    ADM
    ADM --- ---
    FRANCIMOUR: to by mohlo byt escapovanim {}, zkus to uplne vyhodit a nahradit ten -exec prostym -delete (pokud to ten jablecny find umi), jinak to zkus nejak odescapovat
    FRANCIMOUR
    FRANCIMOUR --- ---
    ADM: no já jsem to teď zkusil dát s plnou cestou:
    57 14 * * 2 root /usr/bin/find /Users/*/Library/Application\ Support/MobileSync/Backup -type f -mtime +90 -exec rm -f {} \;

    musím tam mít nějakou blbou chybu, že se to ani nechytne
    ADM
    ADM --- ---
    FRANCIMOUR: zkusil bych: plnou cestu napr. /usr/bin/find, do crontabu promennou SHELL="/path/to/shell/idealne/bash", spustit find v shellu neco jako /bin/sh -c "find blabla",
    FRANCIMOUR
    FRANCIMOUR --- ---
    DEFILA: OK tak jsem se podvolil a enabloval roota. crontab -e

    30 14 * * 2 root find /Users/*/Library/Application\ Support/MobileSync/Backup -type f -mtime +90 -exec rm -f {} \;

    ale tam mrcha se v uvedený čas nepustí. system.log mlčí
    FRANCIMOUR
    FRANCIMOUR --- ---
    DEFILA: Od roota se snsžím držet co nejdál, protože MacOS už párkrát měl idsues s rootem. Přepravňocat se mi to pro admina taky nechce.

    Pravda je, že bych mohl mít playbook, který bych pouštěl ručně a ten by to promázl ale chtěl jsem tu udělat automatické. Zkusím se podívat na ten playbook, který by udělal ten cron.

    Ještě dodatečná otázka, na kterou mi pan G nedokázal odpovědět: existuje na MacOSu něco jako na Linuxu /etc/cron.d/cron.daily? (Nebo tak nějak, cestu už si moc nepamatuju)
    Kliknutím sem můžete změnit nastavení reklam