Få adgang til en delt Windows 11-mappe fra Ubuntu 26.04 LTS – kun via kommandolinjen

Hvis du har en mappe delt fra en Windows 11-maskine, kan Ubuntu få adgang til den via SMB/CIFS.

I denne guide monterer vi en delt Windows-mappe på Ubuntu 26.04 LTS, så den opfører sig næsten som en almindelig lokal mappe.

Hele Ubuntu-delen udføres fra kommandolinjen.

Opsætningen kommer til at se sådan ud:

Windows 11
C:\Deling
    |
    | SMB
    |
    v
\\192.168.1.100\Deling
    |
    | CIFS
    |
    v
Ubuntu 26.04 LTS
/mnt/windowsdeling

Canonical dokumenterer cifs-utils som standardmetoden til at montere SMB/CIFS-shares fra Windows eller Samba-servere på Ubuntu. (documentation.ubuntu.com)

Forudsætninger

Vi tager i eksemplet udgangspunkt i følgende:

Windows 11-computerens IP-adresse:

192.168.1.100

Windows-brugeren:

casper

Navnet på det delte Windows-share:

Deling

På Ubuntu monterer vi det under:

/mnt/windowsdeling

Erstat værdierne med dem, der passer til dit eget netværk.

1. Kontroller forbindelsen til Windows-maskinen

Start Terminal på Ubuntu.

Kontroller først, at Windows-maskinen kan nås:

ping 192.168.1.100

Stop ping med:

Ctrl+C

Hvis Windows-maskinen svarer, ved vi, at der grundlæggende er IP-forbindelse mellem maskinerne.

Bemærk dog, at manglende ping-svar ikke nødvendigvis betyder, at SMB ikke virker. Windows Firewall kan være konfigureret til at blokere ICMP Echo Request.

2. Opdater pakkelisten

Kør:

sudo apt update

3. Installer CIFS-værktøjerne

Ubuntu bruger Linux-kernens CIFS-driver sammen med pakken cifs-utils til at montere Windows SMB-shares.

Installer pakken:

sudo apt install cifs-utils

Canonical angiver netop cifs-utils som den nødvendige pakke til CIFS-mounts. (documentation.ubuntu.com)

Du kan kontrollere, at værktøjet findes:

mount.cifs -V

4. Opret et mount point

Linux skal have en lokal mappe, hvor Windows-sharet monteres.

Opret:

sudo mkdir -p /mnt/windowsdeling

Mappen er i første omgang tom.

Kontroller:

ls -l /mnt/windowsdeling

5. Test adgang til Windows-sharet

Windows-sharet har UNC-navnet:

\\192.168.1.100\Deling

Linux bruger i stedet denne notation:

//192.168.1.100/Deling

Monter sharet med:

sudo mount -t cifs //192.168.1.100/Deling /mnt/windowsdeling -o username=casper

Du bliver herefter bedt om Windows-brugerens password:

Password for casper@//192.168.1.100/Deling:

Indtast passwordet.

Passwordet vises normalt ikke på skærmen, mens du skriver.

Canonical viser samme grundlæggende syntaks til CIFS-mounts:

mount -t cifs //server/share mountpoint

(documentation.ubuntu.com)

6. Kontroller at Windows-mappen er monteret

Kør:

mount | grep cifs

Du bør kunne se noget i stil med:

//192.168.1.100/Deling on /mnt/windowsdeling type cifs

Du kan også bruge:

df -hT | grep cifs

7. Vis filerne fra Windows

Nu kan du bruge almindelige Linux-kommandoer.

Kør:

ls -la /mnt/windowsdeling

Hvis Windows-mappen eksempelvis indeholder:

test.txt
rapport.pdf
billeder

vil filerne nu være synlige direkte fra Ubuntu.

8. Læs en fil fra Windows

Hvis mappen indeholder filen:

test.txt

kan den læses med:

cat /mnt/windowsdeling/test.txt

Ubuntu læser nu filen direkte fra Windows-maskinen via SMB.

9. Gå ind i Windows-mappen

Du kan også behandle sharet som en almindelig Linux-mappe:

cd /mnt/windowsdeling

Vis indholdet:

ls

Kontroller din aktuelle placering:

pwd

Resultatet vil være:

/mnt/windowsdeling

10. Test om du har skriverettigheder

Hvis Windows-sharet giver din Windows-bruger skriverettigheder, kan du oprette en fil fra Ubuntu:

echo "Denne fil er oprettet fra Ubuntu" | sudo tee /mnt/windowsdeling/ubuntu-test.txt

Kontroller:

ls -l /mnt/windowsdeling

Filen:

ubuntu-test.txt

bør derefter også være synlig på Windows-maskinen.

Hvis du får:

Permission denied

skyldes det typisk, at Windows-brugeren ikke har de nødvendige Share- eller NTFS-rettigheder.

Den effektive Windows-adgang afhænger både af share permissions og de underliggende filsystemrettigheder.

11. Afmonter Windows-sharet

Når forbindelsen ikke længere skal bruges:

cd ~

Afmonter derefter:

sudo umount /mnt/windowsdeling

Kontroller:

mount | grep cifs

Hvis der ikke kommer noget output, er sharet ikke længere monteret.

12. Monter det igen

Du kan altid forbinde igen med:

sudo mount -t cifs //192.168.1.100/Deling /mnt/windowsdeling -o username=casper

Men hvis sharet bruges ofte, er det mere praktisk at konfigurere automatisk mount.

13. Opret en credentials-fil

Det er en dårlig idé at skrive Windows-passwordet direkte i /etc/fstab.

Canonical anbefaler i stedet en separat credentials-fil, som beskyttes med filrettigheder. (documentation.ubuntu.com)

Opret eksempelvis:

sudo mkdir -p /etc/samba

Opret derefter filen:

sudo tee /etc/samba/windows-credentials > /dev/null <<'EOF'
username=casper
password=DIT_WINDOWS_PASSWORD
EOF

Erstat:

DIT_WINDOWS_PASSWORD

med Windows-brugerens rigtige password.

14. Beskyt credentials-filen

Det er meget vigtigt, at almindelige brugere ikke kan læse passwordet.

Kør:

sudo chmod 600 /etc/samba/windows-credentials

Kontroller:

sudo ls -l /etc/samba/windows-credentials

Det bør ligne:

-rw------- 1 root root ...

Kun root kan dermed læse eller ændre filen.

Credentials-filer understøttes direkte af mount.cifs og er den anbefalede metode frem for at placere passwordet direkte i /etc/fstab. (documentation.ubuntu.com)

15. Find din Ubuntu-brugers UID og GID

Find din bruger-ID:

id

Du vil eksempelvis se:

uid=1000(casper) gid=1000(casper)

Her er både UID og GID:

1000

Disse værdier kan bruges til at få filerne på det monterede Windows-share til at fremstå som ejet af din normale Ubuntu-bruger.

16. Test mount med credentials-filen

Afmonter først eventuelt eksisterende mount:

sudo umount /mnt/windowsdeling

Monter derefter med credentials-filen:

sudo mount -t cifs //192.168.1.100/Deling /mnt/windowsdeling \
-o credentials=/etc/samba/windows-credentials,uid=1000,gid=1000

Der spørges nu ikke om password.

Kontroller:

ls -la /mnt/windowsdeling

Canonical dokumenterer både credentials= samt brug af uid til CIFS-mounts. (documentation.ubuntu.com)

17. Monter automatisk ved hjælp af /etc/fstab

Hvis Windows-sharet skal være tilgængeligt permanent, kan det tilføjes til:

/etc/fstab

Lav først en backup:

sudo cp /etc/fstab /etc/fstab.backup

Tilføj derefter følgende linje:

echo '//192.168.1.100/Deling /mnt/windowsdeling cifs credentials=/etc/samba/windows-credentials,uid=1000,gid=1000,_netdev 0 0' | sudo tee -a /etc/fstab

Resultatet i /etc/fstab bliver:

//192.168.1.100/Deling /mnt/windowsdeling cifs credentials=/etc/samba/windows-credentials,uid=1000,gid=1000,_netdev 0 0

_netdev fortæller systemet, at der er tale om et netværksbaseret filsystem.

18. Test /etc/fstab

Du bør altid teste konfigurationen, før maskinen genstartes.

Afmonter først:

sudo umount /mnt/windowsdeling

Kør derefter:

sudo mount -a

Hvis kommandoen ikke giver fejl, kontroller:

mount | grep windowsdeling

eller:

ls /mnt/windowsdeling

Hvis filerne er synlige, virker konfigurationen.

19. Brug automount hvis Windows-maskinen ikke altid er tændt

Hvis Windows-pc’en eksempelvis er en almindelig desktop-pc, som ikke altid er tændt, kan det være uhensigtsmæssigt at forsøge at montere sharet ved hvert Ubuntu-boot.

En mere robust /etc/fstab-linje er derfor:

//192.168.1.100/Deling /mnt/windowsdeling cifs credentials=/etc/samba/windows-credentials,uid=1000,gid=1000,_netdev,nofail,x-systemd.automount 0 0

Her betyder:

_netdev

at mountet kræver netværk.

nofail

betyder, at Ubuntu fortsat kan starte, selv om Windows-maskinen ikke kan kontaktes.

x-systemd.automount

betyder, at systemd kan montere sharet, når mappen faktisk tilgås.

Det er ofte en bedre løsning til klientmaskiner, hvor den eksterne Windows-pc ikke nødvendigvis er online hele tiden.

20. Fejlfinding

Kan Ubuntu nå Windows-maskinen?

ping 192.168.1.100

Er TCP-port 445 tilgængelig?

Hvis nc er installeret:

nc -vz 192.168.1.100 445

SMB over TCP bruger normalt TCP port 445.

Er CIFS-sharet monteret?

mount | grep cifs

Se kernel-fejl fra CIFS

Hvis et mount fejler:

sudo dmesg | tail -30

eller:

sudo journalctl -k -n 30

CIFS-driveren kan her give mere detaljerede oplysninger om eksempelvis authentication eller protocol negotiation.

Forkert brugernavn eller password

Kontroller filen:

sudo cat /etc/samba/windows-credentials

Den skal have formatet:

username=casper
password=DIT_PASSWORD

og være beskyttet med:

sudo chmod 600 /etc/samba/windows-credentials

Windows-share kan ikke findes

Kontroller, at share-navnet er korrekt.

Hvis Windows viser:

\\192.168.1.100\Deling

skal Linux bruge:

//192.168.1.100/Deling

Bemærk forskellen på \ i Windows UNC-path og / i Linux-kommandoen.

Kommandoerne samlet

Installer CIFS:

sudo apt update
sudo apt install cifs-utils

Opret mount point:

sudo mkdir -p /mnt/windowsdeling

Manuel forbindelse:

sudo mount -t cifs //192.168.1.100/Deling /mnt/windowsdeling -o username=casper

Vis filerne:

ls -la /mnt/windowsdeling

Afmonter:

sudo umount /mnt/windowsdeling

Opret credentials-fil:

sudo mkdir -p /etc/samba

sudo tee /etc/samba/windows-credentials > /dev/null <<'EOF'
username=casper
password=DIT_WINDOWS_PASSWORD
EOF

sudo chmod 600 /etc/samba/windows-credentials

Permanent mount i /etc/fstab:

//192.168.1.100/Deling /mnt/windowsdeling cifs credentials=/etc/samba/windows-credentials,uid=1000,gid=1000,_netdev,nofail,x-systemd.automount 0 0

Test konfigurationen:

sudo mount -a

Kontroller:

ls /mnt/windowsdeling

Hvad har vi opnået?

Ubuntu-maskinen kan nu få adgang til en delt mappe på Windows 11 via SMB:

Windows 11
\\192.168.1.100\Deling
          |
          | SMB / TCP 445
          |
          v
Linux CIFS client
          |
          v
/mnt/windowsdeling
          |
          v
Ubuntu-programmer og kommandoer

Filer på Windows-share’et kan dermed bruges fra Ubuntu næsten på samme måde som filer på et lokalt filsystem.

Samtidig har øvelsen arbejdet med flere centrale Linux- og netværksbegreber:

  • SMB/CIFS
  • UNC-paths
  • mount points
  • mount og umount
  • Linux UID/GID
  • credentials-filer
  • filrettigheder
  • /etc/fstab
  • systemd automount
  • TCP port 445

Det gør øvelsen velegnet til undervisning i både Linux, operativsystemer og grundlæggende netværksadministration.