web-dev-qa-db-ja.com

CIFS資格情報のマウントファイルに特殊文字が含まれています

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

「\」は強打を回避するためのものであり、資格情報ファイルでそれを使用して、または使用せずにこれを試したことに注意してください。助言がありますか?

12
David George

パスワードにコンマ記号が含まれているため、同じ問題が発生します(例: "PASS、Word"):

$ 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=********

パスワードは問題ありません。

11
Maxim Suslov

古いバージョンのmount.cifsの一般的な問題は、ファイルの最後の改行がパスワードの一部として保持されることでした。

したがって、エスケープする必要はなく、末尾の改行なしでこのファイルを書き直そうとする必要があります。

Vimでこれを行うには、保存する前に:set noeol binaryを使用します。 xxd credfileで末尾の改行がないことを確認し、0aで終わっていないことを確認できます。

これが機能しない場合は、正確なコードベースを確認する必要があります。 cifs-utilsには、どのパッケージ(配布、バージョン、リリース)またはソース(アーカイブ名)を使用していますか?

6
Pierre Carrier

もう1つ試すことは、特殊文字を2回入力することです...私はそれに$を含むパスワードを持ち、それを$$に置き換える必要がありました。しかし、私は現在ニンジンに問題があります: '^'

1
Alex

Mount.cifsバージョン4.5の場合、ドメイン、ユーザー名、パスワードの順での資格情報、パスワードの後の改行なし、特殊文字や引用符のエスケープなしが機能しました。

1
lessnoise

これはとても役に立ちました!私の問題は、「クレデンシャル」ファイルに--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]#

クレデンシャルファイルと: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 ~]#
0
RickS

それを引用してみてください。

つまり、

password="What@zR!p3s"

そして、それが本当にのパスワードではないことを願っています。変更されている場合は、変更する必要があります。

0
bahamat

スラッシュを削除してみましたか?完全に?資格情報ファイルをまったくエスケープする必要があるとは思いません。シェルはmount.cifsコマンドではなく文字を解釈するため、シェルでエスケープする必要があります。

0
Zoredache