`cp`はファイル/ディレクトリに書き込めませんが、`cat>`と`echo`はうまくいきます。

`cp`はファイル/ディレクトリに書き込めませんが、`cat>`と`echo`はうまくいきます。

RHEL 7.2ベースのシステムでは、ファイルをsmbインストール場所にコピーしてみました。

cd /target
cp /tmp/foo .

この操作は、次のエラーメッセージで失敗します。

cp: cannot create regular file ‘./foo’: Operation not permitted

ゼロバイトサイズのファイルが作成されたことがわかります。

catまたはecho Thisisfoobar>foothisが正しく動作し、ファイルに私が望む内容が含まれている場合です。しかし、もっと奇妙なことは、私がやっても動作することです。

cd /target
echo Thisisfoobar>foo
cp /tmp/foo .

なぜこれがうまくいかないのかわかりません。私は2つのバリエーションstracefoo存在しないバリアント、存在し、foo上書きされたバリアント)を使用してこれを実行し、出力を比較しましたが、関連する違いは見つかりませんでした。唯一の違いは、以下のようにハンドルとファイルサイズです。

stat("./foo", {st_mode=S_IFREG|0700, st_size=12, ...}) = 0

私たちはこのマシンでselinuxを使用しません。上記のコマンドを実行する前に、a(実際にはCyber​​Arkによって課された制限であるルートなどの権限を提供します)を実行する必要があり、sudo admこのadmシェルでsmbについて簡単に説明しましたsu tu(またはsu - tu違いはありません)。 :tusmbがマウントされたデバイスに書き込み権限を持つグループのメンバーであり、tuActive Directoryのメンバーである必要があります。

ls -laZ /tmp/foo次の情報を生成します。

-rwx------ tu user ?                                foo

dmesgコマンドの実行時に出力を確認しましたが、追加された項目はありません。

関連情報