web-dev-qa-db-ja.com

CIFSファイルシステムを直接またはfstab経由でマウント

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)

ダンプとfsckのパスの順序を明示的に0に設定しても効果はありません。両方のコマンドは同じことをするようです

5
user001

Mountコマンドを入力すると、password='C'という部分が最初にシェルによって処理され、mountコマンドに到達する前にpassword=Cになります。これはfstabエントリでは行われないため、一重引用符を削除する必要があります。パスワードに特殊文字が含まれている場合は、8進コード、特にスペースの場合は\040に置き換えることができます。

7
meuh

パスワードを/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は適切なユーザー(root、またはSMB共有を所有するSMBユーザーに対応するユーザー)、およびchmod og-rwxが所有しています。資格情報が形式で含まれています

domain=A
username=B
password=C

上記のABおよびCはリテラルでなければなりません-引用符やバックスラッシュのシェルのような解析はありません。

8
Toby Speight