SAMBAを使ってLinuxマシンからCIFSにアクセスする方法
通常、コマンドは間違ったオプションが使用されている場合に教えてくれますが、時にはあまり役に立たないエラーも表示されることがあります。 以下は、私が遭遇したいくつかのエラーです。
誤ったマウント オプション
これはかなり自明なことでした。 最初に、私は cifs-utils をインストールしていませんでした。
マウント ポイントが存在しない
これも自明です。
No such file or directory (when mounting)
これは、NFS サーバー上で間違ったエクスポート パスを指定したことを意味します。 ジャンクション パスをチェックして、もう一度試してください。
ホストがダウンしています
これは、サーバーが稼働していないことを示唆する、やっかいなエラーでした。 場合によっては、それが本当に問題であることがあります。 しかし、私の場合はそうではありませんでした。
# mount -t cifs -o user=cifsuser \\\\DEMO\\nas /mnt/nasPassword for cifsuser@\DEMO\nas: **********mount error(112): Host is down
しかし、実際には、問題は私が SMB バージョンを指定しなかったことであり、デフォルトで SMBv1.0 を使用しようとしました。
SMB バージョン (-o vers=3.0) を指定するとその問題を克服できました。
必要な鍵がありません
これは Kerberos 固有のエラーです。 私の場合、cifs/servername.domain.com SPN は、私が UNC パスで使用したホスト名には存在しませんでした。
Permission denied
このエラーは、Windows と Linux の両方で、多くの場合、かなり役に立ちません。 時には、本当にアクセスの問題 (共有やファイル レベルのアクセス権など) であることもあります。
# mount -t cifs -o vers=3.0,user=administrator,domain=NTAP.LOCAL //DEMO/nas /mnt/nasPassword for administrator@//DEMO/nas: **********mount error(13): Permission denied
パケット トレースでは、クライアントが何をサポートしているか教えてくれるのがわかりました
でも、応答には問題点があまり書かれていませんでした。 So I made sure to disable the following CIFS/SMB features:
- SMB3 encryption (cifs security modify)
- Large MTU and SMB Multichannel (cifs options modify)
Once I did that, I was able to mount.
# mount -t cifs -o vers=3.0,user=administrator,domain=NTAP.LOCAL //DEMO/nas /mnt/nasPassword for administrator@//DEMO/nas: **********# touch /mnt/nas/smbfile# ls -la /mnt/nastotal 1drwxr-xr-x 2 root root 0 Mar 27 14:36 .drwxr-xr-x. 9 root root 97 Mar 27 10:17 ..-rwxr-xr-x 1 root root 0 Mar 27 14:36 smbfile
For Kerberos, you would just specify sec=krb5.
# mount -t cifs -o sec=krb5,vers=3.0,user=administrator,domain=NTAP.LOCAL //DEMO/nas /mnt/nas