/etc/sudoers.dのファイルを特定の順序で読みますか?

/etc/sudoers.dのファイルを特定の順序で読みますか?

/etc/sudoers.dのファイルを特定の順序で読みますか?それでは、このソートのルールは何ですか?

答え1

man sudoers次のコマンドを使用して正しい場所を見つけます。

$ LESS='+/sudo will suspend processing' man sudoers

ファイルは語彙順に解析されます。つまり、/etc/sudoers.d/01_first以前に解析されます/etc/sudoers.d/10_second。ソートは数値ソートではなく語彙ソートなので、ファイル名の前にゼロを一貫して配置する/etc/sudoers.d/1_whoopsと、この問題を回避できます。/etc/sudoers.d/10_second

タイトルの下の内容は次のとおりです。Including other files from within sudoers

$ LESS='+/Including other files from within sudoers' man sudoers

LC_COLLATE語彙の順序は「辞書順」とも呼ばれ、ロケール設定時に環境変数で定義された値C(数字、大文字、小文字)で与えられます。これは与えられた順序と同じですLC_COLLATE=C ls /etc/sudoers.d/

含まれているファイルのリストとそのファイルがロードされる特定の順序は、次のように公開できます。

$ visudo -c
/etc/sudoers: parsed OK
/etc/sudoers.d/README: parsed OK
/etc/sudoers.d/me: parsed OK
/etc/dirtest/10-defaults: parsed OK
/etc/dirtest/1one: parsed OK
/etc/dirtest/2one: parsed OK
/etc/dirtest/30-alias: parsed OK
/etc/dirtest/50-users: parsed OK
/etc/dirtest/Aone: parsed OK
/etc/dirtest/Bone: parsed OK
/etc/dirtest/aone: parsed OK
/etc/dirtest/bone: parsed OK
/etc/dirtest/zone: parsed OK
/etc/dirtest/~one: parsed OK
/etc/dirtest/éone: parsed OK
/etc/dirtest/ÿone: parsed OK

順序はUNICODEではなくCです。

答え2

sudoersマニュアルで(#includedirディレクティブについて):

#includedir /etc/sudoers.d

sudoパッケージマネージャまたはエディタの一時/バックアップファイルに問題が発生するのを防ぐために、文字/etc/sudoers.dで終わる~か、文字を含むファイル名をスキップして各ファイルを読みます。.ファイルは語彙順に解析されます。つまり、/etc/sudoers.d/01_first以前に解析されます/etc/sudoers.d/10_second。ソートは数値ソートではなく語彙ソートなので、ファイル名に一定数の先行ゼロを使用すると、この問題を回避できます/etc/sudoers.d/1_whoops/etc/sudoers.d/10_second

望むよりman 5 sudoers

上記の単語の順序は、またはロケールのls(または)からecho *取得した順序と同じです。CPOSIX

関連情報