Определить службу systemd в зависимости от идентификатора сети

Ага!nslookup websitename

denis:~ $ nslookup google.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Non-authoritative answer:
Name:   google.com
Address: 216.58.204.142

denis:~ $ nslookup googleadservices.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Name:   googleadservices.com
Address: 0.0.0.0
1
28.10.2019, 17:25
1 ответ

Я предлагаю выполнить два действия :одно при входе в систему (для монтирования ), другое при выходе из системы (размонтирование ). Пример служебного файла:

[Unit]    
Description=mount with sshfs

[Service]
Type=simple
ExecStart=/path/to/login_script.sh
#This makes the service stay active while logged in and
#  makes sure ExecStop is only executed at logout
RemainAfterExit=yes
ExecStop=/path/to/logout_script.sh

[Install]
#opens with first login and ends with last logout - multiple ssh sessions are OK
WantedBy=default.target

Сценарии записи для входа и выхода. Я просто проверю по SSID, дома мы или нет. Посмотрите, что получится у вас.

#!/bin/bash
#login script
if [[ "$( nmlci | grep 'home_network_name' )" != "" ] ; then
   #we're at home
   sshfs <mount with home options>
else
   #we're out
   sshfs <mount with outside options>
fi

и после выхода из системы вы хотите размонтировать

#!/bin/bash
#logout script
fusermount -u /path/to/mount/point

Чтобы активировать услугу, введите ее, например. ~/.cofig/systemd/user/autosshfs.serviceи запустите systemctl --user enable autosshfs.service. Он должен работать при следующем входе в систему.

0
27.01.2020, 23:58

Теги

Похожие вопросы