понеделник, ноември 04, 2013

Идея за технически проект като продължение на NOM

NOM
Извадка от мейл до колеги:

Само да поясня, че дългият текст по-долу засяга само една малка част от общата картинка (така както аз успявам да я видя без да съм в системата)... тук не споменавам ситема за онлайн обучения (във пълният й вид, а не само статични презентации и/или видео включвайки дори и дистрибутиране на видео/аудио/текстови материали, карти, атласи, др за допълнителни занятия - филмчета от Discovery по География или Animal Planet по Биология примерно), система за генериране на тестове, контролни, класни, изпити и прочие (дори и с възможност за проверка на коректността на оценяване от страна на външни оценители или родители), интеграция с наличното видео наблюдение + паник бутон/безплатен_номер; Ако съвсем се разфантазирам нещо толкова генерално би било полезно както за учениците така и за работодателите и университетите.

Това което аз споменах беше предложение да се реши един определен проблем, а именно своевременно актуализиране на данните касаещи успеха и поведението на учениците в учебното заведение, което може да се комбинира много лесно със своевременно уведомление на родителите при конкретни обсточтеслтва (примерно да получават нотификаци само при забележки или само при отсъствия или при определена оценка по определен предмет).
На практика да се замени остарелият и явно неефективен вече книжен учителски дневник с елктроенен такъв. Цялото решение го виждам като евтин таблет с android OS и SIM модул или wireless модул. Таблет-а играе ролята на учителски бележник и върху него се стартира специален за целта shell който ще предоставя само функционалността за която е предназначен т.е. ел.бележник. Самото приложение може да бъде много потребителско т.е. 1 учител вижда само данните за този клас по този предмет; класната на класа вижда данните на всичките си ученици по всички предмети, а директорката всичко което може да се види. Ако таблета е с "писалка" даже не е нужно учителите да "кълват" по клавиатурата пишейки забележка или оценка/отсъствие. Цялото нещо може да се обогати и/или усложни с сихронизирана програма на учениците включваща reminders кой не е изпитван отдавна примерно; може да се интегрира с мейл или document management system в който учениците "пускат" домашните си ; може да се използва и за "контрол" не само на учениците ами и на учителите (сигурен съм, че и те минават през някакво вътрешно оценяване или поне би трябвало); може да се предвиди и опция за обратна връзка т.е. от страна на учениците/родителите към учителите.
За мен основните плюсове са:
1. модерно е и е в крак с времето - децата още от 1-ви клас имат smart телефони
2. учителите не трябва да минават дълги, сложни и със съмнително качество и успех курсове по компютърна грамотност
3. незабавна актуализация в профила на ученика
4. наличието на централизирана база с резултатите през годините, от които най-малкото могат да се правят много по-сериозни и релевантни статистически извадки и изводи

Малко груби щрихи към техническата реализация:
Във варианта на таблес със SIM карта - интернет не е необходим; достатъчне е APN който да събира data traffic-a и да го "кара" към едно централно място (основен/резервен/бекъп дейта център). Трифата за мобилните потребители може и да е на трафик, а не "на план/програма" имайки предвид малкото количество трафик необходимо за трансфер/обновяване на данните. Броя такива таблети ще определи и цената според мен, като лично аз си го представям като 1 таблет за 1 клас. Споменавам такива със SIM карта защото просто не мога да се сетя за място в което някой GSM оператор да няма покритие
Във варианта без SIM карта, а само с wireless module - това е по-евтиният вариант и при него нещата могат да се реализират с локална за училището Wireless свързаност или нанасяйки промените таблета в момента в който се озове в обхвата на заделената за целата WiFi AP да се синква автоматично с локалният сървър (примерно в момента в който учителя занесе таблета в класната стая)
Колкото до мрежовата схема - нещата са точно както ги казва Name Family - при качествен оптичен бекбон в/у него можеш да пускаш когато и каквито решиш услуги... но ако нямаме такъв бекбон можем да използваме разпределена структура т.е. до РИО-тата вече има изградени връзки и сървърите в тези РИО-та се синхронизират от основният и/или бекъп дейта центъра на МОН (примерно Пловдив - София); от РИО-тата се синхронизират всички по-големи центрове/градове/училища (Примерно Стара Загора- Пловдив), от сървърите в по-големите градове се синхронизират по-малките училища в селата (Гълъбово - Стара Загора) или нещо в този дух... като мрежовата схема може да копира или да следва вече изградената административната такава 


Основните "НЕ" което съм получавал на тази идея обсъждана с познати е:
1. Таблетите се чупят/губят/крадат - ако са достатъчно евтини могат да се предвидят резервни, а кражбата става безсмислена ако таблета е ограничен като функционалност (няма Интернет, игри, Google Store, и пр.)
2.Учителите са стари и не можеш да ги накараш да ползват нови технологии - винаги ми е звучало несериозно, защото живеем в 21 век и в условията на пазарна икономика, конкуренцията е една от основните движещи сили на пазара т.е. зад всеки 55 годишен учител възпитаник на килийното училище в Рилският Манастир стоят поне 5 отличника от последният випуск на педагогическият университет, които търсят реализация по специалността. Както се променя учебната програма за да "fit-не" на съвремието, така трябва да се променят и учителите.

събота, октомври 05, 2013

сряда, август 28, 2013

Proftpd & FileZilla troubles

Като допълнение на това: FTP access-2
[ Нещата явно са се случили след ъпдейта от Debian 6 към Debian 7 Поне нищо друго не ми хрумва ]
Като цяло оплакването, е че не работи FTP съръвъра... в частност - не работи през FileZilla
Status:    Connection established, waiting for welcome message...
Response:    220 DMT FTP Server
Command:    USER down
Response:    331 Password required for down
Command:    PASS ****
Response:    230 Anonymous access granted, restrictions apply
Command:    OPTS UTF8 ON
Response:    200 UTF8 set to on
Status:    Connected
Status:    Retrieving directory listing...
Command:    PWD
Response:    257 "/" is the current directory
Command:    TYPE I
Response:    200 Type set to I
Command:    PORT 194,12,234,123,242,221
Response:    200 PORT command successful
Command:    MLSD
Error:    Connection closed by server
Error:    Failed to retrieve directory listing


Драмата е в новите версии на proftpd (явно над proftpd -v ProFTPD Version 1.3.4a) и по-специално в mod_facts.c
Текущата версия е :  proftpd -vv | grep facts -->   mod_facts/0.3 (* $Id: mod_facts.c,v 1.45 2011/05/23 21:11:56 castaglia)
докато старата е : proftpd -vv | grep facts -->   mod_facts/0.1 ($Id: mod_facts.c,v 1.26.2.1 2010/03/02 18:08:07 castaglia)

Решението на проблема е :
< IfModule mod_facts.c > 
FactsAdvertise off 
</IfModule > 
добавено в /etc/proftpd/proftpd.conf.

Описанието:  
1. http://www.proftpd.org/docs/modules/mod_facts.html
2. https://forum.filezilla-project.org/viewtopic.php?f=2&t=22464&start=0  


петък, август 23, 2013

LSI MegaRAID Storage Manager + Ubuntu

Server: Ubuntu 12.04 LTS 64b
RAID Controller: LSI 8704epl

Целта на занятието беше мониторинг и управление на RAID volumes.
I. Console tools:
echo "deb http://hwraid.le-vert.net/debian wheezy main" >> /etc/apt/sources.list
wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add -
apt-get update
apt-get install megaclisas-status  megacli megaraidsas-status megasasctl
cat /etc/init.d/megaraid-statusd | grep MAILTO
MAILTO=root   # Where to report problems

Като краен резултат:
megasasctl -vv -l 0x05
a0       MegaRAID SAS 8704ELP     bios:2.07.00 fw:1.40.42-0615 encl:1 ldrv:2  rbld:30% mem:128MiB batt:FAULT, module missing, pack missing, charge failed/0mV/0C
a0d0      1861GiB RAID 1   1x2  optimal
      row  0:  a0e252s2  a0e252s3
a0d1       297GiB RAID 1   1x2  optimal
      row  0:  a0e252s0  a0e252s1
a0e252s0      ATA WDC WD3201ABYS-0 rev:1C02 s/n:WD-WCARW4849895         298GiB  a0d1  online   errs: media:0  other:812
a0e252s1      ATA WDC WD5003ABYX-0 rev:1S02 s/n:WD-WMAYP5632935         465GiB  a0d1  online   errs: media:0  other:749
a0e252s2      ATA WDC WD2003FYYS-0 rev:1D02 s/n:WD-WCAY00537638        1863GiB  a0d0  online   errs: media:0  other:750
a0e252s3      ATA WDC WD2003FYYS-0 rev:1D02 s/n:WD-WCAY01502649        1863GiB  a0d0  online   errs: media:0  other:567

II. GUI - LSI MegaRAID Storage Manager -- това е ми трябваше.
Вариантите са 2 - рънвам го локално и правя X11-forwarding през SSH или си инсталирам този софтуер някъде и от това някъде се свързвам към локално стартираният сървър. Писана е цялата дивотия на java. Иска си net-snmp
cd /tmp/
wget http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/13.04.03.01_Linux(x64)_MSM.tar.gz
apt-get install alien
tar xfvz 13.04.03.01_Linux(x64)_MSM.tar.gz
cd disk/
alien --scripts *.rpm
dpkg -i *.deb
Логина от remote machine иска Local credentials и за да може да се правят промени по RAID-a трябва да е root или поне sudo.

четвъртък, юли 18, 2013

Cisco router act as PPTP client

sh vers
Cisco IOS Software, 2800 Software (C2800NM-ADVSECURITYK9-M), Version 12.4(18), RELEASE SOFTWARE (fc1)
Cisco 2811 (revision 53.51) with 247808K/14336K bytes of memory.
Processor board ID FCZ114873QF
6 FastEthernet interfaces
2 Virtual Private Network (VPN) Modules
DRAM configuration is 64 bits wide with parity enabled.
239K bytes of non-volatile configuration memory.
62720K bytes of ATA CompactFlash (Read/Write)

 Running Config

service internal !---> necessary to enable VPDN to allow a request-dialin  protocol pptp
!
no ip gratuitous-arps !---> recommended
!
vpdn enable
!
vpdn-group 2
request-dialin
protocol pptp 
rotary-group 2  .
initiate-to ip 85.14.22.162 !---> 85.14.22.162 is the ip of my pptp Server
!
!
interface Dialer2  
description PPTP-client Dialer
ip address negotiated
ip access-group 102 in ! ---> ACL wich defines my interesting traffic
encapsulation ppp
dialer in-band
dialer idle-timeout 0 !---> PPTP is slow to negotiate and start, so better an infinite timeout...
dialer string 123 !---> seems to be ignored but...
dialer vpdn
dialer-group 2 !--->  see dialer-list 2 below
no cdp enable
ppp pfc local forbid
ppp pfc remote reject 
ppp encrypt mppe auto 
ppp chap hostname pptp_client_username
ppp chap password pptp_client_password
!
ip access-list ext 102
permit ip any 172.16.0.0 0.0.0.255
!
ip route 172.16.0.0 255.255.0.0 Dialer2 222 !---> some private routes via PPTP with higher metric
! PPTP link is used as a Dial-On-Demand backup link.  OSPF is serving needed prefixes via primary link
!dialer-list 2 protocol ip permit !----> used to initiate the pptp tunnel, permit all traffic, the ACL 102 will permit/block


четвъртък, юли 04, 2013

Daily wisdom

Нито е толкова просто, колкото изглежда, нито е толкова сложно колкото ни се струва!

понеделник, април 01, 2013

Ubuntu LTS upgrade from Lucid to Precise

do-release-upgrade и се случват някакви неща... след като свърши се оказа, че хората не могат да изпращат мейли.
Mail server config : postfix + quota + courier pop/imap + virtual users (MySQL)
Postfix-a реве с :
13:53:27 mail postfix/smtpd[9874]: warning: unknown[10.0.0.163]: SASL LOGIN authentication failed: no mechanism available
13:53:27 mail postfix/smtpd[9874]: warning: unknown[10.0.0.151]: SASL PLAIN authentication failed: no mechanism available

Конфигурационно нещата не са се променили:
saslauthd -v
saslauthd 2.1.25
authentication mechanisms: sasldb getpwent kerberos5 pam rimap shadow ldap


saslfinger -s
-- content of /etc/postfix/sasl/smtpd.conf --
log_level: 7
pwcheck_method: saslauthd
mech_list: plain login pam
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: --- replaced ---
sql_passwd: --- replaced ---
sql_database: mail
sql_select: select password from users where email = '%u'


-- mechanisms on localhost --
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN


Явно пакетите от Precise са строшени (и друг път се е случвало... почти всеки път като се замисля всъщност)
Решението с големият чук:

cd /home/eol
mkdir sasl_downloaded
cd sasl_downloaded
wget http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.23.dfsg1-5ubuntu3_amd64.deb http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/libsasl2-modules_2.1.23.dfsg1-5ubuntu3_amd64.deb http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/libsasl2-modules-sql_2.1.23.dfsg1-5ubuntu3_amd64.deb http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/libsasl2-dev_2.1.23.dfsg1-5ubuntu3_amd64.deb http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/sasl2-bin_2.1.23.dfsg1-5ubuntu3_amd64.deb


dpkg -i *.deb

За да не се ъпгрейднат  при следващото apt-get update/upgrade :
echo libsasl2-2 hold | dpkg --set-selections
echo libsasl2-div hold | dpkg --set-selections
echo libsasl2-modules hold | dpkg --set-selections
echo libsasl2-modules-sql hold | dpkg --set-selections
echo sasl2-bin hold | dpkg --set-selections


И сега съм :
saslauthd -v
saslauthd 2.1.23
authentication mechanisms: sasldb getpwent kerberos5 pam rimap shadow ldap

вторник, март 26, 2013

Install JAVA JRE/JDK on Debian

Тези debian и тези java толкова пък заради едни лицензи драми да отварят... всеки пък загуба на време да подкарам Java-та вместо да се оправям с нещата които всъщност я искат тази Java.
Та ...
Правилният начин:

apt-get purge openjdk-\* --  никога не пречи пък openjdk-то никога не ми е вършело работа

wget -O http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-linux-x64.rpm
alien jdk-7u17-linux-x64.rpm
dpkg -i  jdk-7u17-linux-x64.deb

или (Oracle suggest)

wget -O http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-linux-x64.tar.gz
tar xfvz  jdk-7u17-linux-x64.tar.gz
 cp -r jdk1.7.0_17 /usr/local/java
cd  /usr/local/java
nano /etc/profile  -->
JAVA_HOME=/usr/local/java/jdk1.7.0_17
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
JRE_HOME=/usr/local/java/jre1.7.0_17
PATH=$PATH:$HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH


Къде  Debian-a търси JRE/JDK
update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jre1.7.0_17/bin/java" 1
update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.7.0_17/bin/javac" 1
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jre1.7.0_17/bin/javaws" 1
последното е за Java WebStart

Oracle Java JDK/JRE e default Java
update-alternatives --set java /usr/local/java/jre1.7.0_17/bin/java
update-alternatives --set javac /usr/local/java/jdk1.7.0_17/bin/javac
update-alternatives --set javaws /usr/local/java/jre1.7.0_17/bin/javaws

. /etc/profile

Test:
 $JAVA_HOME/bin/java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
eol@alfresco:~$ $JAVA_HOME/bin/javac -version
javac 1.7.0_17

Debian/Ubuntu way (autoupdate via apt-get update)

Add PPA (Personal Package Archver)
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
(на РРА сайта си го има)
apt-get update
apt-get install oracle-java7-installer
apt-get install oracle-java7-set-default  --
би трябвало да ми сет-не променливите от environment-a ама за всеки случай да се набият ръчно в /etc/profile (че не го виждам това тулче къде и какво пише)

Test:
  lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.0 (wheezy)
Release:        7.0
Codename:       wheezy



 $JAVA_HOME/bin/java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
eol@alfresco:~$ $JAVA_HOME/bin/javac -version
javac 1.7.0_17

eol@alfresco:~$ $JAVA_HOME/bin/javap -version
1.7.0_17

четвъртък, март 07, 2013

vSphere VM Open Console

vCenter/vSphere 5.1 -> New Machine -> ala-bala -> start ; Open Console  и ...
Unable to connect to the MKS. Failed to connect to Server
MKS?! Кой курац е тоа и защо не мога да се конектна към него? Особено на tcp порт 903!
MKS : Mouse, Keyboard and Screen
А защо не мога да се вържа към него ... то не бяха проверки на рутинги, то не бяха проверки на firewall-и (и на локалната машина, и рутерите по пътя и на самият ESX хост), то не бяха проверки на стартирани сървиси и какво ли още не!
А то ... DNS issue... и то по-скоро name resolution issue
Как работело това:
От локалното ми РС vSphere client-a се свързва към vCenter-a; през vCenter-a се "конектвам" към ESX host-a който в момента "държи" VM; Open Console on VM кара моята машина да инициира TCP сесия към IP_to_na_ESX който приема конекшъна и ако моята заявка към MKS е първата отговаря с нещо от рода на : Ok. Please coonect to ESX_HOSTNAME:903 и ... моята машина знае за IP_na_ESX_hosta, но хабер си няма кой е ESX_HOSTNAME (тъй като не е в една мрежа с ESX и не ползва DNS server-a на ESX) и резонно не може да се осъществи връзка
Solution:
1. echo "IP_to_na_ESX  ESX_HOSTNAME" c:\windows\system32\drivers\etc\hosts
2. echo "### not sure about next line but neam nerwi weche" c:\windows\system32\drivers\etc\hosts
3. echo "IP_to_na_vCenter  vCenter_OSTNAME" c:\windows\system32\drivers\etc\hosts

събота, февруари 23, 2013

FTP access-2

Като алтернативно решение на това
Изискванията са същите :
1.Admin has full access in the relevant section(s) - means read/write/rename/move/delete/overwrite
2.Guest access means read only
3.User access means read/write only (write means NOT overwrite)


И без това предният път с pure-ftpd явно нещо грешно съм описал та не можех да го възпроизведа отново затова новият solution е на базата на proftpd (10х бат Ицо)
Ограниченията ca user <-> command
Основният списък с командите : RawFTP 
Пълен такъв: RFC 959  - баси протокол на 28 години (от 1985-та) и user-ите още си го искат/търсят

  1. mkdir /home/ftp
  2. chmod -R 777 /home/ftp
  3. useradd ftp_admin ;  passwd ftp_admin ; useradd upload ; passwd upload ; useradd guest ; passwd guest
  4. apt-get install proftpd-basic
  5. cat /etc/proftpd/proftpd.conf
    ModulePath /usr/lib/proftpd
    LoadModule mod_ctrls_admin.c
    #LoadModule mod_tls.c
    LoadModule mod_radius.c
    LoadModule mod_quotatab.c
    LoadModule mod_quotatab_file.c
    LoadModule mod_quotatab_radius.c
    LoadModule mod_wrap.c
    LoadModule mod_rewrite.c
    LoadModule mod_load.c
    LoadModule mod_ban.c
    LoadModule mod_wrap2.c
    LoadModule mod_wrap2_file.c
    LoadModule mod_dynmasq.c
    LoadModule mod_exec.c
    LoadModule mod_shaper.c
    LoadModule mod_ratio.c
    LoadModule mod_site_misc.c
    LoadModule mod_facl.c
    LoadModule mod_unique_id.c
    ServerType standalone
    DefaultServer on
    Umask 022
    ServerName "0.0.0.0"
    ServerIdent on "DMT FTP Server"
    ServerAdmin sysadmin@playbox.tv
    IdentLookups off
    UseReverseDNS off
    Port 21
    PassivePorts 49152 65534
    #MasqueradeAddress None
    TimesGMT off
    MaxInstances 30
    MaxLoginAttempts 3
    TimeoutLogin 300
    TimeoutNoTransfer 120
    TimeoutIdle 120
    DisplayLogin welcome.msg
    DisplayChdir .message
    User nobody
    Group nogroup
    DirFakeUser off nobody
    DirFakeGroup off nogroup

    DefaultTransferMode binary
    AllowForeignAddress off
    AllowRetrieveRestart on
    AllowStoreRestart on
    DeleteAbortedStores off
    #TransferRate RETR 220
    #TransferRate STOR 250
    #TransferRate STOU 250
    #TransferRate APPE 250

    SystemLog /var/log/proftpd/system.log
    # Log file/dir access
    ExtendedLog /var/log/proftpd/access_log WRITE,READ
    # Record all logins
    ExtendedLog /var/log/proftpd/auth_log AUTH
    # Paranoia logging level....
    ExtendedLog /var/log/proftpd/paranoid_log ALL

    RequireValidShell off

    Ratios off
    SaveRatios off
    RatioFile "/restricted/proftpd_ratios"
    RatioTempFile "/restricted/proftpd_ratios_temp"
    CwdRatioMsg "Please upload first!"
    FileRatioErrMsg "FileRatio limit exceeded, upload something first..."
    ByteRatioErrMsg "ByteRatio limit exceeded, upload something first..."
    LeechRatioMsg "Your ratio is unlimited."


      AllowUser guest
      AllowUser uploader
      AllowUser ftp_admin
      DenyALL



    User guest
    Group guest
    AnonRequirePassword on
    MaxClients 20 "The server is full, hosting %m users"
    DisplayLogin welcome.msg
    DisplayChdir .msg

    Allow from All
    Deny from all

    AllowOverwrite off

     AllowAll


     DenyAll



    User uploader
    Group uploader
    AnonRequirePassword on
    MaxClients 20 "The server is full, hosting %m users"
    DisplayLogin welcome.msg
    DisplayChdir .msg

    Allow from All
    Deny from all

    AllowOverwrite off

     AllowAll


     DenyAll



    User ftp_admin
    Group ftp_admin
    AnonRequirePassword on
    MaxClients 10 "The server is full, hosting %m users"
    DisplayLogin welcome.msg
    DisplayChdir .msg

    Allow from All
    Deny from all

    AllowOverwrite on

     AllowAll


     DenyAll

 

неделя, януари 20, 2013

WinSCP ver.2

Update на стар пост: Ta... mantis backup
Като цяло задачата е от Windows-ки хост да се синкват/ъплоадват файлове към Linux ски такъв през SSH (и без това за management си го има SSH service... та да не се инсталират допълнителни)
Иначе обмислях и други варианти като WebDav, curlfs, sshfs, Samba, NFS ама всичките си искат допълните софтуери.
Та варианта който се ползва е на базата на SCP.
В моят случай най-голeмият минус е това, че SSH_User и SSH_User_Password са в clear text.
1. pscp.exe от пакета PuTTY
E:\_Backups\pscp.exe -scp -batch -l SSH_User -pw SSH_User_Password  File_To_Upload.txt example.com:/home/data/

2. WinSCP.exe от пакета WinSCP (single command line)
E:\_Backups\winscp.exe /console /command "option batch continue" "option confirm off" "open SSH_User:SSH_User_Password@example.com" "lcd E:\_Backups\tmp\" "synchronize remote -criteria=time" "exit"
Същественият плюс тук е възможността да се синкват файлове по критерий time

3. WinSCP.exe от пакета WinSCP (via script)
Същественият плюс тука е наличието на подробен лог-файл за извършваните действия (за debug/audit е супер)

bat-file : winscp.bat

E:\_Backups\tmp\winscp.exe /console /hostkey /script=E:\_Backups\tmp\1synchronize.txt /log=E:\_Backups\LOGs\"%date%"session.txt
/hostkey - да се съгласява с какъвто и fingerprint да му се представи сървъра отсреща

файла с командите които да се изпълнят:1synchronize.txt 

# Automatically answer all prompts negatively not to stall
# the script on errors
echo on

# on|off|abort|continue
# Toggles batch mode (all prompts are automatically replied negatively). 
# When on, it is recommended to set confirm to off to allow overwrites. 
# With abort script is aborted when any error occurs. 
# With continue all errors are ignored. 
 option batch continue

# Disable overwrite confirmations that conflict with the previous
#option confirm off
option confirm on

# Connect using a password
# open user:password@example.com
# Connect
open SSH_User:SSH_User_Password@example.com -hostkey="ssh-rsa 2048 e0:e5:aa:f8:35:f3:c4:00:16:57:a2:ac:04:66:0f:fc"

# Change remote directory
cd /home/data/

# Change local directory
lcd E:\_Backups\tmp\files

# Force binary mode transfer
option transfer binary

### When the first parameter is local, changes from remote directory are applied to local directory. 
### When the first parameter is remote, changes from the local directory are applied to the remote directory. 
### When the first parameter is both, both local and remote directories can be modified.
### http://winscp.net/eng/docs/scriptcommand_synchronize

# Synch local directory with remote one 
 synchronize remote -criteria=time

# Disconnect
close
# Exit WinSCP
exit


ToDo: passwordless (key-files) SSH authentication and authorization

сряда, декември 19, 2012

Бушидо

Като цяло кодексът Бушидо се свежда до пет главни постановки, повтарящи и поясняващи основните догми на конфуцианския морaл:

I. Вярност- Това понятие включва три най-важни положения:
1. Вярност на господаря и любов към отечеството - у верноподаника трябва да гори искрено чувство на почит към господаря и чувство на патриотизъм, частните интереси са недопустими.
2. Любов към родителите и привързаност към братята си - трябва да почиташ предците си, да обичаш роднините и децата си.
3. Усърдие - трябва да си усърден и прилежен и да имаш чувство за отговорност.

II. Вежливост - Също включва три положения:
1. Уважение и любов - трябва да уважаваш и почиташ висшестоящите, да им служиш искрено и да си задружен със събратята си по оръжие.
2. Скромност - не трябва да се кичиш със заслугите си и да се хвалиш със способностите си.
3. Изтънченост - трябва да си любезен и елегантен, да обичаш книгите и изящните изкуства, да си великодушен, да се отнасяш с разбиране към чуждите чувства.

III. Мъжество - Включва четири положения:
1. Храброст - трябва да си храбър при изпълнение на дълга си и смел при опасност, да действаш умело в трудна обстановка.
2. Твърдост и хладнокръвие - трябва да си безстрашен и невъзмутим, да не знаеш що е паника.
3. Търпеливост и издръжливост - трябва да побеждаваш чувствата си, да пренебрегваш интересите си, да търпиш на нужда и лишения, да си твърд и издръжлив, да се стремиш към целта си, преодолявайки всички препятствия.
4. Находчивост - трябва да си съобразителен, пресметлив, предприемчив и инициативен при всяко затруднено положение, точно да преценяваш момента за действие.

IV. Честност - Включва три положения:
1. Прямота и искреност - трябва да държиш на думата си, да ненавиждаш хитруването и раболепието, да бъдеш последователен в убежденията си.
2. Чест - трябва да пазиш честта и авторитета си.
3. Справедливост - трябва винаги да различаваш личното от общественото, да разбираш кое съответства на нравствените принципи.

V. Простота - Включва две положения:
1. Простота - не подобава да се стремиш към разкош, не трябва да харчиш пари на вятъра.
2. Скромност и чистота - не трябва да раздухваш славата си. Трябва във всичко да съблюдаваш простота и умереност, да не бъдеш тщеславен.


all credits to: LegalTheory

вторник, ноември 20, 2012

Thunderbird as a remote execution console

Търсеният резултат - при получаването на определен тип мейл да се изпълнява определена команда на/от локалният ми компютър

ThunderBird - Message Filters - Account - New

match clause: (match all)  
Subject - IS - Start Team Viewer   [Start file1.bat]
+ From  - IS - me_and_myself@trusted.mail (не че е трудно да се подправи From: полето, но все пак ... няма нужда от случайни мейли водещи до случайни стартирания на случайни неща)

Action : 
Launch file - C:\Program Files\TeamViewer\Version7\TeamViewer.exe [c:\Scripts\file1.bat]
+ Mark As Read
+ Move Message To [RemoteEXE - да си знам кога какво съм изпълнявал]
+ Forward Message To -- mail2sms_registered_mail@gmail.com [да съм сигурен, че командата ми е приета]

Същата логика би трябвало да е приложима към всеки средно интелигентен mail client.

ToDo:  същото, но да изпращам писмо на "сървър" и той да върши нещо (примерно получавам мейл от UPS-a; стартирам тулчето за мониторинг и управление на генератора с определени параметри)

вторник, октомври 30, 2012

Grub - Grub2 upgrade

Поради факта, че съм явно доста глуповат и не можах да се оправя в конзолата Божията Милост се спусна над мен недостойният във вид на Ubuntu Secure Remix / Boot Repair с чиято помощ успях да си запаля тъпият сървър със строшеният mdadm и недоклатеният cryptoLVM.
Силно препоръчителни тулчета с глуповато-мързеливи (като мен) с проблеми с MBR / BootLoader / OS boot (като мен)

неделя, октомври 28, 2012

Debian Lenny

deb http://archive.debian.org/debian/ lenny contrib main non-free

to use in sources.list if Debian Squeeze is not desired.

сряда, октомври 24, 2012

DoS via SquirrelMail (webmail)

Схемата е Baracuda Mail Firewall - LinuxBox (postfix,courier,SquirrelMail)
Някой някъде са му хакнали РС-то/browser-a където най-вероятно и имал save-ната user/pass за достъп дo webmail-a и през тази дупка почва да изпраща хиляди спам писма към хиляди дестинации със source 127.0.0.1 (в логовете на postfix-a така ги пише...)
Squirrel Logger Restrict Senders + добавка към fail2ban да чете от лог-файла на Squirrel Logger-a когато CAPTCHA plugin-a е неудачно да се ползва

вторник, октомври 16, 2012

Policy routing mikrotik

Config lines:

/ip firewall mangle
add action=mark-routing chain=prerouting comment=\
    "RED path" disabled=no new-routing-mark=RED passthrough=no src-address=10.10.10.2-10.10.10.254
add action=mark-routing chain=output comment="mark with RED local address" disabled=no \
    new-routing-mark=RED passthrough=no src-address=10.10.10.1
add action=mark-routing chain=prerouting comment="BLUE path" \
    disabled=no new-routing-mark=BLUE passthrough=no src-address=20.20.20.2-20.20.20.254
add action=mark-routing chain=output comment="mark with BLUE local address" disabled=\
    no new-routing-mark=clients passthrough=no src-address=20.20.20.1

    /ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=1.1.1.1 routing-mark=RED scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=2.2.2.1 routing-mark=BLUE scope=30 target-scope=10

add check-gateway=ping disabled=no distance=10 dst-address=0.0.0.0/0 gateway=1.1.1.1,2.2.2.1 \
comment="1:1 load-balance [default route] for all other traffic from/through router"
   
ToDo: same achievment but with translated config for Cisco, Juniper, Vayata and/or Linux


неделя, октомври 14, 2012

Redmine integration with MS AD

What we've done at this point:
  • A running Redmine v2.1.2 installation using Apache Passenger
  • Working authentication with Redmine's built-in database

Authentication against Active Directory

Redmine web interface - Administration - LDAP-Authentication - + New authentication mode
  • Name: informational parameter (enter something descriptive)
  • Host: IP address or FQDN of a domain controler
  • Port: 389
  • Account: DN of the user that can authenticate against the Active Directory e.g binding user. Recommendations are to create a dedicated user account with no special permissions (simple Domain User) except login into domain
domain: company.ltd
user: redmine.ldap
OU: Domain Users
Entered account should be: CN=redmine.ldap, OU=Domain Users, DC=company, DC=ltd
(Sysinternals ADExplorer is a perfect tool to find distinguished names)

  • Base DN: Start point where Redmine tries to find users. In this case - users under OU Domain Users will be checked. 
  • LDAP Filter: Valid filter for finding users. Example: (&(objectClass=user)(objectCategory=person)).
Attributes:
  • member name: sAMAccountName
  • first name: givenname
  • surname: sn
  • E-Mail: mail
Probably this mean: User can use any valid of above listed attributes to fill Log-in form and authenticate himself with MS AD password but not checked by me (I've checked only member name)

If we have redmine-local-users and their user-names match these from MS AD, local users has precedence
For example: if we have Redmine local user: red.u with password: red.u and MS AD user: red.u with password: ms.red.u and we trying to log-in into Redmine WEB interface with red.u/ms.red.u we'll receive "Wrong username or password".
To fix this we can :
1. delete local user (and loose all issues,pages,posts,etc created by him )
2. Under Administration-Users-(select needed user)-Authentication method --> descriptive NAME entered above