lckpwdf()
とulckpwdf()
は、シャドーパスワードファイルに直接アクセスするアプリケーションにのみ使用することを目的としていますか?getspent()の前にlckpwdf()を呼び出す必要がありますか?
より正確には、私の質問は:私は、このようなgetspnam()
やgetspent()
などの通常のAPIを呼び出す場合、...等、私が最初にlckpwdf()
を呼び出すべきである、またはそれは自動的にgetspnam()
によって行われますか?
lckpwdf()
とulckpwdf()
は、シャドーパスワードファイルに直接アクセスするアプリケーションにのみ使用することを目的としていますか?getspent()の前にlckpwdf()を呼び出す必要がありますか?
より正確には、私の質問は:私は、このようなgetspnam()
やgetspent()
などの通常のAPIを呼び出す場合、...等、私が最初にlckpwdf()
を呼び出すべきである、またはそれは自動的にgetspnam()
によって行われますか?
lckpwdf()
を使用する必要はありません。シャドウファイルを変更する予定がない場合は、lckpwdf()
を使用する必要はありません。 lckpwdf()
がファイルに排他ロックを作成しました。これにより、ロックを解放するまでファイルにアクセスしようとしているすべてのプロセスが待機します。シャドーファイルを読み込むためには、これは非常に不必要です。
ファイルを変更する場合は、変更前にlckpwdf()
に一度電話し、変更して処理してから、ulckpwdf()
に電話してください。また、例外が発生した場合は、必ずulckpwdf()
に電話してください。
ファイルを変更しています。 –
その後、変更の前にlckpwdf()を呼び出し、その後にulckpwdf()を呼び出す必要があります。投稿が修正されました。 –
setspent()とputspent()は自動的にファイルをロックしません。 –