Servrar/Komma åt Windows-nätverket med CIFS

Från Ubuntu Sverige

Hoppa till: navigering, sök

Innehåll

[redigera] CIFS

  • CIFS (Common Internet File System) är en del av verktygssviten Samba.
  • CIFS är det rekommenderade sättet att montera windowsutdelningar i Linux och ger bättre överföringshastighet än SMB.

Följande tips är avsedda för Ubuntu, men det mesta gäller dom flesta Linuxdistributioner.

[redigera] Generella tips

  • Avmonterar man inte innan avstängning/omstart får man en paus och ett felmeddelande.

[redigera] SMBFS

För att kunna montera resurser med SMB eller CIFS behövs programmet SMBFS, installera grafiskt via pakethanteraren (Synaptic) eller från terminalen:

sudo apt-get install smbfs

[redigera] Monteringspunkt

För att kunna montera en utdelning behövs en monteringspunkt. En monteringspunkt är helt enkelt en mapp man skapar någonstans på det lokala filsystemet, tex i din hemkatalog. Var den monteringspunkten placeras avgör en del av dess egenskaper.

  • Allt man monterar under mappen /media dyker upp som en genväg på skrivbordet för alla användare.
  • Om man monterar under en mapp i hemkatalogen och tar bort läsrättigheterna för alla andra på den mappen så blir säkerheten bättre.

[redigera] Namn eller IP

CIFS fungerar bäst (och enklast) med IP-nummer, vill du ansluta med namn så är det praktiskt att kolla så att namnupplösningen funkar först:

ping -c 3 servernamn

Funkar inte namnupplösningen kan man åtgärda det genom att lägga till ip och värdnamn i filen /etc/hosts. Mer om det någon annanstans...

[redigera] Montera via terminalen

Syntax:

mount.cifs {utdelning} {monteringspunkt} [-o valmöjlighet]

Exempel (utan radbrytning):

mount.cifs //192.168.0.99/musik /home/rolf/musik -o username=rolf,password=flor,iocharset=utf8

[redigera] Avmontera via terminalen

Syntax:

umount.cifs {monteringspunkt} [-nVvhfle]

Exempel:

umount.cifs /home/rolf/musik

[redigera] Montera via skript

Byt ut "dittnamn", "utdelningsnamn", "mappnamn", "192.168.0.99", "lösenord" så att dom passar din miljö.

1. Skapa mapparna mounts och utdelningsnamn i hemkatalogen: /home/dittnamn/mounts/utdelningsnamn

2. Skapa en textfil med namnet .kreditiv, i mappen /home/dittnamn/mounts/. Punkten i namnet gör den dold.

3. Lägg in texten (inga mellanslag eller något annat, bara byt ut dittnamn och lösenord):

username=dittnamn
password=lösenord

4. Skapa en textfil, i mappen mounts, tex med namnet mount_server99.sh

5. Gör den körbar (högerklick/Egenskaper/Rättigheter).

6. Lägg in texten:

#!/bin/bash
mount.cifs //192.168.0.99/utdelningsnamn /home/dittnamn/mounts/mappnamn -o credentials=.kreditiv,iocharset=utf8

7. Dubbeklicka på filen mount_server99.sh och välj kör i terminal.

8. Nu borde utdelningen dyka upp i filhanteraren.

[redigera] Avmontera via skript

1. Skapa en textfil, i mappen /home/dittnamn/mounts, tex med namnet umount_server99.sh.

2. Gör den körbar (högerklick/Egenskaper/Rättigheter)

3. Lägg in texten:

#!/bin/bash
umount.cifs /home/dittnamn/mounts/mappnamn

4. Dubbeklicka på filen umount_server99.sh och välj kör i terminal.

5. Nu borde utdelningen försvinna i filhanteraren.

[redigera] Montera automatiskt i fstab

I filen /etc/fstab monteras alla filsystem på din dator vid uppstart. Med ytterligare instruktioner i filen kan man montera även smb/cifs-utdelningar automatiskt. Tänk på att samma utdelningar monteras för alla användare på datorn. Därför sätter jag monteringspunkten i hemkatalogen och gör den lässkyddad för andra.

Skapa en textfil med namnet .kreditiv, i mappen /home/dittnamn/mounts/. Punkten i namnet gör den dold.

Lägg in texten (inga mellanslag eller något annat, bara byt ut dittnamn och lösenord):

username=dittnamn
password=lösenord

Innan du börjar mixtra i fstab, gör en backup av orginalfilen:

sudo cp /etc/fstab /etc/fstab_org

Sedan kan du redigera, tex grafiskt med Gedit:

sudo gedit /etc/fstab

Syntax i fstab:

[UNC sökväg] [monteringspunkt] [protokoll] [alternativ] [dump] [pass]

Exempel på rad i fstab:

//192.168.0.99/musik /home/rolf/mounts/musik cifs credentials=/home/rolf/mounts/.kreditiv,_netdev,iocharset=utf8 0 0

Du kan testa den nya fstab-filen med:

sudo mount -a

Och avmontera igen med:

sudo umount -a

[redigera] Kända problem

[redigera] SUDO mount.cifs

Efter uppgradering till Ubuntu Lucid Lynx (10.04) misslyckades ovan nämnda metod att montera med kommandot mount.cifs.

Det verkar som man plötsligt måste vara root för att montera cifs-utdelningar och rättigheterna på den monterade mappan kan därmed bli konstiga.

Jag har kommit runt problemet genom att lägga till sudo innan kommandot och ange grupp (GID) och användare (UID) bland alternativen, ungefär såhär:

sudo mount.cifs //192.168.0.99/utdelningsnamn /home/dittnamn/mounts/mappnamn -o uid=användarnamn,gid=gruppnamn,credentials=.kreditiv,iocharset=utf8,nounix

Förändringen leder till att du blir avkrävd lösenord via terminalen i samband med montering. Avmontering fungerar som innan.

En idé på lösning är att hantera rättigheter för att köra /sbin/mount.cifs via gruppinställningar, men den nöten har jag inte knäckt ännu.

Detta är rapporterat som en bugg till launchpad, men för mej verkade inte kommandot sudo chmod +s /sbin/mount.cifs lösa problemet.

[redigera] GEANY

Efter uppgradering till Ubuntu Karmic Koala (09.10) kunde jag inte längre öppna filer med/till textredigeraren Geany som var utdelade med samba och monterade med cifs.

Det verkar hänga ihop med hur Geany är kompilerat.

Jag har kommit runt problemet genom att lägga till alternativet nounix, andra har rapporterat att dom även behöver alternativet noserverino.

mount.cifs //192.168.0.99/utdelningsnamn /home/dittnamn/mounts/mappnamn -o credentials=.kreditiv,iocharset=utf8,nounix,noserverino

[redigera] CIFS VFS-error

Om du får detta felmeddelande vid avstängning/omstart:

CIFS VFS: Server not responding CIFS VFS: no response for cmd 50 mid 30

Så har inte Cifs-anslutningarna avmonterats innan nätverksanslutningen stoppades.

Detta verkar påverka alla Debian-derivat och problemet finns kvar i Ubuntu 8.10, men det finns sätt att komma runt felet med ett skript från jejik.com:

Gå till mappen:

cd /etc/init.d/

Ladda ner skriptet:

sudo wget http://www.jejik.com/files/examples/umountcifs

Kolla koden i texten så att inget skumt förekommer, gör sedan skriptet körbart:

sudo chmod +x umountcifs

Skapa symbolisk länk till skriptet i mappen rc0.d för att fixa felet vid avstängning:

sudo ln -s /etc/init.d/umountcifs /etc/rc0.d/K12umountcifs

Skapa symbolisk länk till skriptet i mappen rc6.d för att fixa felet vid omstart:

sudo ln -s /etc/init.d/umountcifs /etc/rc6.d/K12umountcifs

Detta borde göra susen.

[redigera] Error vid spara

På utdelningar från Windows Vista och Server 2003 har jag stött på problem med att spara filer jag öppnat. Men skapa, kopiera, spara som.. fungerar bra.

Detta bekymmer har jag ingen lösning på ännu, annat än att undvika att använda Windows som server, också...

Personliga verktyg