Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Scripting wpa_supplicant for multi-profile selection Post 303041444 by Techbart on Sunday 24th of November 2019 08:23:11 AM
Old 11-24-2019
Scripting wpa_supplicant for multi-profile selection

Hi all. So, first of all my apologies for the noob question. I've searched around for a way to make use of bash arrays to perform what I need, but I'm struggling to understand which method would be better.

So, I'm looking to get a bit more comfortable with scripting, hoping to use wpa_supplicant as an ideal usecase. I know it can handle multiple wpa passphrase profiles by itself just fine, but figured I'd take this opprutunity to make my own multi-profile script.

The aim is to have a basic script which contains references to the various wpa passphrase configs I have setup, and have it provide a list of available profiles to shell, which I can select as required.

What I have in mind, is to declare a base variable for the wpa_suppplicant and arguments, then havethe script choose from an array which wpa passphrase to use. Below are the full strings I'm aiming to use, but I imagine this can be simplified:

Code:
#Home
wpa_Home="wpa_supplicant -B -c /etc/wpa_Home.conf -i wlp1s0"
#Anne
wpa_Anne="wpa_supplicant -B -c /etc/wpa_Anne.conf -i wlp1s0"
#Emilia
wpa_Emilia="wpa_supplicant -B -c /etc/wpa_Emilia.conf -i wlp1s0"

I'd imagine it would make more sense to declare the wpa_supplicant paramater with arguments, and have a means of choosing from the available wpa passphrase configs. Could I ask one of you wonderful peeps if you have some ideas on how to achieve this? Cheers!
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

multi-file multi-edit

Good day! I am trying to learn how to use the "sed" editor, to perform multiple edits on multiple files in multiple directories. I have one script that tries to call up each file and process it according to the edits listed in a second script. I am using a small input text to test these, at... (12 Replies)
Discussion started by: kielitaide
12 Replies

2. UNIX for Dummies Questions & Answers

changed .profile but didnt ./.profile, yet reflected changes

hi , i added ls -F to .profile. and i need to do ./.profile for the effect to take effect BUT i didnt and YET the next day when i came to work and log in, the changes took effect. i am on aix. please explain.. thanks (4 Replies)
Discussion started by: yls177
4 Replies

3. UNIX for Dummies Questions & Answers

Multi User Multi Task

Dear Experts Why we always hear that unix operating system is Multi User and Multi task. What does these two means. I have looked at some books and documents but couldn't find aclear explenation. Can we say Windows operating system is also multi user and multi task?? Thanks for your help in... (6 Replies)
Discussion started by: Reza Nazarian
6 Replies

4. Shell Programming and Scripting

hi..all..pls...help..!!..profile scripting..

hi.. I want to customize a user in unix which could have only ftp access and NO TELNET ACCESS! ..... As being a newbie to unix to my understanding the user .profile has to be edited but if someone can explain how to edit it so that i can block telnet access for that user.....Is /etc/profile has... (5 Replies)
Discussion started by: rookie250
5 Replies

5. Infrastructure Monitoring

trap in etc/profile and user .profile

Hello I really wonder what's trap in etc/profile and in each user .profile. I try to google for it but I think I have no luck. Mostly hit is SNMP traps which I think it is not the same thing. I want to know ... 1. What's a "trap 2 3" means and are there any other value I can set... (4 Replies)
Discussion started by: Smith
4 Replies

6. Shell Programming and Scripting

How to substract selective values in multi row, multi column file (using awk or sed?)

Hi, I have a problem where I need to make this input: nameRow1a,text1a,text2a,floatValue1a,FloatValue2a,...,floatValue140a nameRow1b,text1b,text2b,floatValue1b,FloatValue2b,...,floatValue140b look like this output: nameRow1a,text1b,text2a,(floatValue1a - floatValue1b),(floatValue2a -... (4 Replies)
Discussion started by: nricardo
4 Replies

7. Programming

Multi head/multi window hello world

I am trying to write a large X app. I have successfully modified my xorg.conf to setup 4 monitors on an NVIDIA Quatro5200. I am trying to modify a simple hello world application to open a window on three of the four monitors. depending on the changes to loop the window creation section and event... (2 Replies)
Discussion started by: advorak
2 Replies

8. BSD

FreeBSD DHCP wpa_supplicant Wi-Fi Issues

I just got FreeBSD up and running with an XFCE desktop on an old Gateway laptop. It works great, except the wireless setup is scaring me. I can connect to my home WiFi fine most of the time, but I'm concerned about other WiFi that I will need to connect to away from home. I understand that I can... (1 Reply)
Discussion started by: BrentBANKS
1 Replies

9. Shell Programming and Scripting

Multi pattern selection

I'm confused with what to use (awk or grep) in this case as i need to select 2 corresponding patterns. "SName" & "ESys" in a appln config file which looks like this; SName=abc123 ESys=xyz456 Host=xxx Port=yyy I used awk and didn't get any output for multi-pattern search. $ awk -F"="... (7 Replies)
Discussion started by: sam_bd
7 Replies

10. Shell Programming and Scripting

Help with reformat single-line multi-fasta into multi-line multi-fasta

Input File: >Seq1 ASDADAFASFASFADGSDGFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSD >Seq2 SDASDAQEQWEQeqAdfaasd >Seq3 ASDSALGHIUDFJANCAGPATHLACJHPAUTYNJKG ...... Desired Output File >Seq1 ASDADAFASF ASFADGSDGF SDFSDFSDFS DFSDFSDFSD FSDFSDFSDF SD >Seq2 (4 Replies)
Discussion started by: patrick87
4 Replies
WPA_ACTION(8)															     WPA_ACTION(8)

NAME
wpa_action - wpa_cli action script SYNOPSIS
wpa_action IFACE ACTION DESCRIPTION
wpa_action is a shell script designed to control the ifupdown framework according to ACTION events received from wpa_supplicant. wpa_cli receives CONNECTED and DISCONNECTED events from wpa_supplicant via the crtl_iface socket and gives the ACTION event to the wpa_action script as an argument, along with the IFACE to be acted upon. wpa_action also receives an environment variable from wpa_cli, WPA_ID_STR, containing an alphanumeric identification string for the CURRENT network block. WPA_ID_STR is provided by the 'id_str' network block option of wpa_supplicant.conf, and provides a means to map the ACTION to a LOGICAL interface configured in the interfaces file. If either the ifupdown interfaces or ifstate file cannot be found, wpa_action will exit silently (status 0). wpa_action will search the following locations for their existance: /etc/network/run/ifstate /var/run/network/ifstate /etc/network/interfaces IFACE
Network interface to be acted upon, for example 'eth1' or 'wlan0'. ACTION
An ACTION to be performed on the IFACE. CONNECTED wpa_supplicant has completed authentication. ifup IFACE=WPA_ID_STR is invoked and the action is logged to syslog. Network settings for the LOGICAL interface WPA_ID_STR are applied. DISCONNECTED wpa_supplicant has detected disconnection. ifdown IFACE=WPA_ID_STR is invoked and the action is logged to syslog. Network settings for the LOGICAL interface WPA_ID_STR are undone. stop The 'stop' ACTION is a called manually by the user, to stop the wpa_cli daemon, invoke ifdown IFACE (if the IFACE is present in the ifstate file) and stop the wpa_supplicant daemon. reload The 'reload' ACTION can be used to reload the wpa_supplicant configuration file specified by wpa-roam . 'restart' is a synonym for 'reload' and can be used equally. The action is logged to /var/log/wpa_action.log. ENVIRONMENT
An alphanumeric identification string provided by the 'id_str' network block option of wpa_supplicant.conf is exported to wpa_action as an environment variable, WPA_ID_STR. When 'id_str' is not configured for the CURRENT network block, 'default' is substituted for the absent WPA_ID_STR environment variable. A unique network identifier, WPA_ID, is exported to wpa_action. It is the number assigned to the CURRENT wpa_supplicant network block (net- work_id). USAGE
The only reasons for wpa_action to be explicitly executed by the user is to stop wpa_cli from controlling ifupdown or reload the wpa_sup- plicant.conf file after editing. wpa_action eth1 stop Otherwise, wpa_action is given as an argument to a wpa_cli daemon. wpa_cli -i eth1 -a /sbin/wpa_action -B This can be done by using the wpa-roam option in the interfaces file. wpa-roam takes one argument, a user provided wpa_supplicant.conf file. The inet METHOD must be 'manual' for this interface, as it will be configured according to wpa_cli action events. Also supply a 'default' interfaces stanza using the dhcp inet METHOD so that networks without an 'id_str' option can fallback to attempting to receive an ip via dhcp. If one or more networks requires additional network configuration, provide an unique 'id_str' for each network, and an interfaces stanza using the 'id_str' value as a LOGICAL interface. The following interfaces file is configured to use dhcp for any network without an 'id_str', a static ip for the network with an 'id_str' of 'home_static' and dhcp plus an additional post-up command for the network with an 'id_str' of 'uni'. An example wpa_supplicant.conf configured to roam between 3 different networks: network={ ssid="foo" id_str="uni" key_mgmt=NONE } network={ ssid="bar" id_str="home_static" psk=123456789... } network={ ssid="" key_mgmt=NONE } The corresponding interfaces file would contain LOGICAL interfaces, that correlate to each unique 'id_str' provided by the configuration file: iface eth1 inet manual wpa-driver wext wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp iface uni inet dhcp iface home_static inet static address 192.168.0.20 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 SEE ALSO
wpa_cli(8), wpa_supplicant(8), wpa_supplicant.conf(5), ifup(8), interfaces(5) AUTHOR
This manual page was written by Kel Modderman <kel@otaku42.de> for the Debian GNU system (but may be used by others). 26 May 2006 WPA_ACTION(8)
All times are GMT -4. The time now is 10:24 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy