fredag 6 november 2009

Samba mount script

Först måste du installera filsystemet som ska användas för monteringen:

sudo apt-get install smbfs

Skapa sen en mapp att montera nätverksutdelningen i:

mkdir mappnamn

Nu är det bara att montera nätverksutdelningen i mappen:

sudo mount -t cifs //server/utdelning /monteringspunkt

Om du behöver ange ett användarnamn och lösenord för att nå utdelningen skriver du:

sudo mount -t cifs //server/utdelning -o username=MyUsername,password=MyPassword /monteringspunkt

Om du vill logga in anonymt via ett gästkonto skriver du:

sudo mount -t cifs //server/utdelning -o username=anonymous,guest /monteringspunkt

För att slippa skriva in denna rad för varje utdelning vi vill montera varje gång vi har startat om datorn vill vi gärna skriva in det i ett script där vi definierar samtliga utdelningar vi vill montera och som vi, om vi vill, kan köra automatiskt vid varje inloggning.

Vi börjar med att skriva ett script:

#!/bin/bash
# this script mount smb shares on jimmys server
echo "Mounting: Utdelning..."
sudo mount -t cifs //server/utdelning -o username=anonymous,guest /monteringspunkt
echo "All mounts are done"

Spara scriptet med filändelsen .sh och gör det körbart:

chmod +x filnamn.sh

Nu kan du köra scriptet med något av följande kommandon:

./filnamn.sh
eller
sh filnamn.sh

När detta script körs kommer du att förfrågas om sudo-lösenordet en gång för varje montering. Ett sätt att undvika det är att ta bort sudo från scriptet och köra hela scriptet som sudo:

sudo ./filnamn.sh
eller
sudo sh filnamn.sh

Om du vill slippa ange sudo-lösenordet (som krävs för att köra kommandot mount) och inte vill köra skriptet som sudo kan du tala om för systemet att just de mount-kommandona som ligger i scriptet kan utföras av din användare genom att lägga till följande rad i sudoers-filen:

användare ALL=NOPASSWD:/bin/mount -t cifs //server/utdelning -o username=anonymous,guest /monteringspunkt

Inga kommentarer: