/media/photos.
の下のクライアントマシンにCIFSによってマウントされているsamba共有のサーバーがあります。
/media/photos
の所有権はroot:samba
であり、私のユーザーもグループsambaのメンバーです。サーバー上のsmb.confには、次のものがあります。
force create mode = 0664
force directory mode = 2775
force security mode = 0664
force directory security mode = 2775
したがって、/media/photos
ディレクトリにはdrwxrwxr-x
の権限があります。このディレクトリに作成するすべてのファイルには、rw-rw-r--
の権限があります。
ディレクトリを作成できます。ファイルを作成できます。作成したディレクトリに移動して、そこにファイルを作成できます。
ディレクトリツリーをコピーできません。私が発行するとき:
cp -r /home/frank/photos/Tymek/ /media/photos
ディレクトリ「Tymek」が作成されましたが、内部にファイルがありません。次のようなメッセージが表示されます
cp: cannot create regular file `/media/photos/Tymek/usg_10.bmp': Permission denied
Tymekディレクトリに移動して問題なくファイルを作成できたとしても。
このようなコマンドは機能します。
cp -r /home/frank/photos/Tymek/ /media/photos/
(末尾にスラッシュを追加)
しかし、Nautilusは最初の方法を使用しているようで、ディレクトリ全体のコピーに問題があり、私はそれが必要です。
これは役立つかもしれません。OSX10.5は、smb.confアクセス許可の魔法のセットが適用されるまで、Sambaで同様の問題を抱えていました。値を次のように置き換え/修正してみてください。
create mask = 0664
force create mode = 0664
security mask = 0000
force security mode = 0664
directory mask = 0775
force directory mode = 0775
directory security mask = 0000
force directory security mode = 0775
これで問題が解決するかどうかは保証できませんが、これらのMacクライアントで同じ問題を解決するには多くの調整が必要でした。
私も抱えていた問題のように聞こえます。ファイルのみを含み、他のサブフォルダを含まないフォルダをコピーし、そのフォルダが宛先に存在しない場合、最初は「許可が拒否されました」と表示されますが、すぐに問題なくコピーできることを確認してください。例えば。
$ mkdir testdir
$ touch testdir/somefile
$ rm -r /media/photos/testdir
$ cp -r testdir /media/photos
cp: cannot create regular file `/media/photos/testdir/somefile': Permission denied
$ cp -r testdir /media/photos
$ # same command works
これについては buntuforums:smbmount:通常のファイルを作成できません で説明されています。そこに「xrat」として投稿しました。これはまだバグだと思います(まだ報告する時間がありませんでした)。マウントオプションにnoperm
を追加すると役立ちます。しかし、それは汚い回避策です。
更新2009-11-17:バグレポートが見つかりました。ファインダーへの称賛 varanasi 。
さらに深く掘り下げたい場合は、別の提案があります。Sambaサーバーで、ファイルシステムがnoatime
またはrelatime
でマウントされているかどうかを確認してください。これは関連している可能性があります。そして、これがあなたのサーバーに当てはまるかどうか聞いてみたいです。
Nautilusでこれを行うことは特定の要件ですか?そうでない場合は、代わりにRSyncを使用しないのはなぜですか?この種の仕事では、cpよりも信頼性が高いと思います。
CIFSマウントをマウントすると、マウントに使用したアカウントのアクセス許可でマウントされます。
つまり、 アクセス許可はサーバーからのものであり、ローカルのものではありません。
マウントするアカウントは、サーバー側でグループsambaに追加する必要があります。
Fstabまたはマウント時にuid =およびgid =を設定しても、サーバー側の権限がローカル権限で上書きされることはありません。
古いバージョンのsambaでは、ファイルパーミッションユーザーとsambaユーザーの間に違いがあります。どのバージョンのSambaを使用していますか? sambaユーザーアカウントをどのように作成しましたか? CIFSサーバーでsambaユーザーを追加したSambaグループは何ですか?
最後に、cp -rを実行していて、Tymekディレクトリが作成されると、どのようなアクセス許可で作成されますか?