web-dev-qa-db-ja.com

cifsマウントで書き込むためのファイルを開くことができません

こんにちは私は次のfstabエントリを使用して私のubuntuマシンのドライブにQNAPをマウントしました

//<ip-address>/Documents/Aly /home/aly/Documents cifs credentials=/root/.credentials,uid=1000,gid=1000,rw,hard,dir_mode=0777,file_mode=0777 0 0

これにより、次の許可が与えられます。

drwxrwxrwx  1 aly aly    0 2011-12-03 12:18 .
drwxr-xr-x 13 aly aly 4096 2011-12-03 12:14 ..
-rwxrwxrwx  1 aly aly    5 2011-12-03 11:55 test.tst
drwxrwxrwx  1 aly aly    0 2011-11-26 17:54 VirtualBox VMs

ファイルを削除したりファイルを追加したりする権限がありますが、ファイル、つまりtest.tstに書き込もうとすると、viで次のエラーが発生します。

"test.tst" E212: Can't open file for writing

誰かがこれを以前に見たことがあります。nfsを介してドライブをマウントする場合、これは問題ではありませんが、nfsには必要なセキュリティがありません。

[〜#〜]編集[〜#〜]

私が到達した解決策は次のとおりです。

<ip-address>:Documents/Aly/ /home/aly/Documents cifs hard,noperm,nouid,credentials=/root/.credentials,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs 0 0
5
Aly

記事で説明されているように、nodfsパラメーター(サポートされている場合)を試すことができます
DNS323のDFSsambaバグを回避する方法NAS?

まず、バグの簡単な説明を次に示します。既存のファイルを変更することはできません。ファイルを変更しようとすると、「ディレクトリではありません」または「そのようなファイルまたはディレクトリはありません」または「タッチ:設定時間…」エラーが発生します。

Linux cifsまたはsmbfsクライアントがnodfsフラグをサポートしている場合(2.6.27を超えるカーネルに統合されています)。このオプションをmountコマンドに追加するだけです。例:

mount -t cifs -o credentials=/home/kerphi/.smb-zekra-credentials,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs //zekra/Volume_1 /home/kerphi/zekra

カーネルをアップグレードできない場合(私はdebianリリースをフォローしているので私のように)、次の回避策に従う必要があります。

  • Web GUIを使用してDNS323に接続し、ツール→システムに移動します。
  • 構成をワークステーションに保存します(「構成設定」セクション)。
  • 保存後、ファイルを編集し、この行のすぐ下にあります。
    ;[ global ]
    次の行を追加します。
    msdfs root = no
    次に、このファイルをWebインターフェイスからアップロードすると、NASが再起動し、既存のファイルを再度変更できるようになります。

これについては、 CIFS:nodfsマウントオプションの追加 :で詳しく説明されています。

DFSパスが使用されている場合、古いSambaサーバー(Debianetchの3.0.24など)は正しく機能しません。このようなサーバーは、DFSをサポートしていると主張していますが、DFSパスを使用した一部の要求の処理に失敗しています。 Linux 2.6.26以降、cifsクライアントはこのような状況でDFSパスの送信を開始し、古いSambaサーバーでは使用できなくなります。

Nodfsマウントオプションは、サーバーがサポートしていると主張している場合でも、DFS以外のパスで共有を強制的に使用します。

5
harrymc

root権限で書き込むと、おそらく機能します(rwオプションが指定されています)

0
phil294