Yn ferbân mei feroarings yn wetjouwing oangeande fertrouwen tsjinsten ("Oer elektroanyske fertrouwen tsjinsten" Oekraïne), it bedriuw hat in ferlet fan ferskate ôfdielings om te wurkjen mei kaaien leit op tokens (op it stuit is de fraach fan it oantal hardware kaaien noch iepen ).
As ark mei de leechste kosten (fergees) foel de kar daliks op
De fraach wie: hoe kin ik it mei it minste dûnsjen dwaan, sadat alles foar elkenien wurket...
It diel is ûnhandich
Opsje XNUMX. Ferskate fluchtoetsen foar batbestannen, nammentlik
a) Ferbine de tagong kaai.
b) Opsetsin ôfbrekke.
alinea"б» kontroversjeel, dus waard besletten om de tiid te jaan om te wurkjen mei de kaai op 3 minuten.
De eigenaardichheid fan 'e usbip-kliïnt is dat nei't it is lansearre, it bliuwt hingjen yn' e konsole; sûnder de konsole-sesje te ûnderbrekken, kinne jo de ferbining "rûchwei" slute fan 'e kliïntkant en ek fan' e serverkant.
Hjir is wat goed foar ús wurke:
earst: ferbining on.bat
usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "
twadde: shutdown off.bat
ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F
Sûnder in berop dwaan op it bewustwêzen fan de brûker, de skripts waarden kombinearre yn token.bat
on.bat | off.bat
Wat bart: alle bestannen binne yn deselde map, lansearre troch de token.bat-bestân, as de ferbining is sletten, krijt de brûker fuortendaliks in berjocht oer de kaai dy't net beskikber is, yn in oar gefal, pas nei 180 pings. De boppesteande rigels fan koade kinne wurde foarsjoen fan "@ECHO OFF" en de konsole rjochting nei "> nul" om de brûker net te folle te skokken, mar it is net nedich om testen út te fieren. De earste "run" op in USB-stasjon liet sjen dat alles foarsisber, betrouber en dúdlik wie. Boppedat binne gjin manipulaasjes nedich fan 'e serverkant.
Fansels, by it wurkjen direkt mei it token, gie alles net lykas ferwachte: mei in fysike ferbining yn 'e apparaatbehearder wurdt it token registrearre as 2 apparaten (WUDF en in smart card), en mei in netwurkferbining allinich as WUDF (hoewol't dit is genôch om in PIN-koade oan te freegjen).
It docht ek bliken dat de brutale "taskkill" net sa slim is, en it sluten fan 'e ferbining op' e kliïnt is problematysk en sels as it suksesfol wie, garandearret it net dat it foar him op 'e tsjinner sluten wurdt.
Nei it offerjen fan alle konsoles op 'e kliïnt, naam it twadde skript de foarm oan:
ping 127.0.0.1 -n 180 > nul
taskkill /IM usbip.exe /F /T > nul
ping 127.0.0.1 -n 10 > nul
taskkill /IM conhost.exe /F /T > nul
hoewol't de effektiviteit is minder as 50%, sûnt de tsjinner koppich bleau te beskôgje de ferbining iepen.
Problemen mei de ferbining late ta gedachten oer it opwurdearjen fan de serverkant.
Server diel
Wat jo nedich binne:
- Ferbine ynaktive brûkers fan 'e tsjinst.
- Sjoch wa't op it stuit it token brûkt (of noch lient).
- Sjoch as it token is ferbûn mei de kompjûter sels.
Dizze problemen waarden oplost mei de crontab- en apache-tsjinsten. De diskrete aard fan it herskriuwen fan 'e tastân fan' e monitoaringsresultaten fan punten 2 en 3 dy't ús ynteressearje, jout oan dat it bestânsysteem op 'e ramdrive kin lizze. Regel tafoege oan /etc/fstab
tmpfs /ram_drive tmpfs defaults,nodev,size=64K 0 0
In skriptmap mei skripts is makke yn 'e root: unmounting-mounting the token usb_restart.sh
usbip unbind -b 1-2
sleep 2
usbip bind -b 1-2
sleep 2
usbip attach --remote=localhost --busid=1-2
sleep 2
usbip detach --port=00
it krijen fan in list mei aktive apparaten usblist_id.sh
usbip list -r 127.0.0.1 | grep ':' |awk -F ":" '{print $1}'| sed s/' '//g | grep -v "^$" > /ram_drive/usb_id.txt
it krijen fan in list mei aktive IP's (mei opfolgjende wiziging om brûkers-ID's wer te jaan) usbip_client_ip.sh
netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt
de crontab sels sjocht der sa út:
*/5 * * * * /!script/usb_restart.sh > /dev/null 2>&1
* * * * * ( sleep 30 ; /!script/usblist_id.sh > /dev/null)
* * * * * (sleep 10 ; /!script/usbip_client_ip.sh > /dev/hull)
Sa hawwe wy: elke 5 minuten kin in nije brûker ferbine, nettsjinsteande wa't mei it token wurke. De map /ramdrive is ferbûn mei de http-tsjinner mei in symlink, wêryn 2 tekstbestannen bewarre wurde, dy't de status fan 'e usbip-tsjinner sjen litte.
Diel folgjende: "Ugly in a wrapper"
Opsje II. Om de brûker in bytsje te behagen mei op syn minst wat minder yntimidearjende ynterface. Ferbjustere troch it feit dat brûkers ferskate ferzjes fan Windows hawwe mei ferskillende kaders, oare rjochten, in minder problematyske oanpak as
De folgjende taken waarden oplost troch de ynterface en software:
- Toant oft it token op it stuit drok is.
- By de earste lansearring omfettet de inisjele opset it generearjen fan de "korrekte" battriemmen dy't de lansearring en ûnderbrekking fan in sesje mei de tokenserver ymplementearje. By de folgjende start, ymplemintaasje fan 'e "tsjinst" modus mei in wachtwurd.
- Kontrolearje fan 'e oanwêzigens fan in ferbining mei de tsjinner, as gefolch dêrfan wurdt ûndersocht oft it drok is of berjochten oer problemen werjaan. As de kommunikaasje wurdt ferfongen, begjint it programma automatysk te wurkjen yn normale modus.
Wurkje mei de WEB-tsjinner wurdt ymplementearre mei de ekstra fphttp-client-snap-in.
d'r binne ek fierdere oerwegingen oer it ûnderwerp fan it artikel, lykas ek in part inisjele entûsjasme foar it VirtualHere-produkt mei syn funksjes ...
Boarne: www.habr.com