busybox chmod 03755は、ディレクトリ権限が正しく設定されているとディスク書き込みI / Oを生成しますか?

busybox chmod 03755は、ディレクトリ権限が正しく設定されているとディスク書き込みI / Oを生成しますか?

組み込みLinuxインストールで実行されるデーモンの起動スクリプトを作成しています。これはchmodBusyBox v1.24.2 からインポートされたことを意味します。

フラッシュメディアに不要な書き込みサイクルが発生したくありません。

そのため、ディレクトリで(with)を実行すると、ディスクへの書き込みchmod 03755I / Oが発生するかどうか疑問に思います。umask 022

つまり、ディレクトリ権限が正しく設定されていることを確認し、権限が正しくない場合にのみchmodを実行する必要がありますか?

chmodまたは、busyboxは権限を確認しないため、ディレクトリ権限の確認は努力の無駄です。すべてのディスク書き込みI/O権限に変更が必要ない場合はいつですか?

ベストアンサー1

chmod 03755ファイルを操作することを意味しますchmod("file", 03755)。その後、その操作に対する権限があることを確認し、可能であれば実行します(そうでない場合はエラーを返します)。これにより、少なくともファイルのctimeが更新されます。作成する監査記録など

busyboxが必要かどうかを確認するために苦労している場合、ctimeは更新されず、これはバグです。これはまた、バグになる可能性があるタスクの原子特性を排除します。

したがって、すぐに完了しなくても、記憶装置にいくつかの関連書込みが発生する。

だから自分で確認をしなければなりません。

statあなたのbusyboxバージョンでこのアプレットが有効になっている場合:

[ "$(stat -Lc%a file)" = 3755 ] || chmod 3755 file

おすすめ記事