da ich aus der Windows Welt komme, jedoch zuhause gerne mit Debian spiele, habe (hatte) ich folgendes Problem:
Wie komme ich automatisiert (ohne manuelles mounten) zu meinen Netzlaufwerken (Homeverzeichnis, Grouplaufwerk, usw...) vom Windows Fileserver ?
Am liebsten so wie beim Windows Client, ein automatisiertes Netlogon Script.
Für die Windows Clients habe ich es zentral per VBS Script gelöst, sowas in der Art habe ich nun versucht für meine Debian Clients möglichst einfach nachzustellen,
OHNE das der Debian Client "Domain Mitglied" sein muss (da ich mich hier nicht gegen einen Proxy oder sonst was authentifizieren muss).
- 1. Es soll ein sichtbares Logonscript Terminalfenster bei Gnome-Anmeldung erscheinen, in dem ich meine Windows Active Directory Anmeldedaten eingeben kann.
2. Mountpunkte sollten zentral im "netlogon.sh" Script definiert werden
Herausgekommen ist nun folgende Lösung, Voraussetzungen stehen im Script als Kommentar:
Code: Alles auswählen
#!/bin/bash
# Netlogon an Windows Domain für Linux Client (Debian Squeeze mit Gnome)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Vorraussetzungen:
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1. apt-get install cifs-utils
#
# 2. Dieses Script nach /bin/netlogon.sh kopieren
#
# 3. sudo Mountrechte anpassen mit Befehl [visudo], Inhalt hinzufügen (Name anpassen!):
# simon ALL=(ALL) ALL
# simon ALL=NOPASSWD:/bin/mount
# simon ALL=NOPASSWD:/bin/umount
#
# 4. Gnome2 Starter hinzufügen: System -> Einstellungen -> Startprogramme, hinzufügen:
# Name: Netlogon Script
# Befehl: gnome-terminal --execute /bin/netlogon.sh
# Komm.: Netzwerk Mounts
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# M A I N
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Symlink, Arguments
[ ! -f "/bin/cifs" ] && sudo ln -s /bin/netlogon.sh /bin/cifs
[ "$1" = "off" ] && sudo umount -a -t cifs -l && echo "Cifs ausgehängt" && exit 0
clear
echo -e "\033[1;31mNetwork Logonscript für Linux-Clients / V12.4 $(date +"%d.%m.%Y %H:%M")\033[0m"
echo "-------------------------------------------------------------------------------"
echo ""
echo "Cifs Mount entfernen.."
sudo umount -a -t cifs -l
echo -e "\033[1;32mEingabe der ActiveDirectory Benutzerdaten:\033[0m"
echo ""
read -p "Windows Username: " ADUSER
read -s -p "Windows Password: " ADPASS; echo
echo ""
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# M O U N T S
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Mountparamter
GID=`id -G | awk '{print $1}'`
MPARAM=uid=$UID,gid=$GID,file_mode=0770,dir_mode=0770
#Home, Dokumente
MPOINT=Dokumente
WSHARE=//srv01/home$/$ADUSER
[ ! -d ~/$MPOINT ] && mkdir -p ~/$MPOINT
echo "$MPOINT -> $WSHARE"
sudo mount -t cifs $WSHARE ~/$MPOINT/ -o username=$ADUSER,password=$ADPASS,$MPARAM
#Musik
MPOINT=Musik
WSHARE=//srv01/MP3
[ ! -d ~/$MPOINT ] && mkdir -p ~/$MPOINT
echo "$MPOINT -> $WSHARE"
sudo mount -t cifs $WSHARE ~/$MPOINT/ -o username=$ADUSER,password=$ADPASS,$MPARAM
#Bilder
MPOINT=Bilder
WSHARE=//srv01/Internetgalerie/Top05
[ ! -d ~/$MPOINT ] && mkdir -p ~/$MPOINT
echo "$MPOINT -> $WSHARE"
sudo mount -t cifs $WSHARE ~/$MPOINT/ -o username=$ADUSER,password=$ADPASS,$MPARAM
#Gruppenordner
MPOINT=Intern
WSHARE=//srv01/$MPOINT
[ ! -d ~/$MPOINT ] && mkdir -p ~/$MPOINT
echo "$MPOINT -> $WSHARE"
sudo mount -t cifs $WSHARE ~/$MPOINT/ -o username=$ADUSER,password=$ADPASS,$MPARAM
#Buecher
MPOINT=Buecher
WSHARE=//srv01/$MPOINT
[ ! -d ~/$MPOINT ] && mkdir -p ~/$MPOINT
echo "$MPOINT -> $WSHARE"
sudo mount -t cifs $WSHARE ~/$MPOINT/ -o username=$ADUSER,password=$ADPASS,$MPARAM
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# SCRIPT REPLICATION
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#NETLOGON
MPOINT=netlogon
WSHARE=//srv01/netlogon
[ ! -d ~/$MPOINT ] && mkdir -p ~/$MPOINT
sudo mount -t cifs $WSHARE ~/$MPOINT -o username=$ADUSER,password=$ADPASS
cp -f ~/$MPOINT/netlogon.sh /bin
sudo umount ~/$MPOINT
echo "Script repliziert."
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# E N D
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo ""
echo "Alle Cifs Mounts aushängen per: [cifs off]"
read -p "Drücke [Enter] zum beenden.."
![Very Happy :D](./images/smilies/icon_biggrin.gif)