Automatyczne montowanie NFS wymaga root, zamontowany folder nie ma etykiety

Witam, zainstalowałem dzisiaj sobie Manjaro i skonfigurowałem sobie dysk sieciowy NFS, który jest udostępniony przez router z Gargoyle. Zrobiłem wszystko jak w instrukcji na stronie Arch Wiki

 

W pliku /etc/fstab dodałem linijkę

 

192.168.1.1:/tmp/usb_mount/d335bfb5-e42b-4d50-a396-54daddc0f7e0/Dane /home/asus/MyPassport nfs user,noauto,noatime,rsize=32768,wsize=32768 0 0

Można zamontować też przez 192.168.1.1:/nfs/MyPassport

 

Potem utworzyłem skrypt, który sprawdza czy dysk sieciowy jest dostępny, jak go nie ma to demontuje a jak jest, to montuje.

/bin/auto_share

#!/bin/bash
 
SERVER="192.168.1.1"
 
MOUNT_POINTS=$(sed -e '/^.*#/d' -e '/^.*:/!d' -e 's/\t/ /g' /etc/fstab | tr -s " " | cut -f2 -d" ")
 
ping -c 1 "${SERVER}" &>/dev/null
 
if [$? -ne 0]; then
    # The server could not be reached, unmount the shares
    for umntpnt in ${MOUNT_POINTS}; do
        umount -l -f $umntpnt &>/dev/null
    done
else
    # The server is up, make sure the shares are mounted
    for mntpnt in ${MOUNT_POINTS}; do
        mountpoint -q $mntpnt || mount $mntpnt
    done
fi

 

Utworzyłem serwis /etc/systemd/system/auto_share.service

 

[Unit]
Description=NFS automount
After=syslog.target network.target
 
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/auto_share
 
[Install]
WantedBy=multi-user.target

 

Wszystkie pliki tworzyłem z sudo.

Po wpisaniu hasła do root dysk jest montowany, ale chcę żeby to było montowanie z automatu, a nie po wpisywaniu haseł. 

Do tego zamontowany punkt ma taką nazwę:

 

/tmp/usb_mount/d335bfb5-e42b-4d50-a396-54daddc0f7e0/Dane on 192.168.1.1

 

Nie mam pomysłu co z tym fantem zrobić.

 

Tak się prezentuje zamontowany dysk w Gargoyle.

 

http://s24.postimg.org/r8th98pyd/Zrzut_ekranu_7.png

___________________________________________________________________________________________

Proszę zapoznać się z regulaminem, a szczególnie z fragmentem dotyczącym maksymalnych rozmiarów grafik wklejanych do posta.

Pozdrawiam,

Dimatheus

Montowanie zawsze wymaga uprawnień roota. Nie mam doświadczenia z systemd, ale jeśli dodałeś skrypt do niego, to powinien uruchamiać się z prawami administratora. Ewentualnie dla skryptu lub dla montowania tego konkretnego udziału możesz ustawić sudo bez hasła. Napisz o co dokładnie chodzi.

Chcę żeby od razu po załadowaniu systemu udział NFS był montowany, coś jak smb pod Windows, wchodzę w mój komputer i mam od razu zmapowany dysk, po wejściu na ten dysk mogę sobie oglądać na nim filmy czy słuchac muzyki, a Linux na smb czegoś takiego nie zrobi, za to na NFS jak najbardziej. Teraz muszę wejść w Dolphina nacisnąć na miejsce montowania, wpisać hasło i dopiero wtedy zostaje on zamontowany. Chcę pominąć ten proces wpisywania hasła root.

Czy nie powinieneś zrobić wpisu w fstab jak do innych udziałów, aby montowało na starcie? Coś na zasadzie:

server:/data /data nfs rw,_netdev,auto,users 0 0

A czy nie będzie problemu kiedy dysk sieciowy nie będzie dostępny? Czy nie będzie cały czas próbował się połączyć?

 

W tym skrypcie pinguje i sprawdza serwer. Jak go nie ma to nie montuje.

 

Sprawdzę jak będzie wyglądało w samym fstab

Jeśli nie będzie dostępny na starcie to wyskoczy komunikat ale nic strasznego się nie stanie. Próba połączenia będzie tylko na początku i jeśli się nie powiedzie (brak dysku sieciowego) to połączenie będziesz musiał wykonać samodzielnie podczas pracy komputera.

Aha, to niepotrzebnie się bawiłem. Zaraz sprawdzę.

 

Edycja 1: Automatyczne ładowanie działa w samym fstab działa ładnie. Jak mogę zmienić etykietę udostepnionego folderu?

 

W urządzeniach wyświetla mi się jako “/nfs/MyPassport on 192.168.1.1”, a chciałbym sam napis “MyPassport”.

 

Edycja 2: Sposób ma swoją wadę, po rozłączeniu się sieci Dolphin się zawiesza.

 

Edycja 3: Udało mi się wykonać metodę ze skryptami, którą opisałem w pierwszym poście.

 

Skrypt auto_share musiałem wrzucić do katalogu /root/bin/auto_share/ i tam też nakierować cron i auto_share.service. 

 

Edycja 4: Zamontowany folder wrzuciłem do miejsc, a urządzenie ukryłem i mam swoją nazwę. Więc na razie to starczy.