Vom Terminal aus eine Verbindung zum passwortgeschützten AFP-Server herstellen?

Ich habe einen Mac mit Dateifreigabe auf dem Desktop eingerichtet und versuche, von meinem anderen Mac über das Terminal eine Verbindung herzustellen. Ich habe einen Ordner in /Volumes/ bereitgestellt und dann den folgenden Befehl verwendet.

sudo mount -t afp afp://user:pass@ipaddress/Desktop /Volumes/mount

(Offensichtlich habe ich den Benutzer/Pass/IP auf die richtigen Informationen geändert)

Wenn ich jedoch versuche, darauf zuzugreifen, heißt es, dass ich keine Berechtigung habe. Wenn ich über den Finder mit demselben Benutzernamen und Kennwort darauf zugreife, funktioniert es einwandfrei.

Gibt es einen Grund, warum das nicht funktioniert?

Bearbeiten - Wenn ich den lsBefehl mit ausführe, sudokann ich auf die Dateien zugreifen. Also Update zur Frage:

Gibt es eine Möglichkeit, den Eigentümer des Volumes zu ändern? chownwirft den Fehler Operation not permittedauch mit sudo.

Bitte um Klärung: Wenn Sie mit dem Finder auf die Remote-Freigabe zugreifen können, können Sie das bereitgestellte Volume nicht in ein Terminalfenster ziehen, nachdem Sie „cd“ eingegeben haben, anstatt zu versuchen, es direkt bereitzustellen?
@KarlC Wenn mir langweilig wird, probiere ich verschiedene Dinge aus. Dieses Mal wollte ich zum Beispiel einen webbasierten Datei-Explorer auf meinem lokalen Computer erstellen, um auf Dateifreigaben in meinem Netzwerk zuzugreifen. Das geht ganz einfach mit PHP und den richtigen Berechtigungen, aber dazu muss ich das Volume über das Terminal mounten können. Ich habe es gegoogelt und nur den obigen Code gefunden. Das Volume wird ordnungsgemäß gemountet, aber wenn ich das Volume öffne, heißt es nur, dass ich keine Berechtigung habe, den Inhalt des Volumes anzuzeigen.
@klanomath, wenn ich die sudoMounts verwende (nicht lesbar, aber Mounts). Wenn ich es entferne bekomme ich folgende Fehlermeldung: mount_afp: AFPMountURL returned error 1, errno is 1.
@klanomath Der "Server" -Mac ist 10.10.5, der Mac, den ich verwende, ist 10.11.3.

Antworten (1)

Um eine Freigabe im Terminal bereitzustellen, verwenden Sie die folgenden Befehle:

mkdir /Volumes/mount
mount -t afp afp://user:pass@ipaddress/Desktop /Volumes/mount

Dies funktioniert, weil der Ordner /Volumes weltweit les- und beschreibbar ist.

Wenn Sie sudo mkdir /Volumes/mount mount verwenden, hat es die folgenden Berechtigungen:

drwxr-xr-x+ 2 root  admin  -       68  8 Mär 02:40 . <- mount
drwxrwxrwt@ 5 root  admin  hidden 170  8 Mär 02:40 .. <- /Volumes

und der einzig mögliche Befehl zum Mounten einer Freigabe ist:

sudo mount -t afp afp://user:pass@ipaddress/Desktop /Volumes/mount

weil Sie als Nicht-Root-Benutzer nicht in den Ordner mount "schreiben" (=mounten) dürfen .

mit folgendem Ergebnis:

drwx------  1 root  wheel  -        264  8 Mär 02:38 . <- mount (the share "Desktop")
drwxrwxrwt@ 5 root  admin  hidden   170  8 Mär 02:42 .. <- /Volumes

und Sie können den Ordner nicht einmal mit Ihrem Benutzer öffnen (=lesen).

Wenn Sie den Mount-Ordner mit mkdir /Volumes/mountden Berechtigungen erstellen, sieht das so aus:

drwxr-xr-x+ 2 user  admin  -       68  8 Mär 02:42 . <- mount
drwxrwxrwt@ 5 root  admin  hidden 170  8 Mär 02:42 .. <- /Volumes

Nach dem Mounten der Freigabe mit:

mount -t afp afp://user:pass@ipaddress/Desktop /Volumes/mount

die Berechtigungen sehen so aus:

drwx------  1 user  staff  -        264  8 Mär 02:38 . <- mount (the share "Desktop")
drwxrwxrwt@ 5 root  admin  hidden   170  8 Mär 02:42 .. <- /Volumes
Fehlender Schritt ist sudo chown $(whoami) /Volumes/mountnach sudo mkdir. /Volumesist auf meinem nicht weltlesbar und beschreibbar.