- Mitglied seit
- 30. Mai 2010
- Beiträge
- 18
- Punkte für Reaktionen
- 0
- Punkte
- 1
Ich wollte meinen schon länger bestehenden und funktionierenden Autofs Automount zu meiner DiskStation auf macOS Catalina mit einer Skript Variante ersetzten, die zusätzlich den Server bei Bedarf per WoL aufweckt und das Passwort über die Keychain abfragt. Das soll laut Apples Autofs Whitepaper und
über die Executable Maps möglich sein.
Die bisherige funktionierende, direct map /etc/auto_nas sieht so aus:
Das neue Script selbst funktioniert wie es soll und kann auch als root ausgeführt werden. So wie ich es in ein paar Beispielen, die ich gefunden haben, verstanden haben, muss beim Aufruf ohne Parameter eine Liste der Keys, also der zu mountenden Verzeichnisse ausgegeben werden. Beim Aufruf mit einem Key als Parameter soll es dann die location ausgeben, also die Optionen und der Pfad zur DiskStation.
Wenn ich das Skript aber in die /etc/auto_master mit
einbinde, bleibt der DiskStation Ordner leer, bzw. wird selbst als Freigabe erkannt laut den Ordner Symbol.
Woran kann das liegen? Ich konnte in der Konsole oder über
keine weiteren Log Infos oder Fehler erkennen. Lässt sich die Log Ausgabe noch irgendwie etwas erweitern? -v soll ja eigentlich schon der verbose Modus sein.
Ich habe auch unterschiedliche Aussagen dazu gefunden wie die Keys ausgegeben werden sollen. Im DiskStation Wiki werden sie z.B. in Anführungszeichen zusammen mit der location angegeben (https://www.synology-wiki.de/index.php/Zuordnung_von_Netzlaufwerken_unter_Mac_OS_X). Im man auto_master Beispiel wird wiederum nur eine einfache Liste ohne location ausgegeben.
Rich (BBCode):
man auto_master
Die bisherige funktionierende, direct map /etc/auto_nas sieht so aus:
Rich (BBCode):
video -fstype=smbfs,soft,noowners,nosuid,rw ://user:PASSWORT@192.168.99.99/video
music -fstype=smbfs,soft,noowners,nosuid,rw ://user:PASSWORT@192.168.99.99/music
photo -fstype=smbfs,soft,noowners,nosuid,rw ://user:PASSWORT@192.168.99.99/photo
Dokumente -fstype=smbfs,soft,noowners,nosuid,rw ://user:PASSWORT@192.168.99.99/Dokumente
Rohmaterial -fstype=smbfs,soft,noowners,nosuid,rw ://user:PASSWORT@192.168.99.99/Rohmaterial
Backup -fstype=smbfs,soft,noowners,nosuid,rw ://user:PASSWORT@192.168.99.99/Backup
Das neue Script selbst funktioniert wie es soll und kann auch als root ausgeführt werden. So wie ich es in ein paar Beispielen, die ich gefunden haben, verstanden haben, muss beim Aufruf ohne Parameter eine Liste der Keys, also der zu mountenden Verzeichnisse ausgegeben werden. Beim Aufruf mit einem Key als Parameter soll es dann die location ausgeben, also die Optionen und der Pfad zur DiskStation.
Rich (BBCode):
#!/bin/bash
SERVERIP="192.168.99.99"
SERVERMAC="00:00:00:00:00:00"
SERVERUSER="user"
OPTIONS1="-fstype=smbfs,soft,noowners,nosuid,rw"
WAITTIME="80"
get_pw () {
security 2>&1 >/dev/null find-internet-password -ga $SERVERUSER \
|ruby -e 'print $1 if STDIN.gets =~ /^password: "(.*)"$/'
}
ping -c 1 -W 1 -q $SERVERIP > /dev/null
status=$?
logger "AUTOFS: Result from ping - $status"
if [ $status -ne 0 ]
then
logger "AUTOFS: Host is not up. Sending wake-on-lan"
wakeonlan $SERVERMAC
logger "AUTOFS: Sleeping for $WAITTIME seconds to allow host to wake"
sleep $WAITTIME
fi
logger "AUTOFS: Re-pinging host"
ping -c 1 -W 1 -q $SERVERIP > /dev/null
status=$?
logger "AUTOFS: Result - $status"
if [ $status -eq 0 ]; then
if [ $# = 0 ]; then
echo -e "video $OPTIONS1 ://$SERVERUSER:$(get_pw)@$SERVERIP/video\n"\
"music $OPTIONS1 ://$SERVERUSER:$(get_pw)@$SERVERIP/music\n"\
"photo $OPTIONS1 ://$SERVERUSER:$(get_pw)@$SERVERIP/photo\n"\
"Dokumente $OPTIONS1 ://$SERVERUSER:$(get_pw)@$SERVERIP/Dokumente\n"\
"Rohmaterial $OPTIONS1 ://$SERVERUSER:$(get_pw)@$SERVERIP/Rohmaterial\n"\
"Backup $OPTIONS1 ://$SERVERUSER:$(get_pw)@$SERVERIP/Backup"
exit 0
else
echo "$OPTIONS1 ://$SERVERUSER:$(get_pw)@$SERVERIP/$1"
fi
else
logger "AUTOFS: Still no ping result from host"
osascript -e 'tell app "System Events" to display dialog "DiskStation lässt sich nicht aufwecken"'
fi
Wenn ich das Skript aber in die /etc/auto_master mit
Rich (BBCode):
/DiskStation auto_nas
einbinde, bleibt der DiskStation Ordner leer, bzw. wird selbst als Freigabe erkannt laut den Ordner Symbol.
Woran kann das liegen? Ich konnte in der Konsole oder über
Rich (BBCode):
sudo automount -vc
Ich habe auch unterschiedliche Aussagen dazu gefunden wie die Keys ausgegeben werden sollen. Im DiskStation Wiki werden sie z.B. in Anführungszeichen zusammen mit der location angegeben (https://www.synology-wiki.de/index.php/Zuordnung_von_Netzlaufwerken_unter_Mac_OS_X). Im man auto_master Beispiel wird wiederum nur eine einfache Liste ohne location ausgegeben.