sedがcifsマウント共有のファイルに対する権限を変更するのはなぜですか?

sedがcifsマウント共有のファイルに対する権限を変更するのはなぜですか?

共有をマウントするために、次のfstabエントリを使用するArch Linuxシステムがあります。

//192.168.3.1/Documents        /mnt/  cifs    credentials=/home/tal/.smbcredentials,rw,x-systemd.automount,iocharset=utf8,file_mode=0600,dir_mode=0700,uid=tal 0 0

フォルダを共有するサーバーはWindowsサーバーであり、共有フォルダが配置されているパーティションはNTFSです。

上記のfstabエントリを使用すると、起動時に共有が正しくマウントされます。予想どおり、すべてのファイルは/mnt/「tal」に属するように見え、0600権限を持ちます。 / mntの下に新しく作成されたファイルもtal(rootまたはtalによって生成されたかどうか)の所有であり、期待どおりに0600権限を持ちます。

問題は、/ mntの下にファイルがある場合です。

-rw------- tal root 1000 test.txt

私はこれを実行しています:

sed -i -e '1,2d' test.txt

最初の2行を削除すると、次の2行が削除されますが、ファイル権限は次のように変更されます。

-r-------- tal root 1000 test.txt

sedがファイル権限を変更するのはなぜですか? test.txtのinodeを見ると、sedの-iオプションがファイルを変更するのではなく、新しいコンテンツでファイルを再生成することがわかりますが、これは問題ではありません。新しく作成されたすべてのファイルには/mnt0600権限が必要です。

テストでvimを使って同じファイルを修正し、inodeを確認してみました。 Vimはファイルを変更するのではなく、その場所からファイルを再生成しますが、vimがこれを行うと、権限はまだ0600です。

ベストアンサー1

関連性があるかどうかわからない:「macクライアントまたはposixアプリケーションがある場合」ユーザーメンバーシップで「デフォルトグループ」を指定するオプションがADユーザーにあったことを覚えておいてください。

おすすめ記事