Sudo
/etc/sudoers.d 中的文件是否按特定順序讀取?
/etc/sudoers.d 中的文件是否按特定順序讀取?如果是這樣,該排序的約定是什麼?
從
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。