blob: 51fa19992c19581c6a9bfcc041a5b0d170280335 [file] [log] [blame]
Eisuke Kawashima57f7d752024-07-12 07:46:43 +02001" Vim syntax file for login.defs(5)
Bram Moolenaar214641f2017-03-05 17:04:09 +01002" Language: login.defs(5) configuration file
3" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
4" Latest Revision: 2010-11-29
Eisuke Kawashima57f7d752024-07-12 07:46:43 +02005" 2024 Jul 12 by Vim Project: Update keywords
Bram Moolenaar42eeac32005-06-29 22:40:58 +00006
7if exists("b:current_syntax")
8 finish
9endif
10
11let s:cpo_save = &cpo
12set cpo&vim
13
Bram Moolenaar81af9252010-12-10 20:35:50 +010014syn match logindefsBegin display '^'
15 \ nextgroup=
16 \ logindefsComment,
17 \ @logindefsKeyword
18 \ skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +000019
Bram Moolenaar81af9252010-12-10 20:35:50 +010020syn region logindefsComment display oneline start='^\s*#' end='$'
21 \ contains=logindefsTodo,@Spell
Bram Moolenaar42eeac32005-06-29 22:40:58 +000022
Bram Moolenaar81af9252010-12-10 20:35:50 +010023syn keyword logindefsTodo contained TODO FIXME XXX NOTE
Bram Moolenaar42eeac32005-06-29 22:40:58 +000024
Bram Moolenaar81af9252010-12-10 20:35:50 +010025syn cluster logindefsKeyword contains=
26 \ logindefsBooleanKeyword,
27 \ logindefsEncryptKeyword,
28 \ logindefsNumberKeyword,
29 \ logindefsPathKeyword,
30 \ logindefsPathsKeyword,
31 \ logindefsStringKeyword
Bram Moolenaar42eeac32005-06-29 22:40:58 +000032
Bram Moolenaar81af9252010-12-10 20:35:50 +010033syn keyword logindefsBooleanKeyword contained
34 \ CHFN_AUTH
35 \ CHSH_AUTH
36 \ CREATE_HOME
37 \ DEFAULT_HOME
38 \ FAILLOG_ENAB
Eisuke Kawashima57f7d752024-07-12 07:46:43 +020039 \ FORCE_SHADOW
40 \ GRANT_AUX_GROUP_SUBIDS
Bram Moolenaar81af9252010-12-10 20:35:50 +010041 \ LASTLOG_ENAB
42 \ LOG_OK_LOGINS
43 \ LOG_UNKFAIL_ENAB
44 \ MAIL_CHECK_ENAB
45 \ MD5_CRYPT_ENAB
46 \ OBSCURE_CHECKS_ENAB
47 \ PASS_ALWAYS_WARN
48 \ PORTTIME_CHECKS_ENAB
49 \ QUOTAS_ENAB
50 \ SU_WHEEL_ONLY
51 \ SYSLOG_SG_ENAB
52 \ SYSLOG_SU_ENAB
53 \ USERGROUPS_ENAB
54 \ nextgroup=logindefsBoolean skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +000055
Bram Moolenaar81af9252010-12-10 20:35:50 +010056syn keyword logindefsBoolean contained yes no
Bram Moolenaar42eeac32005-06-29 22:40:58 +000057
Bram Moolenaar81af9252010-12-10 20:35:50 +010058syn keyword logindefsEncryptKeyword contained
59 \ ENCRYPT_METHOD
Eisuke Kawashima57f7d752024-07-12 07:46:43 +020060 \ HMAC_CRYPTO_ALGO
Bram Moolenaar81af9252010-12-10 20:35:50 +010061 \ nextgroup=logindefsEncryptMethod skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +000062
Bram Moolenaar81af9252010-12-10 20:35:50 +010063syn keyword logindefsEncryptMethod contained
Eisuke Kawashima57f7d752024-07-12 07:46:43 +020064 \ BCRYPT
Bram Moolenaar81af9252010-12-10 20:35:50 +010065 \ DES
66 \ MD5
67 \ SHA256
68 \ SHA512
Eisuke Kawashima57f7d752024-07-12 07:46:43 +020069 \ YESCRYPT
Bram Moolenaar42eeac32005-06-29 22:40:58 +000070
Bram Moolenaar81af9252010-12-10 20:35:50 +010071syn keyword logindefsNumberKeyword contained
Eisuke Kawashima57f7d752024-07-12 07:46:43 +020072 \ BCRYPT_MAX_ROUNDS
73 \ BCRYPT_MIN_ROUNDS
Bram Moolenaar81af9252010-12-10 20:35:50 +010074 \ ERASECHAR
75 \ FAIL_DELAY
76 \ GID_MAX
77 \ GID_MIN
78 \ KILLCHAR
79 \ LOGIN_RETRIES
80 \ LOGIN_TIMEOUT
81 \ MAX_MEMBERS_PER_GROUP
82 \ PASS_CHANGE_TRIES
83 \ PASS_MAX_DAYS
84 \ PASS_MIN_DAYS
85 \ PASS_WARN_AGE
86 \ PASS_MAX_LEN
87 \ PASS_MIN_LEN
88 \ SHA_CRYPT_MAX_ROUNDS
89 \ SHA_CRYPT_MIN_ROUNDS
Eisuke Kawashima57f7d752024-07-12 07:46:43 +020090 \ SUB_GID_COUNT
91 \ SUB_GID_MAX
92 \ SUB_GID_MIN
93 \ SUB_UID_COUNT
94 \ SUB_UID_MAX
95 \ SUB_UID_MIN
Bram Moolenaar81af9252010-12-10 20:35:50 +010096 \ SYS_GID_MAX
97 \ SYS_GID_MIN
98 \ SYS_UID_MAX
99 \ SYS_UID_MIN
100 \ UID_MAX
101 \ UID_MIN
102 \ ULIMIT
Eisuke Kawashima57f7d752024-07-12 07:46:43 +0200103 \ YESCRYPT_COST_FACTOR
Bram Moolenaar81af9252010-12-10 20:35:50 +0100104 \ nextgroup=@logindefsNumber skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000105
Eisuke Kawashima57f7d752024-07-12 07:46:43 +0200106syn keyword logindefsNumberKeyword contained
107 \ HOME_MODE
108 \ TTYPERM
109 \ UMASK
110 \ nextgroup=logindefsOctal,logindefsOctalError skipwhite
111
Bram Moolenaar81af9252010-12-10 20:35:50 +0100112syn cluster logindefsNumber contains=
113 \ logindefsDecimal,
114 \ logindefsHex,
115 \ logindefsOctal,
116 \ logindefsOctalError
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000117
Bram Moolenaar81af9252010-12-10 20:35:50 +0100118syn match logindefsDecimal contained '\<\d\+\>'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000119
Bram Moolenaar81af9252010-12-10 20:35:50 +0100120syn match logindefsHex contained display '\<0x\x\+\>'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000121
Bram Moolenaar81af9252010-12-10 20:35:50 +0100122syn match logindefsOctal contained display '\<0\o\+\>'
123 \ contains=logindefsOctalZero
124syn match logindefsOctalZero contained display '\<0'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000125
Bram Moolenaar81af9252010-12-10 20:35:50 +0100126syn match logindefsOctalError contained display '\<0\o*[89]\d*\>'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000127
Bram Moolenaar81af9252010-12-10 20:35:50 +0100128syn keyword logindefsPathKeyword contained
129 \ ENVIRON_FILE
130 \ FAKE_SHELL
131 \ FTMP_FILE
132 \ HUSHLOGIN_FILE
133 \ ISSUE_FILE
134 \ MAIL_DIR
135 \ MAIL_FILE
136 \ NOLOGINS_FILE
Eisuke Kawashima57f7d752024-07-12 07:46:43 +0200137 \ NONEXISTENT
Bram Moolenaar81af9252010-12-10 20:35:50 +0100138 \ SULOG_FILE
139 \ TTYTYPE_FILE
140 \ nextgroup=logindefsPath skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000141
Bram Moolenaar81af9252010-12-10 20:35:50 +0100142syn match logindefsPath contained '[[:graph:]]\+'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000143
Bram Moolenaar81af9252010-12-10 20:35:50 +0100144syn keyword logindefsPathsKeyword contained
145 \ CONSOLE
146 \ ENV_PATH
147 \ ENV_SUPATH
148 \ MOTD_FILE
149 \ nextgroup=logindefsPaths skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000150
Bram Moolenaar81af9252010-12-10 20:35:50 +0100151syn match logindefsPaths contained '[^:]\+'
152 \ nextgroup=logindefsPathDelim
153
154syn match logindefsPathDelim contained ':' nextgroup=logindefsPaths
155
156syn keyword logindefsStringKeyword contained
157 \ CHFN_RESTRICT
158 \ CONSOLE_GROUPS
159 \ ENV_HZ
160 \ ENV_TZ
161 \ LOGIN_STRING
Eisuke Kawashima57f7d752024-07-12 07:46:43 +0200162 \ PREVENT_NO_AUTH
Bram Moolenaar81af9252010-12-10 20:35:50 +0100163 \ SU_NAME
164 \ TTYGROUP
Bram Moolenaar81af9252010-12-10 20:35:50 +0100165 \ USERDEL_CMD
166 \ nextgroup=logindefsString skipwhite
167
168syn match logindefsString contained '[[:graph:]]\+'
169
170hi def link logindefsComment Comment
171hi def link logindefsTodo Todo
172hi def link logindefsKeyword Keyword
173hi def link logindefsBooleanKeyword logindefsKeyword
174hi def link logindefsEncryptKeyword logindefsKeyword
175hi def link logindefsNumberKeyword logindefsKeyword
176hi def link logindefsPathKeyword logindefsKeyword
177hi def link logindefsPathsKeyword logindefsKeyword
178hi def link logindefsStringKeyword logindefsKeyword
179hi def link logindefsBoolean Boolean
180hi def link logindefsEncryptMethod Type
181hi def link logindefsNumber Number
182hi def link logindefsDecimal logindefsNumber
183hi def link logindefsHex logindefsNumber
184hi def link logindefsOctal logindefsNumber
185hi def link logindefsOctalZero PreProc
186hi def link logindefsOctalError Error
187hi def link logindefsPath String
188hi def link logindefsPaths logindefsPath
189hi def link logindefsPathDelim Delimiter
190hi def link logindefsString String
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000191
192let b:current_syntax = "logindefs"
193
194let &cpo = s:cpo_save
195unlet s:cpo_save