web-dev-qa-db-fra.com

Le fichier de références de mont CIFS a un caractère spécial

J'ai des difficultés à monter une part de mon Xenserver (5,6 fp1). De la ligne de commande j'essaie:

mount.cifs //server/share /mnt/share -o credentials=credfile

Le contenu de CredFile est:

username=Administrator
password=What@zR\!p3s

Lorsque j'exécute la commande de montage ci-dessus, je reçois "accès refusé". Cependant, si j'exécute la commande suivante, cela fonctionne:

mount.cifs //server/share /mnt/share -o username=Administrator,password=What@zR\!p3s

Veuillez noter que le "\" est d'échapper au bang et j'ai essayé cela avec et sans elle dans le fichier de références. Aucune suggestion?

12
David George

J'ai le même problème car mon mot de passe contient le symbole des virgules (c'est-à-dire "" Pass, mot "):

$ Sudo mount -t cifs -o domain=mydomain,username=myuser,password=PASS,Word //server/share localfolder
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Au début, vous devriez essayer d'activer le mode Verbose (option --verbose):

$ Sudo mount -t cifs -o domain=mydomain,username=myuser,password=PASS,Word //server/share localfolder --verbose
mount.cifs kernel mount options: ip=172.30.91.137,unc=\\server\share,Word,user=myuser,,domain=mydomain,pass=********

Ici je vois mon problème. La virgule brise toutes les choses. La solution utilise un fichier de créditif. Qu'est-ce qui est écrit chez l'homme Mount.Cifs:

credentials = Nom de fichier Spécifie un fichier contenant un nom d'utilisateur et/ou un mot de passe et éventuellement le nom du groupe de travail. Le format du fichier est:

          username=value
          password=value
          domain=value

Ceci est préférable d'avoir des mots de passe en plainte dans un fichier partagé, tel que/etc/fstab. Assurez-vous de protéger correctement tout fichier de références.

Créez ce fichier de n'importe quelle façon que vous aimez:

$ cat > cifs.credo
username=myuser
password=PASS,Word
domain=mydomain

et utiliser (--verbose peut être omis)

$ Sudo mount -t cifs -o credentials=path/to/cifs.credo //server/share localfolder --verbose
mount.cifs kernel mount options: ip=172.30.91.137,unc=\\server\share,user=myuser,,domain=mydomain,pass=********

Pas de problème avec le mot de passe.

11
Maxim Suslov

Un problème courant avec les anciennes versions de Mount.Cifs était que la nouvelle ligne à la fin du fichier a été conservée dans le cadre du mot de passe.

Donc, vous ne devriez pas avoir besoin de vous échapper et devriez essayer de réécrire ce fichier sans nouvelle ligne de fuite.

Pour ce faire dans Vim, utilisez :set noeol binary avant d'économiser. Vous pouvez vérifier qu'il n'y a pas de nouvelle ligne de fin avec xxd credfile, et confirmer que cela ne finit pas avec 0a.

Si cela ne fonctionne pas, je devrai vérifier votre code de code exact. Quel paquet (distribution, version et libération) ou source (nom d'archivage) utilisez-vous pour cifs-utils?

6
Pierre Carrier

Une autre chose à essayer est de taper le caractère spécial deux fois ... J'avais un mot de passe avec une $ dedans, et j'ai dû la remplacer par $$. Cependant, j'ai actuellement des problèmes avec la carotte: '^'

1
Alex

Pour Mount.Cifs Version 4.5 Les éléments suivants ont fonctionné pour moi: des informations d'identification par ordre de domaine, nom d'utilisateur, mot de passe, sans nouvelle ligne après le mot de passe, aucune échappée de caractères spéciaux ou de citations.

1
lessnoise

C'était très utile! Mon problème était un espace supplémentaire dans le fichier "Criting" que le --verbose m'a montré

mount.cifs kernel mount options: ip=10.77.180.65,unc=\\odxwtdsa.naoxy.com\TDS_BODS_Fileshare,user=srv-tdsadm,domain=NAOXY ,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
[root@odylztxz drpadm]#

A fait un "VI" sur le fichier de réfortement et :set list A vu l'ébauche de fin supplémentaire. Enlevé. Essayé à nouveau. Notez que le "vide" est maintenant parti.

[root@odylztxz ~]# mount.cifs  -o credentials=/etc/.credentials,uid=1002,gid=200,file_mode=0x777,noperm //odxwtdsa.naoxy.com/TDS_BODS_Fileshare /TDS_BODS_FS --verbose
domain=NAOXY

mount.cifs kernel mount options: ip=10.77.180.65,unc=\\odxwtdsa.naoxy.com\TDS_BODS_Fileshare,file_mode=0x777,noperm,uid=1002,gid=200,user=srv-tdsadm,domain=NAOXY,pass=********
[root@odylztxz ~]# df -h
Filesystem                               Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root                     50G  4.9G   45G  10% /
devtmpfs                                  16G     0   16G   0% /dev
tmpfs                                     16G     0   16G   0% /dev/shm
tmpfs                                     16G   76M   16G   1% /run
tmpfs                                     16G     0   16G   0% /sys/fs/cgroup
/dev/sdb1                                100G   11G   90G  11% /orasoft
/dev/sdc1                                100G   33G   68G  33% /oxyswap
/dev/sda2                                497M  214M  284M  43% /boot
/dev/mapper/rhel-var                     5.5G  1.2G  4.3G  22% /var
10.77.25.114:/GEN_BACKUP_DBS             5.8T  4.8T  945G  84% /backup
10.77.25.114:/GEN_MEDIA                  380G  319G   62G  84% /sap_media
10.77.25.114:/ORA_ZTX_SAPMNT              95G   12M   95G   1% /sapmnt
10.77.25.113:/ORA_ZTX_USR_SAP             95G   13M   95G   1% /usr/sap
10.77.25.113:/GEN_TRANS                  190G   26M  190G   1% /trans
tmpfs                                    3.2G   40K  3.2G   1% /run/user/4200
tmpfs                                    3.2G     0  3.2G   0% /run/user/3501
//odxwtdsa.naoxy.com/TDS_BODS_Fileshare  750G  578G  173G  78% /TDS_BODS_FS
[root@odylztxz ~]#
0
RickS

Essayez de le citer.

C'est à dire.,

password="What@zR!p3s"

Et j'espère que ce n'est pas vraiment votre mot de passe. Si c'est le cas, vous devez maintenant le changer.

0
bahamat

Avez-vous essayé de supprimer la barre oblique? complètement? Je ne crois pas que le fichier de crédits devait être échappé du tout. Il doit être échappé sur la coquille car la coquille interpréte les caractères, pas la commande Mount.Cifs.

0
Zoredache