私はシェルの作成を行ってきましたがaccess()
、ファイルが存在するかどうか、読み取り可能かどうかなどを確認するための推奨事項に出会いました。実装が非常に簡単で、stat()
. そのマニュアルページを見始めたとき、セキュリティホールにつながる可能性があるため、使用が推奨されていないことに気付きました。マニュアルページには次のように書かれています:
open(2) を使用して実際にファイルを開く前に、ユーザーがファイルを開く権限を持っているかどうかを確認するために access() を使用すると、セキュリティ ホールが作成されます。
これがどのように悪用されるか、またはopen()
ファイルをチェックした後にのみ使用することに関連するかどうかを知っている人はいますか? stat()
多くの人が代わりに使用すると言っていることは知っていますaccess()
が、特に私が使用したシェルでは、実装が非常に簡単です。