У меня проблемы с установкой общего ресурса на моем XenServer (5.6 FP1). Из командной строки пробую:
mount.cifs //server/share /mnt/share -o credentials=credfile
Содержимое credfile:
username=Administrator
password=What@zR\!p3s
Когда я запускаю указанную выше команду монтирования, я получаю «Доступ запрещен». Однако, если я запустил следующую команду, она сработает:
mount.cifs //server/share /mnt/share -o username=Administrator,password=What@zR\!p3s
Обратите внимание, что знак «\» предназначен для того, чтобы избежать взрыва, и я пробовал это с ним и без него в файле учетных данных. Какие-либо предложения?
У меня та же проблема, потому что мой пароль содержит символ запятой (например, "ПРОЙДИТЕ, СЛОВО"):
$ 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)
Сначала попробуйте включить подробный режим (опция --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=********
Здесь я вижу свою проблему. Запятая ломает все. Решение - использовать файл учетных данных. Что написано в man mount.cifs:
credentials = filename определяет файл, который содержит имя пользователя и / или пароль и, возможно, имя рабочей группы. Формат файла:
username=value password=value domain=value
Это предпочтительнее иметь пароли в виде открытого текста в общем файле, таком как / etc / fstab. Обязательно защитите файл учетных данных должным образом.
Создайте этот файл как хотите:
$ cat > cifs.credo
username=myuser
password=PASS,WORD
domain=mydomain
и используйте (--verbose можно опустить)
$ 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=********
С паролем проблем нет.
Распространенной проблемой старых версий mount.cifs было то, что новая строка в конце файла сохранялась как часть пароля.
Таким образом, вам не нужно экранировать, и следует попытаться переписать этот файл без конечной новой строки.
Для этого в vim используйте :set noeol binary
перед сохранением. Вы можете проверить, что нет конечной новой строки с помощью xxd credfile
, и убедитесь, что он не заканчивается 0a
.
Если это не сработает, мне придется проверить вашу точную кодовую базу. Какой пакет (дистрибутив, версия и выпуск) или источник (имя архива) вы используете для cifs-utils
?
Еще можно попробовать ввести специальный символ дважды ... У меня был пароль с $ в нем, и мне пришлось заменить его на $$. Однако сейчас у меня проблемы с морковкой: '^'
Для mount.cifs версии 4.5 у меня работало следующее: учетные данные в порядке домена, имени пользователя, пароля, без новой строки после пароля, без экранирования специальных символов или кавычек.
Это было очень полезно! Моя проблема заключалась в том, что в файле "учетных данных" --verbose
показал мне
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]#
Сделал "vi" в файле учетных данных и :set list
Видел лишний замыкающий бланк. Убрал это. Пробовал снова. Обратите внимание, что «пробел» теперь исчез.
[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 ~]#
Попробуйте процитировать это.
Т.е.,
password="What@zR!p3s"
И я надеюсь, что это не так действительно ваш пароль. Если это так, теперь вам нужно его изменить.
Вы пробовали убрать косую черту? полностью? Я не верю, что нужно вообще экранировать файл учетных данных. Его нужно экранировать в оболочке, потому что оболочка интерпретирует символы, а не команду mount.cifs.