fstabエントリなしでリモートCIFSサーバーをマウントすると機能しますが、fstabを介してマウントすると機能しないという問題があります。
次のコマンドが有効です。
$ sudo mount -t cifs //w.x.y.z/Home$ /mnt/dir -o domain=A,username=B,password='C',sec=ntlmssp,file_mode=0700,dir_mode=0700
ただし、/etc/fstabに次の行を追加し、コマンドmount
(またはmount -a
)mount /mnt/dir
を介してマウントしようとすると、以下のエラーが発生します。
$ tail -n 1 /etc/fstab
//w.x.y.z/Home$ /mnt/dir cifs domain=A,username=B,password='C',sec=ntlmssp,file_mode=0700,dir_mode=0700
間違い:
$ sudo mount /mnt/csif
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
dumpおよびfsck pass orderを0に明示的に設定することは役に立ちません。どちらのコマンドも同じことをするようです。
答え1
パスワードを直接入力しないことをお勧めします/etc/fstab
(通常は誰でも読むことができます)。代わりに、ファイルに入れて、次のようにそのファイルを参照してください。
//w.x.y.z/Home$ /mnt/dir cifs credentials=/home/username/cifs.creds,sec=ntlmssp,file_mode=0700,dir_mode=0700
/home/username/cifs.creds
そのユーザー(ルートまたはSMB共有を所有するSMBユーザーに対応するユーザー)が所有し、chmod og-rwx
次の形式の資格情報が含まれています。
domain=A
username=B
password=C
A
、上記はリテラルでなければなりません。B
つまりC
、引用符やバックスラッシュをシェルのように解析しないでください。
答え2
mountコマンドを入力すると、この部分がpassword='C'
最初にシェルで処理され、password=C
mountコマンドに到達する前になります。 fstabエントリはこれを行わないため、一重引用符を削除する必要があります。パスワードに特殊文字が含まれている場合は、これを8進コード、特に\040
空白に置き換えることができます。