18 votes

Monter un lecteur partagé via AFP dans le terminal

Je veux monter un disque externe, connecté sur l'ordinateur A, sur l'ordinateur B.

Je suis en mesure d'accéder au lecteur et de le monter en me connectant au serveur via le Finder (Commande-K), mais comment puis-je effectuer cette action exacte via le terminal ? J'ai utilisé plusieurs formats de mount y mount_afp mais rien ne semble fonctionner. Quelque chose du genre :

mount_afp -i afp://user:pass@ipaddress/Volumes/SharedDrive /Volumes/Shared

Dans le Finder, je tape simplement l'IP du Mac connecté au disque, je saisis les informations d'identification et je monte le disque sélectionné... mais cela ne fonctionne pas en saisissant simplement l'adresse IP du Mac. afp://ipaddress comme la commande "Connecter le serveur" dans le Finder, dans le terminal.

Comment faire la même connexion avec une commande bash ? Le résultat final sera le lecteur monté sur B.

17voto

Tony Williams Points 11219

Il y a deux choses dont vous devez être conscient.

Premièrement, l'URL AFP doit contenir le nom du partage, et non son emplacement sur le serveur. Deuxièmement, le point de montage doit être un répertoire vide sur lequel vous avez le droit d'écriture. Ainsi, vos commandes pourraient être :-

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

3voto

vy32 Points 113

Essayez :

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

1voto

Jason R. Coombs Points 547

Après quelques essais et erreurs, je crois avoir trouvé une technique qui fonctionne. Tout d'abord, le point de montage doit être créé avec l'utilisateur actuel ayant la permission d'y accéder :

$ NAME=(name of remote volume)
$ HOST=(hostname of server)
$ MOUNT=/Volumes/$NAME
$ sudo mkdir $MOUNT; sudo chown $USER $MOUNT

Ensuite, sans sudo, créez le point de montage en utilisant afp_mount :

$ mount_afp -o quarantine afp://$USER@$HOST._afpovertcp._tcp.local/$NAME $MOUNT

D'après mon expérience, cela a créé le montage avec des propriétés identiques à celles créées par l'interface utilisateur et n'a pas nécessité de passer un mot de passe (j'ai donc pu réutiliser les informations d'identification déjà enregistrées dans la session).

Puisque j'utilise le shell xonsh J'ai écrit cette routine pour mon profil script pour automatiser cette étape :

def connect_share(name, host='myserver'):
    username = $USER
    mount = f'/Volumes/{name}'
    sudo mkdir @(mount)
    sudo chown $USER @(mount)
    url = f'afp://{username}@{host}._afpovertcp._tcp.local/{name}'
    mount_afp -o quarantine @(url) @(mount)

-2voto

Ralph Bisschops Points 261

Voir https://apple.stackexchange.com/a/171822/154516 et des commentaires pour :

open smb://<user>:<password>@server/<Volume>

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X