#!/bin/bash #Framework, welches ein komplettes Linux System aus den Sourcen erstellt #dieses Framework wird im CVS Repository #:pserver:cvs.compuextreme.de:/Data/cvs zur Verfügung gestellt # #Lage dieser Datei im Archiv: $Source: /export/Data/cvs/Viitor_wireless/etc/init.d/wireless,v $ # #(c) 2003 Harald Kueller, Germany #This program is free software; you can redistribute it and/or #modify ist under the terms of the GNU General Public License #as published by the Free Software Foundation; either version #2 of the License, or (at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. #See the GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with this program; if not write to the Free Software Foundation, #Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # #Script:wlan_setup #Setup eines WLAN Interfaces per accesspoint config files in #/etc/sysconfig/wlan/ # #Letzte Änderung von: $Author$ #Datum der letzten Änderung: $Date$ #Version der Datei: $Revision$ # #$Log: wireless,v $ #Revision 1.1.1.1 2004/12/05 13:10:59 kueller #New Package wireless # # source /etc/init.d/functions if [ ! -f /var/state/ldap_disable ]; then touch /var/state/ldap_disable fi if [ ! -d /var/run/shutdown ]; then mkdir -p /var/run/shutdown fi NSSWITCH=/etc/nsswitch.conf DEV=$1 if [ ! "$DEV" ]; then echo "usage: $0 " exit 1 fi /sbin/ifconfig $DEV up if [ ! -d /sys/class/net/$DEV/wireless ]; then echo "No Wireless Device" exit 2 fi for AP in `iwlist $DEV scan 2>/dev/null|\ grep ESSID|\ cut -d":" -f 2-`; do AP=`echo $AP|sed -e "s/\"//g"` if [ -f /etc/sysconfig/wlan/$AP ]; then echo -n "Binding Wireless Network to AP $AP" $DEBUG iwconfig $DEV essid $AP evaluate_retval sed -e "/^#/d" /etc/sysconfig/wlan/$AP | \ sed -e "/^ *$/d" >/tmp/AP exec 3/etc/sysconfig/nis/defaultdomain fi if [ "$ARG2" ]; then if [ -f /etc/yp.conf ]; then mv /etc/yp.conf{,.wlan} fi echo "domain $ARG1 server $ARG2" >/etc/yp.conf fi NISSTR="nis" ;; LDAP) export USE_LDAP=1 LDAPSTR="ldap" rm /var/state/ldap_disable ;; DNS) if [ -f /var/run/shutdown/wlan_dns ]; then echo "No Clean Shutdown, cleaning up" if [ -f /etc/resolv.conf.wlan ]; then mv /etc/resolv.conf.wlan /etc/resolv.conf fi fi touch /var/run/shutdown/wlan_dns if [ -f /etc/resolv.conf ]; then mv /etc/resolv.conf{,.wlan} fi echo "#Resolv.conf generatet by wlan_setup" >/etc/resolv.conf echo "nameserver $ARG1" >>/etc/resolv.conf ;; VTUN) echo "Starting vtun client" /etc/init.d/vtund start ;; esac read <&3 OPTION ARG1 ARG2 done exec 3>&- ifconfig $DEV down ifconfig $DEV up rm /tmp/AP fi done FILESTR="files" echo "passwd: $FILESTR $LDAPSTR $NISSTR" >$NSSWITCH echo "group: $FILESTR $LDAPSTR $NISSTR" >>$NSSWITCH echo "shadow: $FILESTR $LDAPSTR" >>$NSSWITCH echo "publickkey: $FILESTR" >>$NSSWITCH echo "hosts: dns $FILESTR $LDAPSTR $NISSTR" >>$NSSWITCH echo "networks: $FILESTR $NISSTR" >>$NSSWITCH echo "protocols: db $NISSTR $FILESTR" >>$NSSWITCH echo "services: db $NISSTR $FILESTR" >>$NSSWITCH echo "rpc: db $NISSTR $FILESTR" >>$NSSWITCH echo "ethers: db $NISSTR $FILESTR" >>$NSSWITCH echo "netmasks: $FILESTR $NISSTR" >>$NSSWITCH echo "netgroup: $FILESTR $NISSTR" >>$NSSWITCH echo "bootparams: $FILESTR" >>$NSSWITCH echo "automount: $FILESTR $NISSTR" >>$NSSWITCH echo "aliases: $FILESTR" >>$NSSWITCH touch /var/run/nsswitch_done