web-dev-qa-db-fra.com

Modifier les autorisations du dossier monté sur Windows depuis Linux

J'ai monté le partage Windows sur Linux (Rhel7) en utilisant

mount -t cifs -o username=<share user>,password=<share password> //WIN_PC_IP/<share name> /mnt

Je l'ai monté avec succès. Depuis Linux, j'ai essayé de modifier les autorisations sur le dossier monté, puis cela m'a donné l'erreur.

chmod: modification des autorisations de ‘/ mnt /’: autorisation refusée

chmod -R 777 /mnt

Comment puis-je modifier les autorisations du dossier monté sous Linux?

Est-il possible de modifier l'autorisation sur le dossier Windows monté à partir de la commande Linux (chmod)?

1
harish chava

Est-il possible de modifier l'autorisation sur le dossier Windows monté à partir de la commande Linux (chmod)?

Non. CIFS, tout comme NTFS, est un système de fichiers virtuel, donc chmod n'a aucun effet. Et la modification de l'autorisation du point de montage avant que quoi que ce soit ne soit monté dessus n'aura aucun effet non plus, car les autorisations après un montage remplacent toujours les autorisations avant le montage.

Si les autorisations souhaitées sont 777, modifiez votre commande de montage pour inclure ces autorisations: dir_mode=0777,file_mode=0777. Je prendrais également l'habitude d'ajouter l'option nounix bien que pour un partage Windows, cela ne fasse pas grand-chose.

Essayez donc ceci à la place:

mount -t cifs -o username=<share user>,password=<share password>,dir_mode=0777,file_mode=0777,nounix //WIN_PC_IP/<share name> /mnt

Et je conviens qu'un meilleur point de montage serait quelque chose sous/mnt plutôt que/mnt lui-même.

2
Morbius1

Premièrement, seule la racine (par défaut) peut modifier les autorisations en /mnt répertoire lui-même puisqu'il appartient à root:root - donc la tentative de modification de ses autorisations échouera en tant que non root.

Vous souhaiterez probablement vous faciliter la tâche en créant un sous-répertoire à l'intérieur de /mnt, en modifiant ses autorisations, puis en y montant.

Démontez d'abord quelque chose déjà:

Sudo umount /mnt

Créez ensuite un sous-répertoire où vous monterez le partage

Sudo mkdir /mnt/share

Maintenant, changez les autorisations qui appartiennent à l'utilisateur que vous souhaitez modifier:

Sudo chown foo:foo /mnt/share

foo:foo est pour l'utilisateur foo, qui devrait être votre nom d'utilisateur.

Montez enfin sur le /mnt/share lieu à la place:

Sudo mount -t cifs -o username=xxx,password=xxx //WIN_PC_IP/<share name> /mnt/share

Si vous rencontrez toujours des problèmes avec les fichiers à l'intérieur de /mnt/share n'appartenant pas à l'utilisateur correct, vous devrez peut-être spécifier uid=xxx,gid=xxx dans les options de montage.

3
Kristopher Ives