Kaugnay ng mga pagbabago sa batas tungkol sa mga serbisyo ng tiwala ("Tungkol sa mga serbisyo ng elektronikong tiwala" Ukraine), ang negosyo ay nangangailangan ng ilang mga departamento na magtrabaho kasama ang mga susi na matatagpuan sa mga token (sa ngayon, ang tanong ng bilang ng mga susi ng hardware ay bukas pa rin. ).
Bilang isang tool na may pinakamababang halaga (walang bayad), ang pagpipilian ay agad na nahulog sa
Ang tanong ay: Paano ko ito magagawa sa pinakamababang halaga ng pagsasayaw upang ang lahat ay gumagana para sa lahat...
Clumsy ang part
Opsyon 1. Maraming mga shortcut sa mga bat file, ibig sabihin
a) Pagkonekta sa access key.
b) Sinasadyang idiskonekta.
Talata "Π±" ay kontrobersyal, kaya napagpasyahan na bigyan ang dami ng oras upang magtrabaho kasama ang susi sa 3 minuto.
Ang kakaiba ng usbip client ay na pagkatapos na ito ay ilunsad, ito ay nananatiling nakabitin sa console nang hindi nakakaabala sa session ng console, maaari mong isara ang koneksyon "halos" mula sa panig ng kliyente at din mula sa gilid ng server;
Narito kung ano ang nagtrabaho nang maayos para sa amin:
una: koneksyon on.bat
usbip -a 172.16.12.26 4-1
msg * "ΠΠΎΠ΄ΠΏΠΈΡΡ/ΡΠΎΠΊΠ΅Π½ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ»ΠΈ Π·Π°Π½ΡΡΡ "
pangalawa: shutdown off.bat
ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F
Nang hindi umaasa sa kamalayan ng gumagamit, ang mga script ay pinagsama sa token.bat
on.bat | off.bat
Ano ang mangyayari: ang lahat ng mga file ay nasa parehong folder, na inilunsad ng token.bat file, kung ang koneksyon ay sarado ang user ay agad na makakatanggap ng mensahe tungkol sa key na hindi magagamit, sa ibang kaso, pagkatapos lamang ng 180 ping. Ang mga ibinigay na linya ng code ay maaaring nilagyan ng "@ECHO OFF" at ang direksyon ng console sa "> nul" upang hindi masyadong mabigla ang user, ngunit hindi kinakailangan na magpatakbo ng pagsubok. Ang unang "run" sa isang USB drive ay nagpakita na ang lahat ay predictable, maaasahan, at malinaw. Bukod dito, walang kinakailangang manipulasyon mula sa panig ng server.
Naturally, kapag direktang nagtatrabaho sa token, ang lahat ay hindi napunta gaya ng inaasahan: na may pisikal na koneksyon sa device manager, ang token ay nakarehistro bilang 2 device (WUDF at isang smart card), at may koneksyon sa network lamang bilang WUDF (bagaman ito ay sapat na upang humiling ng PIN code).
Lumalabas din na ang brutal na "taskkill" ay hindi gaanong malala, at ang pagsasara ng koneksyon sa kliyente ay may problema at kahit na ito ay matagumpay, hindi nito ginagarantiyahan ang pagsasara nito sa server para dito.
Ang pagkakaroon ng sakripisyo sa lahat ng mga console sa kliyente, ang pangalawang script ay kinuha ang form:
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
kahit na ang pagiging epektibo nito ay mas mababa sa 50%, dahil ang server ay matigas ang ulo na patuloy na isaalang-alang ang koneksyon na bukas.
Ang mga problema sa koneksyon ay humantong sa mga pag-iisip tungkol sa pag-upgrade sa panig ng server.
Bahagi ng server
Ano ang kailangan mo:
- Idiskonekta ang mga hindi aktibong user mula sa serbisyo.
- Tingnan kung sino ang kasalukuyang gumagamit (o humihiram pa rin) ng token.
- Tingnan kung ang token ay konektado sa computer mismo.
Nalutas ang mga problemang ito gamit ang mga serbisyo ng crontab at apache. Ang discrete na katangian ng muling pagsusulat ng estado ng mga resulta ng pagsubaybay ng mga puntos 2 at 3 na interesado sa amin ay nagpapahiwatig na ang file system ay matatagpuan sa ramdrive. Nagdagdag ng linya sa /etc/fstab
tmpfs /ram_drive tmpfs defaults,nodev,size=64K 0 0
Isang script folder na may mga script ay ginawa sa 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
pagkuha ng listahan ng mga aktibong device 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
pagkuha ng listahan ng mga aktibong IP (na may kasunod na pagbabago para ipakita ang mga user ID) usbip_client_ip.sh
netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt
ang crontab mismo ay ganito ang hitsura:
*/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)
Kaya mayroon kaming: bawat 5 minuto ay maaaring kumonekta ang isang bagong user, hindi alintana kung sino ang nagtrabaho gamit ang token. Ang /ramdrive folder ay konektado sa http server gamit ang isang symlink, kung saan 2 text file ang nai-save, na nagpapakita ng katayuan ng usbip server.
Susunod na bahagi: "Pangit sa isang balot"
Pagpipilian II. Upang pasayahin ang user nang kaunti na may hindi bababa sa hindi gaanong nakakatakot na interface. Nalilito sa katotohanan na ang mga gumagamit ay may iba't ibang mga bersyon ng Windows na may iba't ibang mga balangkas, magkakaibang mga karapatan, isang hindi gaanong problemang diskarte kaysa
Ang mga sumusunod na gawain ay nalutas ng interface at software:
- Ipinapakita kung kasalukuyang abala ang token.
- Sa unang paglunsad, ang paunang pag-setup ay kinabibilangan ng pagbuo ng "tama" na mga bat file na nagpapatupad ng paglulunsad at pagkaantala ng isang session sa token server. Sa kasunod na pagsisimula, ang pagpapatupad ng mode na "serbisyo" gamit ang isang password.
- Sinusuri ang pagkakaroon ng isang koneksyon sa server, bilang isang resulta kung saan ito ay nag-poll kung ito ay abala o nagpapakita ng mga mensahe tungkol sa mga problema. Kapag ipinagpatuloy ang komunikasyon, awtomatikong magsisimulang gumana ang programa sa normal na mode.
Ang pakikipagtulungan sa WEB server ay ipinatupad gamit ang karagdagang fphttpclient snap-in.
mayroon ding mga karagdagang pagsasaalang-alang sa paksa ng artikulo, pati na rin ang bahagyang paunang sigasig para sa produkto ng VirtualHere kasama ang mga tampok nito...
Pinagmulan: www.habr.com