web-dev-qa-db-ja.com

MacからSamba共有にファイルをコピーできないのはなぜですか?

Ubuntu 10.04ボックスに共有を設定しましたが、Macは共有を表示して接続し、書き込みを行うことができます。

ツリー全体を共有にコピーしようとすると、「一部のアイテムにアクセスできないため、操作を完了できません」というエラーが表示されます。ディレクトリを圧縮してコピーすると、成功します。

説明はありますか?

私のsmb.conf:

[global]
workgroup = wg
netbios name = ubuntu
security = user

[Wife Debris]
path = /home/wife/wifedebris
read only = no
guest ok = no
force user = wife
force group = wife

編集:

ツリーは部分的にコピーされました。各Filename.docxファイルにも._Filename.docxがあり、コピーされた各ディレクトリにも同じレベルの0バイトの._Directoryファイルがあります。また、コピーされた各ディレクトリには、.DS_Storeファイルと._。DS_Storeファイルがあります。

2
chris

これは潜在的な権限の問題のように聞こえます。共有にデフォルトのcreate maskまたはdirectory maskが設定されていないため、デフォルトのアクセス許可マスクを取得しています。これらは(何らかの理由で)正しいデフォルトではない可能性があります。

ファイル全体をコピーすることはできますが、ディレクトリツリーをコピーすることはできないため、ディレクトリマスクがオフになっていると思われます。これを確認するには、2つのコピーテストを実行します。

  1. いくつかのファイルやサブディレクトリを持つディレクトリツリー(このコピーは失敗するはずです)。そして
  2. 同じツリーが単一のアーカイブファイルに圧縮されます(このコピーは成功するはずです)。

コピー後、コピーしたすべてのファイルに対してls -lを実行します。 (必要に応じてサーバーにSSHで接続します。)サーバーが適切なアクセス許可を示していることを確認します。

  • ファイルはOKである必要があります-それらはrw-------(所有者の読み取り/書き込み)であり、おそらくrw-r--r--またはrwxr-xr-x(所有者の読み取り/書き込み/実行)である可能性があります。
  • ディレクトリは少なくともrwx------である必要があります(所有者の読み取り/書き込み/実行)。書き込みビットがない場合、ディレクトリにファイルを作成することはできません。また、実行ビットが欠落していると、プロセスがサブディレクトリに降りたり、ディレクトリリストを生成したりできない状況になります。

ディレクトリの実行ビットが欠落している場合は、共有セクションの ディレクトリマスクディレクティブ で修正してください。

# use these for locked-down, user-only permissions
# 0700 is rwx------, 0600 is rw-------
directory mask = 0700
create mask = 0600

# use these for more open, user-only-write, others-read permissions
# 0755 is rwxr-xr-x, 0644 is rw-r--r--
directory mask = 0755
create mask = 0644

force userディレクティブ で問題が発生している可能性もあります。私はあまり詳しくありませんが、使用すると、(1)サーバーへの接続がユーザーを介して認証され、(2)shareは強制ユーザーとして実行されます。ユーザーhusbandとしてログインし、/ home/wife/wifedebrisの下の共有にアクセスしている場合は、実行している可能性がありますそのディレクトリまたはその親(/ home/wife)のいずれかのアクセス許可に問題が発生しました。これらのディレクトリは、サーバーがそれらにアクセスするために、少なくとも誰でも読み取り可能/実行可能である必要がある場合があります。

1
quack quixote