CIFS マウント ディレクトリの 1 つで、奇妙な動作が発生しました。たとえば、ファイルをディレクトリ にコピーします。cp /mnt/source/movie.mp4 /mnt/target/
最初は正常に実行されます。しかし、同じコマンド でファイルを上書きしようとすると、cp /mnt/source/movie.mp4 /mnt/target/
システムから Permission Denied が返されました。
これはファイル名の問題によるものだと思います。どうやら、ファイル名を変更すると、ファイルを上書きできるようです。その後、ファイル名を同じ名前に戻すと、問題はなくなりました。 を使用して元のファイル名と新しい名前の両方をチェックしましたfile -bi movie.mp4
が、どちらも が返されますvideo/mp4; charset=binary
。ファイル名の何が間違っているのでしょうか?
また、別のテストも行いました。ファイルを初めてコピーした後、コピー先のファイルの権限が 555 になっていることに気付きました。それを 777 に変更し、ソース フォルダーに戻ってcp
もう一度実行すると、上書きできるようになりました。ただし、最初にファイルの名前を変更した場合 (または独自の新しいファイルを作成した場合)、コピーされたコピー先のファイルの権限は 777 になり、コピー先のフォルダーに作成された新しいファイルにも 777 が付与されます。ソース ファイルのファイル名がコピー先のフォルダーのファイル権限に影響するのはなぜでしょうか。
環境に関する情報
対象フォルダのフォルダ権限は ですdrwxrwxrwx 2 root root 0 Apr 12 23:44 20180427031647
。コマンドroot
を実行するためにユーザーを使用していますcp
。
- カーネルバージョン: 3.10.0-1062.9.1.el7.x86_64
- CentOS バージョン: 7.7.1908 (コア)
- cifs-utils-6.2-10.el7.x86_64
fstab マウントパラメータ:
vers=2.0,credentials=/root/.credentials,file_mode=0777,dir_mode=0777,iocharset=utf8