メニュー

メニュー

2020年5月13日水曜日

Linuxにおいて特定SSIDのwi-fiに接続したときのみにコマンドを実行したい場合について | 日々のメモ帖 by holidaybuggy1980 holidaybuggy1980
300 300

Linuxにおいて特定SSIDのwi-fiに接続したときのみにコマンドを実行したい場合について

古いノートパソコンに、Linuxをインストールし、無線LANしかない場合に、自宅のwi-fiのみで、NAS(ファイルサーバー)にアクセスしたい場合など、特定のwi-fiネットワーク配下に接続されたときのみ、特定のコマンドを実行したい場合があるかと思います。

その場合に、どういう設定をすればよいか、今回説明していきたいと思います。

設定環境


今回は、以下の環境下において、NASに接続する方法を例に挙げて説明していきたいと思います。

  • 自宅wi-fiのSSID jitakussid
  • NASのIPアドレス 192.168.0.100
  • NASのユーザーID hogehoge
  • NASのパスワード hogehoge
  • マウントしたいNASのフォルダ名 share
  • Linux側でマウントするフォルダ /home/share
  • Linux側のwi-fiデバイス名 wlan0

/etc/NetworkManager/dispatcher.d/以下にシェルスクリプトを置く


今回は、NetworkManagerの機能を使って、設定していきます。

/etc/NetworkManager/dispatcher.d/以下に、実行したいコマンドを書いたシェルスクリプトを作成します。

シェルスクリプト名をwifi-up-command.shとした場合、ターミナルを起動し、下記のコマンドでテキストエディタを起動して、ファイルを作成します。


$ sudo nano /etc/NetworkManager/dispatcher.d/wifi-up-command.sh

シェルスクリプトを作成


ターミナル上でテキストエディタが起動したら、以下のコードを入力し、保存、終了します。


#!/bin/sh

if [ "$1" == "wlan0" ] && LANG=C nmcli -t -f active,ssid,device d wifi | grep -q "yes:jitakussid:wlan0" ; then
 
 #実行コマンド
 mount -t cifs -o username=hogehoge,password=hogehoge //192.168.0.100/share /home/share

fi

なお、別のコマンドを実行したい場合は、#実行コマンドの後の行に、違うコマンドを書くことで可能になります。

シェルスクリプトに実行属性を付与


作成したシェルスクリプトに実行権限を加えるため、下記のコマンドを実行します。


$ sudo chmod +x /etc/NetworkManager/dispatcher.d/wifi-up-command.sh

まとめた動画

YouTube


ニコニコ動画



以上、参考にしていただければ幸いです。

0 件のコメント:

コメントを投稿