1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# rules
## exif-has-capture-datetime
guards presence and validity of capture date and time
| option | type | required | description |
| --------------- | ---------------------------- | -------- | ------------------------------------------------ |
| `date` | `boolean \| null` | `no` | require capture date |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
| `min_year` | `integer \| null` | `no` | minimum allowed year for capture date |
| `reject_future` | `boolean \| null` | `no` | reject capture dates later than the current date |
| `time` | `boolean \| null` | `no` | require capture time |
## exif-has-coords
guards presence of gps coordinates
| option | type | required | description |
| ----------- | ---------------------------- | -------- | ------------------------------ |
| `latitude` | `boolean \| null` | `no` | require gps latitude |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
| `longitude` | `boolean \| null` | `no` | require gps longitude |
## fs-broken-symlink
guards that symbolic links resolve to existing targets
| option | type | required | description |
| ------- | ---------------------------- | -------- | ------------------------------ |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
## fs-file-empty
detects empty files
| option | type | required | description |
| ------- | ---------------------------- | -------- | ------------------------------ |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
## fs-file-no-exec
detects files without execute permission
| option | type | required | description |
| ------- | ------------------------------------------- | -------- | ------------------------------ |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
| `scope` | `"user" \| "group" \| "others" \| "anyone"` | `no` | scope to check (default: user) |
## fs-file-no-read
detects files without read permission
| option | type | required | description |
| ------- | ------------------------------------------- | -------- | ------------------------------ |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
| `scope` | `"user" \| "group" \| "others" \| "anyone"` | `no` | scope to check (default: user) |
## fs-file-no-write
detects files without write permission
| option | type | required | description |
| ------- | ------------------------------------------- | -------- | ------------------------------ |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
| `scope` | `"user" \| "group" \| "others" \| "anyone"` | `no` | scope to check (default: user) |
## fs-file-size
guards file size within range
| option | type | required | description |
| ---------- | ---------------------------- | -------- | ------------------------------ |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
| `max_size` | `integer \| null` | `no` | maximum allowed size in bytes |
| `min_size` | `integer \| null` | `no` | minimum allowed size in bytes |
## fs-permission
guards file permission mode, owner, and group
| option | type | required | description |
| ------- | ---------------------------- | -------- | ------------------------------------------------------------- |
| `group` | `string \| null` | `no` | enforce specific group |
| `level` | `"off" \| "warn" \| "error"` | `no` | severity level (default: warn) |
| `mode` | `string \| null` | `no` | enforce mode (octal or symbolic, e.g. "0644'" or "rw-r--r--") |
| `owner` | `string \| null` | `no` | enforce specific owner |