VPN көтерілгеннен кейін ортақ қалтаны бекіту шатастыруға оңай екі сәйкестікті қамтиды: желіні конфигурациялауға рұқсат етілген құрамдас және файл серверіне кіруге рұқсат етілген тіркелгі. Олар сирек бірдей болады. Root иелігіндегі VPN ілгегі жұмыс үстелі пайдаланушысының SSHFS бекітуін бастау үшін нашар орын, өйткені онда пайдаланушының агенті де, болжамды бекіту иелігі де жоқ. Иелікті алдымен дұрыс орнату триггерді қарапайым етеді.

Екі сәйкестік, екі бөлек рұқсат

VPN клиентіне маршруттар мен интерфейстерді өзгерту үшін артықшылықтар қажет. SSHFS бекітуіне файл сервері қабылдайтын SSH сәйкестігі және файлдарды оқитын тіркелгіге тиесілі FUSE бекітуі қажет. Root ретінде жұмыс істейтін бір скрипт бірінші талапты қанағаттандырады және екіншісін үнсіз бұзады.

Root ретінде бекіту файлдарды жұмыс үстелі сессиясынан тыс және пайдаланушының кілтін ұстайтын агентке қатынасусыз қалдырады. Бекіту бар, пайдаланушы ол арқылы жаза алмайды, және ақау сервер жағындағы рұқсат мәселесіне ұқсайды. Бұл қате диагноз түстен кейінгі уақытты және сақтау тобына билетті құртады.

Кез келген автоматизацияны жазбас бұрын бекіту қай тіркелгіге тиесілі екенін шешіңіз, өйткені бұл таңдау триггердің қайда тұратынын және қандай тіркелгі деректеріне жете алатынын анықтайды.

Алдымен қолмен пайдаланушыға тиесілі бекіту орнатыңыз

Бос бекіту нүктесі, рұқсат етілген SSH тіркелгісі және туннель арқылы серверге жұмыс істейтін жолы бар кірген пайдаланушыдан бастаңыз. Қолмен бекіту кез келген автоматизация қайталауы тиіс негізді белгілейді.

mkdir -p "$HOME/mnt/team"
sshfs [email protected]:/exports/team "$HOME/mnt/team"
mount | grep sshfs

Атаулар мысалдар, сондықтан серверіңіз шын мәнінде ұсынатын хост пен экспорт жолын ауыстырыңыз. Сол бірінші қосылымда мақұлданған процесс арқылы хост кілтін тексеріңіз. VPN тіркелгісінің құпия сөзі автоматты түрде сақтау тіркелгісінің тіркелгі деректері емес екенін ескеріңіз, және бұл сәтсіз әрекеттердің кең тараған себебі.

Оны қарапайым пайдаланушы ретінде, сол пайдаланушыға тиесілі бекіту нүктесімен іске қосыңыз. Әдепкі бойынша файлдарға тек бекітетін тіркелгі жетеді, ал allow_other бұл шекараны әрбір жергілікті пайдаланушыға кеңейтеді. Бұл қатынасты әдейі кеңейту, автоматизация үшін айналма жол емес.

Триггер сол сессия контекстінде әрекет етсін

Қолдау көрсетілген VPN оқиғалар интеграциясы пайдаланушы сессиясының әрекетін іске қосуды сұрасын, артықшылығы бар callback жұмыс үстелінің тіркелгі деректерін қарызға ала алады деп болжаудың орнына. Триггерді кездейсоқ tun0 деп аталатын кез келген интерфейске емес, болжамды қосылым идентификаторына шектеңіз. Дұрыс емес нәрсеге сәйкес келетін диспетчер ережесі әрбір желі өзгерісінде іске қосылады, соның ішінде бұл бекітуге қатысы жоқ өзгерістерде де.

Әрекет күтілетін хост атауын растауы, бар бекітуді байқауы және бір шектеулі әрекет жасауы керек. Әр бірнеше секунд сайын жаңа SSHFS процесін бастайтын немесе сервер өшіп тұрғанда тіркелгі деректерін сұрауды қайталайтын сұрау циклі қысқа үзілісті кептеліп қалған процестер үйіндісіне айналдырады. Әрекетті тайм-аут және бір қайталаумен шектеңіз.

nmcli -g UUID connection show --active
systemctl --user list-units 'sshfs*'
pgrep -a sshfs

Бірінші команда диспетчер сәйкес келуі тиіс қосылым идентификаторын береді. Қалған екеуі әрекеттің әлдеқашан жүріп жатқанын көрсетеді, және бұл қайталауларды болдырмайтын тексеру.

Қадағалаусыз қызмет өзінің орындалу контекстінде өзінің мақұлданған тіркелгі деректерін және өзінің хост тексеруін қажет етеді. Ол графикалық агенттің құлпы ашылғанын болжай алмайды және оны ашуға тырыспауы керек.

Мәжбүрлі тазалау алдында ажыратуды жоспарлаңыз

Жоспарланған ажырату үшін файл операцияларын аяқтап, бекітетін пайдаланушының өз жұмыс ағынынан ажыратыңыз. Процесті емес, бекіту нүктесін мақсат етіңіз және сәттілік туралы хабарламас бұрын нәтижені растаңыз.

fusermount3 -u "$HOME/mnt/team"
mountpoint "$HOME/mnt/team"

Тек осы жұмыс ағыны жасаған бекітуді ажыратыңыз. Егер ол бос емес болса, бұл қолданбаның шешімі: ілгекке сәттілік қайтару үшін бар мәжбүрлі ажырату деректер жоғалтуын болдырмаудың орнына жасырады.

Күтпеген жоғалту басқаша әрекет етеді. SSHFS желі үзілісі файлдық жүйе операциясын блоктай алатынын құжаттайды, ал reconnect опциясы тасымалды қалпына келтіреді, бірақ тұтқаларды қалпына келтірмейді: қайта қосылу алдында ашылған файл келесі жазуда сәтсіз болуы мүмкін, ал үзілген жазу сақталмайды. Бұл айырмашылық бір файлды сағаттар бойы ашық ұстайтын редакторлар үшін ең маңызды. Қалпына келтіруді болжаудың орнына қайта ашу қадамын жоспарлаңыз.

Оған сенбес бұрын мінез-құлықты бір реттік файлдармен сынаңыз. Туннель қайтқаннан кейін қайта пайда болатын қалта бұрынғы тұтқалардың немесе сақталмаған жұмыстың аман қалғанын дәлелдемейді.

Қатысты мақалалар