Në lidhje me ndryshimet në legjislacion në lidhje me shërbimet e besimit ("Rreth shërbimeve të besimit elektronik" Ukrainë), ndërmarrja ka nevojë që disa departamente të punojnë me çelësat e vendosur në argumente (për momentin, çështja e numrit të çelësave harduerikë është ende e hapur ).
Si një mjet me koston më të ulët (pa pagesë), zgjedhja ra menjëherë
Pyetja ishte: Si mund ta bëj këtë me sa më pak kërcim, në mënyrë që gjithçka të funksionojë për të gjithë...
Pjesa është e ngathët
opsioni XNUMX. Disa shkurtore për skedarët bat, domethënë
a) Lidhja e çelësit të hyrjes.
b) Shkëputja e qëllimshme.
Paragraf "б» e diskutueshme, kështu që u vendos që të jepet koha për të punuar me çelësin në 3 minuta.
E veçanta e klientit usbip është se pasi të lansohet, ai mbetet i varur në tastierë; pa ndërprerë seancën e konsolës, mund ta mbyllni lidhjen "afërsisht" nga ana e klientit dhe gjithashtu nga ana e serverit.
Ja çfarë funksionoi mirë për ne:
e para: lidhje në.bat
usbip -a 172.16.12.26 4-1
msg * "Подпись/токен недоступны или заняты "
e dyta: mbyllja off.bat
ping 127.0.0.1 -n 180
taskkill /IM usbip.exe /F
Pa u mbështetur në vetëdijen e përdoruesit, skriptet u kombinuan në token.bat
on.bat | off.bat
Çfarë ndodh: të gjithë skedarët janë në të njëjtën dosje, të nisur nga skedari token.bat, nëse lidhja mbyllet, përdoruesi merr menjëherë një mesazh se çelësi nuk është i disponueshëm, në një rast tjetër, vetëm pas 180 ping. Linjat e dhëna të kodit mund të pajisen me "@ECHO OFF" dhe drejtimin e konsolës në "> nul" në mënyrë që të mos tronditet shumë përdoruesi, por nuk është e nevojshme të filloni testimin. "Vendosja" fillestare në një disk USB tregoi se gjithçka ishte e parashikueshme, e besueshme dhe e qartë. Për më tepër, nuk kërkohen manipulime nga ana e serverit.
Natyrisht, kur punoni drejtpërdrejt me token, gjithçka nuk shkoi siç pritej: me një lidhje fizike në menaxherin e pajisjes, shenja regjistrohet si 2 pajisje (WUDF dhe një kartë inteligjente), dhe me një lidhje rrjeti vetëm si WUDF (megjithëse kjo është e mjaftueshme për të kërkuar një kod PIN).
Rezulton gjithashtu se "taskkill" brutale nuk është aq e rëndë, dhe mbyllja e lidhjes në klient është problematike dhe edhe nëse ka qenë e suksesshme, nuk garanton mbylljen e saj në server për të.
Pasi kishte sakrifikuar të gjitha konsolat në klient, skenari i dytë mori formën:
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
megjithëse efektiviteti i tij është më pak se 50%, pasi serveri me kokëfortësi vazhdoi ta konsideronte lidhjen të hapur.
Problemet me lidhjen çuan në mendime për përmirësimin e anës së serverit.
Pjesa e serverit
Çfarë ju nevojitet:
- Shkëputni përdoruesit joaktivë nga shërbimi.
- Shihni se kush është duke përdorur (ose ende duke huazuar) shenjën.
- Shihni nëse token është i lidhur me vetë kompjuterin.
Këto probleme u zgjidhën duke përdorur shërbimet crontab dhe apache. Natyra diskrete e rishkrimit të gjendjes së rezultateve të monitorimit të pikave 2 dhe 3 që na interesojnë tregon se sistemi i skedarëve mund të vendoset në ramdrive. Linja e shtuar në /etc/fstab
tmpfs /ram_drive tmpfs defaults,nodev,size=64K 0 0
Një dosje skripti me skripta është krijuar në rrënjë: çmontimi-montimi i tokenit 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
duke marrë një listë të pajisjeve aktive 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
marrja e një liste të IP-ve aktive (me modifikim të mëvonshëm për të shfaqur ID-të e përdoruesve) usbip_client_ip.sh
netstat -an | grep :3240 | grep ESTABLISHED|awk '{print $5}'|cut -f1 -d":" > /ram_drive/usb_ip_cli.txt
vetë krontabi duket kështu:
*/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)
Pra, kemi: çdo 5 minuta një përdorues i ri mund të lidhet, pavarësisht se kush ka punuar me token. Dosja /ramdrive lidhet me serverin http duke përdorur një lidhje simbolike, në të cilën ruhen 2 skedarë teksti, duke treguar statusin e serverit usbip.
Pjesa tjetër: "E shëmtuar në një mbështjellës"
Opsioni II. Për të kënaqur pak përdoruesin me të paktën një ndërfaqe më pak frikësuese. Të hutuar nga fakti që përdoruesit kanë versione të ndryshme të Windows me korniza të ndryshme, të drejta të ndryshme, një qasje më pak problematike sesa
Detyrat e mëposhtme u zgjidhën nga ndërfaqja dhe softueri:
- Tregon nëse token është aktualisht i zënë.
- Në nisjen e parë, konfigurimi fillestar përfshin gjenerimin e skedarëve "korrektë" bat që zbatojnë nisjen dhe ndërprerjen e një sesioni me serverin token. Në fillimet e mëvonshme, zbatimi i mënyrës "shërbim" duke përdorur një fjalëkalim.
- Kontrollimi i pranisë së një lidhjeje me serverin, si rezultat i së cilës ai anketon nëse është i zënë ose shfaq mesazhe për probleme. Kur komunikimi rifillon, programi fillon automatikisht të punojë në modalitetin normal.
Puna me serverin WEB zbatohet duke përdorur snap-in shtesë fphttpclient.
ka gjithashtu konsiderata të mëtejshme për temën e artikullit, si dhe entuziazëm të pjesshëm fillestar për produktin VirtualHere me veçoritë e tij...
Burimi: www.habr.com