web-dev-qa-db-fra.com

Mount Cifs Network Drive: autorisations d'écriture et affichage

J'ai accès à un lecteur réseau cifs. Lorsque je le monte sous ma machine OSX, je peux lire et écrire depuis et vers lui.

Lorsque je monte le disque dans ubuntu, en utilisant:

Sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu

Je ne peux pas écrire sur le lecteur réseau, mais je peux y lire. J'ai vérifié les autorisations et le propriétaire du dossier de montage, ils ressemblent à:

4.0K drwxr-xr-x  4 root root    0 Nov 12  2010 Mounted_folder

Je ne peux pas changer de propriétaire, car je reçois l'erreur:

chown: changing ownership of `/Volumes/Mounted_folder': Not a directory

Lorsque je descends plus profondément dans le lecteur réseau et que je change de propriétaire là-bas, je reçois l'erreur que je n'ai pas la permission de changer le propriétaire du dossier.

Que dois-je faire pour activer mon autorisation d'écriture?

113
Vincent

Vous montez le partage CIFS en tant que root (car vous avez utilisé Sudo), vous ne pouvez donc pas écrire en tant qu'utilisateur normal. Si votre distribution Linux et son noyau sont suffisamment récents pour que vous puissiez monter le partage réseau en tant qu'utilisateur normal (mais sous un dossier que l'utilisateur possède), vous aurez les informations d'identification appropriées pour écrire le fichier (par exemple, montez le dossier partagé quelque part sous votre répertoire personnel, comme par exemple $HOME/netshare/. Évidemment, vous devrez créer le dossier avant de le monter).

Une alternative consiste à spécifier l'ID utilisateur et groupe que le partage réseau monté doit utiliser, cela permettrait à cet utilisateur particulier et potentiellement à ce groupe d'écrire sur le partage. Ajoutez ce qui suit options à votre monture : uid=<user>,gid=<group> et remplacez <user> et <group> respectivement par votre propre utilisateur et groupe par défaut, que vous pouvez trouver automatiquement avec la commande id.

Sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g) //server-address/folder /mount/path/on/ubuntu

Si le serveur envoie des informations de propriété, vous devrez peut-être ajouter les options forceuid et forcegid.

Sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g),forceuid,forcegid, //server-address/folder /mount/path/on/ubuntu
159
Huygens

J'ai testé la commande suivante avec succès:

Sudo mount -t cifs -o username=[username],password=[password],uid=1001,gid=1001 //172.16.148.2/dfsgob01 /home/ususario/Documentos/benz-win
26
ricardo leon