Como selecionar um ap wifi dependendo do login do usuário

1

Tenho filhos em casa, preciso encontrar uma maneira de iniciar a conexão Wi-Fi com base em quem faz login:

  • kids = > use o ponto de acesso ssid: CHILD
  • adulto = > use o ponto de acesso ssid: ADULT

Lubuntu 12,04 LTS

Atenciosamente e obrigado antecipadamente por sua ajuda.

    
por l2f 01.12.2012 / 16:37

1 resposta

1

Eu finalmente encontrei por mim mesmo:

1- logar como root:

sudo su -

2- crie para cada usuário o diretório de início automático em seu homedir

mkdir -p /home/USERNAME/.config/autostart

3- copie o seguinte código em um arquivo network.desktop no diretório de autoinicialização para cada usuário do seu sistema

[Desktop Entry]
Name=demarrage
Comment=Manage your network connections
Exec=/usr/local/bin/dhclient-util.sh
Type=Application
NoDisplay=true

4- Copie o seguinte código em /etc/local/bin/dhclient-util.sh

#!/bin/sh

##################################################################
# dhclient-util.sh
# script shell pour changer le fichier /etc/dhcpd/dhclient.conf
# pour y ajouter selon l util le dns de opendns
#
# entree: neant
#
# sortie: 0
#
# auteur: yves guerin (C) 2012 [email protected]
#
# version:
#       0.0.1 : yguerin - 2012-12-12 : initiale
#################################################################

# prog
CP='which cp'
GREP='which grep'
NMCLI='which nmcli'
SLEEP='which sleep'
SUDO='which sudo'

# var
DELAI="2"
TYPEUTIL="enfant"

# verif dans quelle liste se trouve  l'utilisateur 

RET='${GREP} -w ${USER} /etc/dhcp/enfant.list'

# verif si vide
if [ ${#RET} -eq 0 ] ; then
        # vide, verif dans l'autre liste
        RET='${GREP} -w ${USER} /etc/dhcp/parent.list'

        # verif si non vide
        if [ ${#RET} -gt 0 ] ; then
                # trouve
                TYPEUTIL="parent"
        fi
fi


# arrete  toute les connexions reseau
${NMCLI} nm enable false

case ${TYPEUTIL} in
        "parent" )
                # copie dhclient.conf pour adulte
                ${SUDO} ${CP} -f /etc/dhcp/dhclient.conf.defaut /etc/dhcp/dhcli$
        ;;
        * )
                # sinon pour les autres dhclient.conf enfant opendns
                ${SUDO} ${CP} -f /etc/dhcp/dhclient.conf.enfant /etc/dhcp/dhcli$
        ;;
esac

# attente
# attente
${SLEEP} ${DELAI}

# redemarre le reseau
${NMCLI} nm enable true

exit 0

5- Torne-o executável


chmod gu+x /etc/local/bin/dhclient-util.sh

6- crie a lista do seu usuário e escreva o nome de usuário


touch /etc/dhcp/parent.list
echo joe >> /etc/dhcp/parent.list
touch /etc/dhcp/enfant.list
echo sophie >> /etc/dhcp/enfant.list

7- para cada lista, crie um arquivo dhclient.conf com as opções desejadas (veja o dhclient-util.sh)


enfant.list => /etc/dhcp/dhclient.enfant.conf
parent.list => /etc/dhcp/dhclient.conf.defaut

8- para o servidor de nomes de domínio opendns ip eu adicionei a seguinte linha no /etc/dhcp/dhclient.conf.enfant


supersede domain-name-servers 208.67.222.222, 208.67.220.220;

9- remova do mesmo arquivo a palavra "domain-name-servers" do "pedido"

Que isso:)

Útil no laptop.

l2f

    
por l2f 14.12.2012 / 21:58