Автор Тема: Автоматическое монтирование/отключение сетевой папки при подключении сети  (Прочитано 2728 раз)

Оффлайн El Scorpio

  • Давно тут
  • **
  • Сообщений: 26
    • Email
Есть компьютер, который нужно периодически переключать между разными локальными сетями (то к одной, то к другой). Каждая сеть - домен с DSF.
Хочу подключать и отключать DSF каждой сети от имени активного пользователя.

В этой теме был получен ответ, что монтирование получится производить только через скрипт
Скрипт монтирования будет простой: "Если IP из сети 1, тогда монтировать //net1/dfs в /mnt/net1/, Если IP из сети 2, тогда монтировать //net2/dfs в /mnt/net2/"

В связи с чем вопросы:
1) куда прописать скрипт автоматического монтирования при подключении сетевого кабеля или включении сетевой карты?
2) куда прописать скрипт автоматического отмонтирования при отключении сетевого кабеля или выключении сетевой карты?
3) какие могут быть проблемы отмонтирования, если в сетевой папке вдруг остались открытые файлы?
4) как сделать возможность монтирования/отмонтирования с правами обычного пользователя?

Оффлайн aleksey-v.

  • Давно тут
  • **
  • Сообщений: 230
Красивее и правильнее это сделать через systemd mount unit.
Там как раз и зависимости от сети можно проставить, и автоматическое монтирование.

Пара ссылок для примера.
https://www.f-notes.info/linux:cifs_mount_systemd
https://www.hippolab.ru/systemd-automount
https://michlstechblog.info/blog/systemd-mount-examples-for-cifs-shares/



Оффлайн El Scorpio

  • Давно тут
  • **
  • Сообщений: 26
    • Email
Почитал ссылки, ничего про привязку монтирования к включению/отключению сетевого интерфейса не нашёл.


Оффлайн aleksey-v.

  • Давно тут
  • **
  • Сообщений: 230

Оффлайн El Scorpio

  • Давно тут
  • **
  • Сообщений: 26
    • Email
https://www.altlinux.org/Etcnet#%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5_%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B8_post_%D0%B8_pre
Закинул файл ifup-post в каталог /etc/net/ifaces/eth0, добавил права a+x, но он всё равно автоматически не выполняется
Почему?

#!/bin/bash
echo $(date +"%F %T") eth0 up >> /var/log/eth0.log


Второй вопрос - как передать в скрипт имя активного пользователя компьютера или определить внутри скрипта?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 304
    • Домашняя страница
    • Email
https://www.altlinux.org/Etcnet#%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5_%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B8_post_%D0%B8_pre
Закинул файл ifup-post в каталог /etc/net/ifaces/eth0, добавил права a+x, но он всё равно автоматически не выполняется
Почему?

#!/bin/bash
echo $(date +"%F %T") eth0 up >> /var/log/eth0.log


Второй вопрос - как передать в скрипт имя активного пользователя компьютера или определить внутри скрипта?
who или loginctl. Но только приблизительно. Потому как пятеро могут сидеть по ssh и трое использовать xrdp.
Андрей Черепанов (cas@)