わかりにくい権限の問題を解決する方法 - Rasp Pi、HFS+、SMB、Mac

わかりにくい権限の問題を解決する方法 - Rasp Pi、HFS+、SMB、Mac

Transmissionを実行するRaspberry Piがあります。デフォルトのデータパーティションはUSBドライブにあります。 Macに接続する必要がある場合に備えて、パーティションはHFS +(hfsplus)としてフォーマットされています。 MacはSambaを介してデータパーティションに接続します。

Transmissionには、ダウンロードが完了した後にスクリプトを実行する機能があります。しかし、これはダウンロードがまだシード中である可能性があることを認識していません。代わりに、私のユーザー名 "myuser"でクローンジョブが実行されています。これはダウンロードが完了したことを確認し、まだシード中であることを確認し、そうでない場合はダウンロードを処理するスクリプトをトリガーします。

cronjob は、次のようにcrontab -emyuser の下に設定されます。

*/5 * * * * /media/Data/torrents/torrent-clean

スクリプトは新しいディレクトリを作成し、必要に応じてファイルをそのディレクトリに移動します。ほとんどのスクリプトには、新しいファイルとディレクトリの名前の形式を指定し、急流デーモンにアクセスすることが含まれます。関連する行は次のとおりです。

mkdir "${target}/${folder_title}"
mv "$the_video" "${target}/${folder_title}/${video_title}"

フルスクリプト:http://pastebin.com/JqqRMRp8

ディレクトリは、ユーザー/グループ「myuser users」を使用するスクリプトによって生成され、ファイルは「myuser myuser」によって生成されます。 (なぜ?)

drwxr-xr-x 1 myuser users 3 Nov 28 10:33 some.directory
-rw-rw-r-- 1 myuser myuser 48477071 Nov 28 10:06 some.file.ABC.mp4

Macで新しいファイルにアクセスして名前を変更しようとすると、奇妙なことが起こります。

  • 名前から大文字の「C」を削除すると成功します。
  • 名前に小文字の「c」を追加すると、時には小文字の「c」が許可されたり、時には再び大文字の「C」に変更されることがあります。 (なぜ?)
  • 大文字の「ABC」を小文字の「abc」に変更すると、権限エラーが発生します。 (なぜ?)

名前が正常に変更されると、権限が変更されます。

-rw-rw-r-- 1 myuser myuser 48477071 Nov 28 10:06 some.file.ABC.mp4
-rwxrwxr-x 1 myuser myuser 48477071 Nov 28 10:06 some.file.ABC.mp4 (Why?)

ディレクトリ名を変更すると、似ていますが、少し異なる状況が発生します。

  • 名前に大文字の「A」を追加すると成功します。
  • 大文字「A」を大文字「E」に変更すると成功します。
  • 大文字「E」を小文字「e」に変更すると、許可されますが、再び大文字「E」に変更されます。
  • 大文字の「E」を小文字の「e」に戻すと、権限エラーが発生します。 (なぜ?)

名前が正常に変更されると、権限が変更されます。

from: drwxr-xr-x 1 myuser users 3 Nov 28 10:33 some.directory
to: drwxrwsr-x 1 myuser users 3 Nov 28 10:33 some.directoryE  (Why?)

これらのいくつかはSMBによって引き起こされるかもしれません。私のsmb.confの関連部分:

[Pi2_Data]
path = /media/Data
valid users = @users
force group = users
create mask = 0775
force create mode = 0775
security mask = 0775
force security mode = 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775
browseable = yes
writeable = yes
guest ok = no
read only = no

洞察力をありがとうございます。

ベストアンサー1

~によるとウィキペディア(最後の段落):

HFSは生成または名前変更されたファイルの大文字と小文字を保存しますが、実行時に大文字と小文字を区別しません。

実際、これは通常、名前を保持しながらファイル名を変更できないことを意味します。 Sambaで実行すると(少なくとも30年間使用されている大文字と小文字が区別されたファイルシステムが必要になる場合があります)、問題はさらに悪化します。

要件の1つがディスクをMacに直接接続する必要がある場合は、MacにOSXFuseをインストールし、ドライブをext3としてフォーマットすることを検討してください。

おすすめ記事