mirror of
https://github.com/webmin/webmin.git
synced 2026-02-06 07:22:20 +00:00
Compare commits
531 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9dc7367dd6 | ||
|
|
1e8caabc50 | ||
|
|
64720c97ab | ||
|
|
94cdddf447 | ||
|
|
460ea14a24 | ||
|
|
dcd0daac42 | ||
|
|
2ae5345117 | ||
|
|
c87b5c6e3d | ||
|
|
4fa781805f | ||
|
|
95180b7f9d | ||
|
|
379f7aaf0b | ||
|
|
f79d1040f3 | ||
|
|
9c0d9268e1 | ||
|
|
1cbe773f6f | ||
|
|
27c09c00ec | ||
|
|
e69c6699ac | ||
|
|
c419c339db | ||
|
|
835175b098 | ||
|
|
7ebd6ae4fe | ||
|
|
89b8c53666 | ||
|
|
94e8f32e47 | ||
|
|
1456de9649 | ||
|
|
9a445e00b9 | ||
|
|
771050ba7c | ||
|
|
2de661cfd7 | ||
|
|
0e774af597 | ||
|
|
c22e70a0d1 | ||
|
|
0ee9cd2808 | ||
|
|
2b92ba535e | ||
|
|
0a765063c3 | ||
|
|
911f9fd46d | ||
|
|
c67c945e58 | ||
|
|
91f03a2109 | ||
|
|
5aed345808 | ||
|
|
34468b5eed | ||
|
|
6f581fb0f1 | ||
|
|
4f497ea7b8 | ||
|
|
30577a4161 | ||
|
|
c2d4a90639 | ||
|
|
f6706036b9 | ||
|
|
a330e913ee | ||
|
|
4b6df81888 | ||
|
|
ff42df7647 | ||
|
|
cca627a50e | ||
|
|
6ca8341261 | ||
|
|
591981563a | ||
|
|
7737685835 | ||
|
|
efe00dc8e3 | ||
|
|
cae85a9ce8 | ||
|
|
0ce2ce7236 | ||
|
|
041ed3ace4 | ||
|
|
375436621e | ||
|
|
019b0f0625 | ||
|
|
24b2bcd81b | ||
|
|
b7ede39420 | ||
|
|
d41b963859 | ||
|
|
fd857573ee | ||
|
|
6389fe1787 | ||
|
|
b67b98f6b5 | ||
|
|
2ca5006c6c | ||
|
|
d7652f88db | ||
|
|
873519e64e | ||
|
|
e44934a153 | ||
|
|
8c3ccb1503 | ||
|
|
0e77146a48 | ||
|
|
1ed3f58598 | ||
|
|
23873a5c2b | ||
|
|
a6052e1ae9 | ||
|
|
122c573f94 | ||
|
|
0de4ab8c29 | ||
|
|
2ba05ab405 | ||
|
|
0916b7ad99 | ||
|
|
c43c6a4e27 | ||
|
|
00abf8494a | ||
|
|
529112cd7a | ||
|
|
6365b6bdcd | ||
|
|
a395c32ec6 | ||
|
|
06387a59fa | ||
|
|
4cc65beacc | ||
|
|
a2de217c25 | ||
|
|
f6320c27e2 | ||
|
|
d625028e8f | ||
|
|
7da8c4dd66 | ||
|
|
7b272988e8 | ||
|
|
4d47bc8442 | ||
|
|
2ea940145b | ||
|
|
377bcacff8 | ||
|
|
1379d2cc35 | ||
|
|
37a5504f51 | ||
|
|
ea8b2fc1bf | ||
|
|
2ee32e71cf | ||
|
|
08a1f3db74 | ||
|
|
5b0606c9fc | ||
|
|
06752583db | ||
|
|
0d1f01d511 | ||
|
|
4f6b28f95c | ||
|
|
32ecbaaf02 | ||
|
|
f93251569b | ||
|
|
3176c4cd45 | ||
|
|
7ed31959e4 | ||
|
|
72234a7669 | ||
|
|
44822d651a | ||
|
|
cde3eb1bb1 | ||
|
|
f1c000d1e5 | ||
|
|
4f564b9e2a | ||
|
|
2215ee4cf8 | ||
|
|
483a9a7c5f | ||
|
|
7e75fdfa16 | ||
|
|
086e38676e | ||
|
|
54c1f071fc | ||
|
|
72a6acb7ef | ||
|
|
abe3a4858b | ||
|
|
a41915611e | ||
|
|
e4cb1a4af5 | ||
|
|
cf4c57e947 | ||
|
|
d5f9824741 | ||
|
|
5129dfbe79 | ||
|
|
4b6f58eac8 | ||
|
|
e34875ec0b | ||
|
|
40db0575f6 | ||
|
|
74d463be57 | ||
|
|
1a99e197dc | ||
|
|
19e4df6f0e | ||
|
|
49d4e0f4f3 | ||
|
|
504a7d78c7 | ||
|
|
3ecc241b54 | ||
|
|
8160e5f777 | ||
|
|
3df2f306f7 | ||
|
|
3027952e0d | ||
|
|
505d380fbb | ||
|
|
65c28ad2ab | ||
|
|
da6b642778 | ||
|
|
2d49c19716 | ||
|
|
b7c85e32c7 | ||
|
|
d2283223c3 | ||
|
|
10881d9171 | ||
|
|
770cc24f57 | ||
|
|
7b4f8f5b40 | ||
|
|
e5fe901147 | ||
|
|
017e6585b6 | ||
|
|
81d70f5cc9 | ||
|
|
72283092da | ||
|
|
0e98b4a40a | ||
|
|
b52d5c9986 | ||
|
|
47b5ee31c0 | ||
|
|
37fe61d6f3 | ||
|
|
fcaf0ffb35 | ||
|
|
cd2cb0f5d6 | ||
|
|
8bb3e372ba | ||
|
|
581ddd1491 | ||
|
|
14610a77f1 | ||
|
|
c7285f5d11 | ||
|
|
f1e5428e50 | ||
|
|
c9a9fdeedf | ||
|
|
7482794f07 | ||
|
|
675e9ec513 | ||
|
|
133b511a75 | ||
|
|
0b1fac9f51 | ||
|
|
989c759036 | ||
|
|
2afd4a1dc5 | ||
|
|
e46c7ceb44 | ||
|
|
d9cc4509d2 | ||
|
|
faa65976d7 | ||
|
|
53e306860e | ||
|
|
c64c04d3e0 | ||
|
|
e7c4c3abd9 | ||
|
|
194d48bd9e | ||
|
|
75efeb1d16 | ||
|
|
99a63d9295 | ||
|
|
ef7e2cd933 | ||
|
|
ad043d235e | ||
|
|
678cc38013 | ||
|
|
f6090947ba | ||
|
|
d53ce67174 | ||
|
|
0cfb09e436 | ||
|
|
1a4d525ef2 | ||
|
|
8bfaf2b488 | ||
|
|
af8d5d24a1 | ||
|
|
af65582191 | ||
|
|
87fe720d04 | ||
|
|
c74a867652 | ||
|
|
e4738380e1 | ||
|
|
7df549f91d | ||
|
|
7e9905ce3c | ||
|
|
594a874a4b | ||
|
|
b047220417 | ||
|
|
01165959d3 | ||
|
|
888b0f27f5 | ||
|
|
5e5a7b9cc3 | ||
|
|
0c25d52a6d | ||
|
|
d220823080 | ||
|
|
fa1929966c | ||
|
|
0effafd397 | ||
|
|
01b0a01f90 | ||
|
|
9da01f6a70 | ||
|
|
aafbe392ba | ||
|
|
8ca3de3c28 | ||
|
|
817244241a | ||
|
|
7316d87049 | ||
|
|
368d7e0297 | ||
|
|
721a1f47b3 | ||
|
|
4e668e19cb | ||
|
|
509e01eb90 | ||
|
|
2c1f20fb1d | ||
|
|
703802065f | ||
|
|
6243d45f3f | ||
|
|
de2a5e9ff2 | ||
|
|
43afab0d84 | ||
|
|
8d013ec69c | ||
|
|
7face4b2be | ||
|
|
26d05f0437 | ||
|
|
f7da281d72 | ||
|
|
af33c38d17 | ||
|
|
5abc9b538b | ||
|
|
34781fd651 | ||
|
|
ea69c0978b | ||
|
|
7f2c27df29 | ||
|
|
034a3e9f8c | ||
|
|
fdc689ad5d | ||
|
|
07c560cdf6 | ||
|
|
586af08e08 | ||
|
|
7ba6250482 | ||
|
|
f814546239 | ||
|
|
191827e425 | ||
|
|
9fef0d060b | ||
|
|
acc9f93fef | ||
|
|
527b8b1467 | ||
|
|
bf4e69bc54 | ||
|
|
60351e59c7 | ||
|
|
c031ac4b76 | ||
|
|
4ffd3753a2 | ||
|
|
b6a5b4b230 | ||
|
|
5a21764743 | ||
|
|
ca6739cda3 | ||
|
|
add5d65a6b | ||
|
|
55db94413b | ||
|
|
f21e731422 | ||
|
|
5030fab70e | ||
|
|
0b70e3676e | ||
|
|
5f6fe082e2 | ||
|
|
6a953d9670 | ||
|
|
766ccf57de | ||
|
|
4e02a9823d | ||
|
|
da43d7185c | ||
|
|
4c19095949 | ||
|
|
c07dd3cddf | ||
|
|
9fe942e958 | ||
|
|
7ba14d9de4 | ||
|
|
c455b93573 | ||
|
|
ba263882a6 | ||
|
|
f5927981a6 | ||
|
|
7dcce2a64f | ||
|
|
f9d1278a00 | ||
|
|
771e303e37 | ||
|
|
18e165e925 | ||
|
|
09c125ad9a | ||
|
|
7127ac2072 | ||
|
|
b9507b0d77 | ||
|
|
fe265aa65b | ||
|
|
f003b029b6 | ||
|
|
41c5bd30ea | ||
|
|
f5549dbe39 | ||
|
|
0b416e09e8 | ||
|
|
e01770a0a1 | ||
|
|
bcec484ebf | ||
|
|
314489fae7 | ||
|
|
87854875b7 | ||
|
|
da0b587b2b | ||
|
|
3290f4c11f | ||
|
|
7a3782a680 | ||
|
|
e1d7fc3c14 | ||
|
|
b5d1826ef7 | ||
|
|
41908574ee | ||
|
|
46f5f9715f | ||
|
|
e9a5ea229c | ||
|
|
f8a2f9595d | ||
|
|
867fda60dc | ||
|
|
04c217c97a | ||
|
|
e787caf228 | ||
|
|
45d5dec5a3 | ||
|
|
1efb2eb206 | ||
|
|
4aceed5c8d | ||
|
|
f046efed20 | ||
|
|
d7a9fdb431 | ||
|
|
814cf262fe | ||
|
|
0ce247a1aa | ||
|
|
82a0a3e5c0 | ||
|
|
245709dca0 | ||
|
|
944b6d728c | ||
|
|
59b59b2e43 | ||
|
|
77c84a7539 | ||
|
|
9716326acd | ||
|
|
89331739f3 | ||
|
|
2b0e28852e | ||
|
|
12ef84ff3e | ||
|
|
85e80edf91 | ||
|
|
8e44c145b9 | ||
|
|
a1f53a5a47 | ||
|
|
b91a867744 | ||
|
|
dd5fa1295b | ||
|
|
6bb5b79d80 | ||
|
|
1494007307 | ||
|
|
edd32a0819 | ||
|
|
79877df57c | ||
|
|
641053c5b2 | ||
|
|
b56761c41b | ||
|
|
580578ecbc | ||
|
|
813e6dd4ad | ||
|
|
49aa15c138 | ||
|
|
640bc8495c | ||
|
|
36ed9b2212 | ||
|
|
37f0eb519e | ||
|
|
0d251ff103 | ||
|
|
b99637bab3 | ||
|
|
801a71d172 | ||
|
|
d5aac92059 | ||
|
|
55d98674b1 | ||
|
|
6f0b58ee4d | ||
|
|
63da3c8e39 | ||
|
|
1b21a404bf | ||
|
|
464bc50e62 | ||
|
|
406b3f7bdc | ||
|
|
8b7af771f8 | ||
|
|
aa71f4d8e1 | ||
|
|
a37185b170 | ||
|
|
97e40304ac | ||
|
|
77e6bc2a00 | ||
|
|
eaf63ebc48 | ||
|
|
2c194271fc | ||
|
|
7c0b0f0a9f | ||
|
|
fe8eb50f2d | ||
|
|
cb2d221508 | ||
|
|
c65de713f7 | ||
|
|
2ff3afea6a | ||
|
|
25d7fe4299 | ||
|
|
42a50ab078 | ||
|
|
bc0eea7a01 | ||
|
|
34dbddd616 | ||
|
|
785a1186c6 | ||
|
|
249a205f27 | ||
|
|
7799c6e72f | ||
|
|
960718733a | ||
|
|
da826eaa5f | ||
|
|
25a471e4ef | ||
|
|
c387b955b9 | ||
|
|
919baa1343 | ||
|
|
23b966e7da | ||
|
|
036f695e19 | ||
|
|
1b32109ae6 | ||
|
|
0f895e893c | ||
|
|
f7691fb715 | ||
|
|
0c37e2c626 | ||
|
|
e17abe5e33 | ||
|
|
deb042812b | ||
|
|
2b1ee8bc77 | ||
|
|
9215dde41a | ||
|
|
b59f108286 | ||
|
|
5708320472 | ||
|
|
5e8b5ca17b | ||
|
|
42e3c2c251 | ||
|
|
a7123cb069 | ||
|
|
92b8db19a5 | ||
|
|
a4a6a30234 | ||
|
|
ebd30bd0ef | ||
|
|
a56772ceba | ||
|
|
0b803265f7 | ||
|
|
7774c3cd1f | ||
|
|
e88d7bf265 | ||
|
|
860ae2f15e | ||
|
|
33f6a5d1a2 | ||
|
|
979aac7178 | ||
|
|
8bfed13f60 | ||
|
|
f73482ed0a | ||
|
|
80ea8d8b2e | ||
|
|
9c831d62f8 | ||
|
|
8019ac7cab | ||
|
|
ae2e6d4df2 | ||
|
|
2f85ff61de | ||
|
|
0372fdcc2c | ||
|
|
74db8b7542 | ||
|
|
dad7e2f052 | ||
|
|
01dcde3e62 | ||
|
|
dcd57e44c0 | ||
|
|
5a69c9ddbd | ||
|
|
1db625a87e | ||
|
|
1ec2127363 | ||
|
|
fdcfb5495e | ||
|
|
46814d9e2f | ||
|
|
4f1b8c0ae0 | ||
|
|
3f65039494 | ||
|
|
837e04945b | ||
|
|
a80b49b01c | ||
|
|
12fe0f611b | ||
|
|
99400d02d8 | ||
|
|
e9dc1726ae | ||
|
|
ad0bddd300 | ||
|
|
d0b19dbb75 | ||
|
|
7fa58e88c1 | ||
|
|
65e99558ad | ||
|
|
8f1441ae54 | ||
|
|
c3a5efb914 | ||
|
|
005a90c79d | ||
|
|
4dc9188d86 | ||
|
|
2dc7d94a74 | ||
|
|
85aada310a | ||
|
|
5a19fe2e6c | ||
|
|
55688e6be4 | ||
|
|
24cf47dde0 | ||
|
|
33d45b19d4 | ||
|
|
95b846c6e5 | ||
|
|
0ba71128f1 | ||
|
|
258490b256 | ||
|
|
b29bda4f93 | ||
|
|
c7a941c9af | ||
|
|
97c410db42 | ||
|
|
1ff6413c04 | ||
|
|
34de35e281 | ||
|
|
9aa6081cd8 | ||
|
|
947187c0c2 | ||
|
|
47611a5fb7 | ||
|
|
2cf8380a52 | ||
|
|
2b2b2d55e7 | ||
|
|
a1c5db779d | ||
|
|
f559c1a078 | ||
|
|
cbec150213 | ||
|
|
b1c0c16f4b | ||
|
|
8cb1f61426 | ||
|
|
1ca22a3c10 | ||
|
|
db801188ab | ||
|
|
9fe8bd9f93 | ||
|
|
6ea05708b9 | ||
|
|
3c90c1465a | ||
|
|
f546f23f91 | ||
|
|
2322feb9ae | ||
|
|
91273bfe18 | ||
|
|
c2b396cfbd | ||
|
|
c3f3db868e | ||
|
|
c0a43d0aa5 | ||
|
|
b5243ac90b | ||
|
|
bb3f72cf85 | ||
|
|
082c0644d6 | ||
|
|
7a67864827 | ||
|
|
bdb22b37dc | ||
|
|
cb24e776b8 | ||
|
|
c816d1385f | ||
|
|
a0618b3650 | ||
|
|
a01ceec394 | ||
|
|
99f73bd80f | ||
|
|
ab522f84fc | ||
|
|
4d77d319dc | ||
|
|
e184759e85 | ||
|
|
1ed16816de | ||
|
|
4f51ed32a6 | ||
|
|
4b664a541d | ||
|
|
dbd99caaee | ||
|
|
54fc94e32b | ||
|
|
b8333ec442 | ||
|
|
f99d1d20e0 | ||
|
|
c1ebe147ac | ||
|
|
1348fd1ef6 | ||
|
|
71fb93f840 | ||
|
|
236c09f3c0 | ||
|
|
54bb4804fc | ||
|
|
0ebbe5660a | ||
|
|
155f98977a | ||
|
|
24f731aac8 | ||
|
|
6a8df969d7 | ||
|
|
3300164e7e | ||
|
|
207e0a6dce | ||
|
|
f95f2cef79 | ||
|
|
6dc037a271 | ||
|
|
1379dc8288 | ||
|
|
28ac57ac21 | ||
|
|
1f906be5cb | ||
|
|
2312f3379d | ||
|
|
adb526466a | ||
|
|
88d914721b | ||
|
|
ce18bbe753 | ||
|
|
3edbc9b90f | ||
|
|
2b362c05b1 | ||
|
|
8acd741d78 | ||
|
|
d74d8f045c | ||
|
|
e078bbc930 | ||
|
|
30dd9d1fb4 | ||
|
|
8b8b196d31 | ||
|
|
f8e042beac | ||
|
|
b45191de98 | ||
|
|
21fc5ebd2c | ||
|
|
ca79327451 | ||
|
|
49c927ae80 | ||
|
|
81e89ae384 | ||
|
|
52cb2b38e0 | ||
|
|
9c77c762b1 | ||
|
|
5a234fce9e | ||
|
|
8f49a258b6 | ||
|
|
7e06a2382e | ||
|
|
dee77082ff | ||
|
|
0fd3627e96 | ||
|
|
e17ee3cc8c | ||
|
|
aec4a83306 | ||
|
|
a02935d9e4 | ||
|
|
5bd77486d9 | ||
|
|
ee35b62079 | ||
|
|
21bb772fd3 | ||
|
|
87994b0e6a | ||
|
|
be87b67857 | ||
|
|
cb195701b3 | ||
|
|
dd8bb9bb15 | ||
|
|
ed72b57c4a | ||
|
|
6bc9041a52 | ||
|
|
36b15f2615 | ||
|
|
ce0da729ee | ||
|
|
84c6b0d831 | ||
|
|
e50c011c08 | ||
|
|
6df7e9b67c | ||
|
|
1dd3d51333 | ||
|
|
16c4ca3740 | ||
|
|
f6634503dd | ||
|
|
4f386ddc84 | ||
|
|
5bf35ef9cd | ||
|
|
d46a07d74b | ||
|
|
a7cf8d49dd | ||
|
|
4368bf87bb | ||
|
|
6551501b7e | ||
|
|
9449111200 | ||
|
|
442fc7fd0f | ||
|
|
3eff4a2533 | ||
|
|
f643ce80d0 | ||
|
|
f84f99abb1 | ||
|
|
a84fe682b7 | ||
|
|
c273cf02f2 |
2797
JSON/PP.pm
Normal file
2797
JSON/PP.pm
Normal file
File diff suppressed because it is too large
Load Diff
2
README
2
README
@@ -1,4 +1,4 @@
|
||||
Webmin Version 1.830
|
||||
Webmin Version 1.850
|
||||
--------------------
|
||||
Webmin is a web-based interface for system administration for Unix.
|
||||
Using any browser that supports tables and forms, you can setup user
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1672,8 +1672,9 @@ authenticate as, as array references.
|
||||
=cut
|
||||
sub get_unixauth
|
||||
{
|
||||
my ($miniserv) = @_;
|
||||
my @rv;
|
||||
my @ua = split(/\s+/, $_[0]->{'unixauth'});
|
||||
my @ua = $miniserv->{'unixauth'} ? split(/\s+/, $miniserv->{'unixauth'}) : ( );
|
||||
foreach my $ua (@ua) {
|
||||
if ($ua =~ /^(\S+)=(\S+)$/) {
|
||||
push(@rv, [ $1, $2 ]);
|
||||
|
||||
5
acl/config.info.fr.UTF-8
Normal file
5
acl/config.info.fr.UTF-8
Normal file
@@ -0,0 +1,5 @@
|
||||
order=Trier les utilisateurs et les groupes par,1,0-Ordre dans le fichier,1-Nom
|
||||
line1=Options configurables,11
|
||||
ssleay=Chemin d'accès au programme openssl ou ssleay,3,Automatique
|
||||
line2=Configuration du système,11
|
||||
display=Mode d'affichage des utilisateurs et des groupes,1,1-Noms seulement,0-Noms et modules
|
||||
@@ -16,6 +16,7 @@ print &ui_table_start($text{'sql_header'}, undef, 2);
|
||||
|
||||
my ($proto, $user, $pass, $host, $prefix, $args) =
|
||||
&split_userdb_string($miniserv{'userdb'});
|
||||
$proto ||= '';
|
||||
|
||||
# Build inputs for MySQL backend
|
||||
my @mysqlgrid = ( );
|
||||
@@ -91,7 +92,7 @@ print &ui_table_row(undef,
|
||||
[ 'ldap', $text{'sql_ldap'}, $ldapgrid ] ]), 2);
|
||||
|
||||
print &ui_table_row(undef,
|
||||
&ui_radio("addto", int($miniserv{'userdb_addto'}),
|
||||
&ui_radio("addto", int($miniserv{'userdb_addto'} || 0),
|
||||
[ [ 0, $text{'sql_addto0'} ],
|
||||
[ 1, $text{'sql_addto1'} ] ]), 2);
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ my @webmins = map { [ $_->{'name'} ] }
|
||||
sort { $a->{'name'} cmp $b->{'name'} } &list_users();
|
||||
foreach my $ua (@unixauth, [ ], [ ]) {
|
||||
$utable .= &ui_columns_row([
|
||||
&ui_select("mode_$i", $ua->[0] eq "" ? 0 :
|
||||
&ui_select("mode_$i", !defined($ua->[0]) ? 0 :
|
||||
$ua->[0] eq "" ? 0 :
|
||||
$ua->[0] eq "*" ? 1 :
|
||||
$ua->[0] =~ /^\@/ ? 2 : 3,
|
||||
[ [ 0, " " ],
|
||||
|
||||
@@ -110,7 +110,7 @@ if ($miniserv{'extauth'}) {
|
||||
push(@opts, [ 5, $text{'edit_extauth'} ]);
|
||||
}
|
||||
push(@opts, [ 4, $text{'edit_lock'} ]);
|
||||
my ($lockbox, $tempbox);
|
||||
my ($lockbox, $tempbox) = ("", "");
|
||||
if ($passmode == 1) {
|
||||
$lockbox = &ui_checkbox("lock", 1, $text{'edit_templock'},
|
||||
$user{'pass'} =~ /^\!/ ? 1 : 0);
|
||||
@@ -152,7 +152,7 @@ print &ui_table_row($text{'edit_real'},
|
||||
# Storage type
|
||||
if ($in{'user'}) {
|
||||
print &ui_table_row($text{'edit_proto'},
|
||||
$text{'edit_proto_'.$user{'proto'}});
|
||||
$text{'edit_proto_'.($user{'proto'} || '')});
|
||||
}
|
||||
|
||||
print &ui_hidden_table_end("rights");
|
||||
@@ -186,7 +186,7 @@ if ($access{'lang'}) {
|
||||
if ($access{'cats'}) {
|
||||
# Show categorized modules?
|
||||
print &ui_table_row($text{'edit_notabs'},
|
||||
&ui_radio("notabs", int($user{'notabs'}),
|
||||
&ui_radio("notabs", $user{'notabs'} || 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 2, $text{'no'} ],
|
||||
[ 0, $text{'default'} ] ]));
|
||||
@@ -262,8 +262,8 @@ if ($access{'ips'}) {
|
||||
[ 1, $text{'edit_allow'}."<br>" ],
|
||||
[ 2, $text{'edit_deny'}."<br>" ] ]).
|
||||
&ui_textarea("ips",
|
||||
join("\n", split(/\s+/, $user{'allow'} ? $user{'allow'}
|
||||
: $user{'deny'})),
|
||||
join("\n", split(/\s+/, $user{'allow'} ||
|
||||
$user{'deny'} || "")),
|
||||
4, 30));
|
||||
}
|
||||
|
||||
@@ -277,7 +277,7 @@ if (&supports_rbac() && $access{'mode'} == 0) {
|
||||
|
||||
if ($access{'times'}) {
|
||||
# Show allowed days of the week
|
||||
my %days = map { $_, 1 } split(/,/, $user{'days'});
|
||||
my %days = map { $_, 1 } split(/,/, $user{'days'} || '');
|
||||
my $daysels = "";
|
||||
for(my $i=0; $i<7; $i++) {
|
||||
$daysels .= &ui_checkbox("days", $i, $text{'day_'.$i},
|
||||
@@ -290,10 +290,10 @@ if ($access{'times'}) {
|
||||
$daysels);
|
||||
|
||||
# Show allow hour/minute range
|
||||
my ($hf, $mf) = split(/\./, $user{'hoursfrom'});
|
||||
my ($ht, $mt) = split(/\./, $user{'hoursto'});
|
||||
my ($hf, $mf) = split(/\./, $user{'hoursfrom'} || '');
|
||||
my ($ht, $mt) = split(/\./, $user{'hoursto'} || '');
|
||||
print &ui_table_row($text{'edit_hours'},
|
||||
&ui_radio("hours_def", $user{'hoursfrom'} eq '' ? 1 : 0,
|
||||
&ui_radio("hours_def", $hf eq '' ? 1 : 0,
|
||||
[ [ 1, $text{'edit_allhours'} ],
|
||||
[ 0, &text('edit_selhours',
|
||||
&ui_textbox("hours_hfrom", $hf, 2),
|
||||
@@ -337,14 +337,14 @@ my @mlist = grep { $access{'others'} || $has{$_->{'dir'}} ||
|
||||
$mcan{$_->{'dir'}} } &list_module_infos();
|
||||
my @links = ( &select_all_link("mod", 0, $text{'edit_selall'}),
|
||||
&select_invert_link("mod", 0, $text{'edit_invert'}) );
|
||||
my @cats = &unique(map { $_->{'category'} || "" } @mlist);
|
||||
my @cats = &unique(map { $_->{'category'} || '' } @mlist);
|
||||
my %catnames;
|
||||
&read_file("$config_directory/webmin.catnames", \%catnames);
|
||||
my $grids = "";
|
||||
foreach my $c (sort { $b cmp $a } @cats) {
|
||||
my @cmlist = grep { $_->{'category'} eq $c } @mlist;
|
||||
my @cmlist = grep { ($_->{'category'} || '') eq $c } @mlist;
|
||||
$grids .= "<b>".($catnames{$c} ||
|
||||
$text{'category_'.$c})."</b><br>\n";
|
||||
$text{'category_'.$c})."</b><br>\n";
|
||||
my @grid = ( );
|
||||
my $sw = 0;
|
||||
foreach my $m (@cmlist) {
|
||||
|
||||
5
acl/help/ips.fr.UTF-8.html
Normal file
5
acl/help/ips.fr.UTF-8.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<header>Contrôle d'accès IP</header>
|
||||
|
||||
Le contrôle d'accès utilisateur par adresse IP fonctionne de la même manière que le contrôle d'accès IP global dans le module Configuration de Webmin. Seul un utilisateur ayant passé le contrôle global sera vérifié de nouveau avec ces règles.
|
||||
|
||||
<footer>
|
||||
414
acl/lang/fr
414
acl/lang/fr
@@ -1,348 +1,358 @@
|
||||
acl_acl=Peut modifier le contrôle d'accès au module ?
|
||||
acl_acl=Peut modifier le contrôle d'accès au module ?
|
||||
acl_all=Tous les modules
|
||||
acl_cats=Peut changer de catégorie ?
|
||||
acl_cats=Peut changer de catégorie ?
|
||||
acl_cert=Peut demander un certificat ?
|
||||
acl_chcert=Peut changer le nom du certificat SSL ?
|
||||
acl_config=Peut modifier la configuration du module ?
|
||||
acl_create=Peut créer de nouveaux utilisateurs ?
|
||||
acl_create=Peut créer de nouveaux utilisateurs ?
|
||||
acl_delete=Peut supprimer des utilisateurs ?
|
||||
acl_egroup=Vous n'êtes pas autorisé à modifier les ACL des groupes
|
||||
acl_emod=Vous n'êtes pas autorisé à modifier le contrôle d'accès de ce module
|
||||
acl_err=Impossible d'enregistrer les contrôles d'accès
|
||||
acl_euser=Vous n'êtes pas autorisé à modifier le contrôle d'accès pour cet utilisateur
|
||||
acl_egroup=Vous n'êtes pas autorisé à modifier les ACL des groupes
|
||||
acl_emod=Vous n'êtes pas autorisé à modifier le contrôle d'accès de ce module
|
||||
acl_err=Impossible d'enregistrer les contrôles d'accès
|
||||
acl_euser=Vous n'êtes pas autorisé à modifier le contrôle d'accès pour cet utilisateur
|
||||
acl_gall=Tous les groupes
|
||||
acl_gassign=Peut affecter des utilisateurs à des groupes
|
||||
acl_gassign=Peut affecter des utilisateurs à des groupes
|
||||
acl_gnone=Aucun
|
||||
acl_gr=Membres de $1
|
||||
acl_groups=Peut modifier des groupes ?
|
||||
acl_gsel=Sélectionnés...
|
||||
acl_ips=Peut changer le contrôle d'accès IP ?
|
||||
acl_gsel=Sélectionnés...
|
||||
acl_ips=Peut changer le contrôle d'accès IP ?
|
||||
acl_lang=Peut changer de langue ?
|
||||
acl_mods=Peut accorder un accès à
|
||||
acl_options=Options du contrôle d'accès du module $1
|
||||
acl_mods=Peut accorder un accès ?
|
||||
acl_options=Options du contrôle d'accès du module $1
|
||||
acl_others=Peut voir les modules inaccessibles ?
|
||||
acl_own=Seulement ses propres modules
|
||||
acl_pass=Peut modifier les restrictions du mot de passe ?
|
||||
acl_perms=Les utilisateurs récemment créés obtiennent
|
||||
acl_perms_0=Contrôle d'accès au module par défaut (sans restriction)
|
||||
acl_perms_1=Même contrôle d'accès au module que le créateur
|
||||
acl_rbac=Récupérer les paramètres de contrôle d'accès depuis RBAS ?
|
||||
acl_rbacyes=Oui (remplace les paramètres ci-dessous)
|
||||
acl_perms=Les utilisateurs récemment créés obtiennent
|
||||
acl_perms_0=Contrôle d'accès au module par défaut (sans restriction)
|
||||
acl_perms_1=Même contrôle d'accès au module que le créateur
|
||||
acl_rbac=Récupérer les paramètres de contrôle d'accès depuis RBAS ?
|
||||
acl_rbacyes=Oui (remplace les paramètres ci-dessous)
|
||||
acl_rename=Peut renommer des utilisateurs ?
|
||||
acl_reset=Réinitialiser en mode plein accès
|
||||
acl_sel=Modules sélectionnés...
|
||||
acl_reset=Réinitialiser en mode plein accès
|
||||
acl_sel=Modules sélectionnés...
|
||||
acl_sessions=Peut afficher et annuler des sessions de connexion ?
|
||||
acl_sql=peut configurer la base de donnée du groupe et de l'utilisateur ?
|
||||
acl_sql=peut configurer la base de donnée du groupe et de l'utilisateur ?
|
||||
acl_switch=Peut basculer vers d'autres utilisateurs ?
|
||||
acl_sync=Peut configurer la synchronisation des utilisateurs ?
|
||||
acl_theme=Peut changer le thème personnel ?
|
||||
acl_times=Peut changer les heures de connexion autorisées ?
|
||||
acl_title=Contrôle d'accès du module
|
||||
acl_theme=Peut changer le thème personnel ?
|
||||
acl_times=Peut changer les heures de connexion autorisées ?
|
||||
acl_title=Contrôle d'accès du module
|
||||
acl_title2=$2 pour l'utilisateur $1
|
||||
acl_title3=du groupe $2 pour l'utilisateur $1
|
||||
acl_uall=Tous les utilisateurs
|
||||
acl_unix=Peut configurer l'authentification Unix ?
|
||||
acl_usel=Utilisateurs sélectionnés...
|
||||
acl_users=Utilisateurs pouvant être modifiés
|
||||
acl_usel=Utilisateurs sélectionnés...
|
||||
acl_users=Utilisateurs pouvant être modifiés
|
||||
acl_uthis=Cet utilisateur
|
||||
cert_already=<b>Avertissement</<b> : vous utilisez déjà le certificat $1.
|
||||
cert_already=<b>Avertissement</<b> : vous utilisez déjà le certificat $1.
|
||||
cert_c=Code du pays
|
||||
cert_cn=Votre nom
|
||||
cert_done=Votre certificat pour $1 a été généré avec succès.
|
||||
cert_ebrowser=Webmin ne sait pas comment émettre des certificats client pour votre navigateur ( $1 )
|
||||
cert_eca=Impossible de configurer l'Autorité de Certification : $1
|
||||
cert_ekey=Une nouvelle clé SSL n'a pas été soumise par votre navigateur : peut-être ne gère-t-il pas les certificats client SSL.
|
||||
cert_email=Adresse électronique
|
||||
cert_header=Détails du nouveau certificat
|
||||
cert_done=Votre certificat pour $1 a été généré avec succès.
|
||||
cert_ebrowser=Webmin ne sait pas comment émettre des certificats client pour votre navigateur ( $1 )
|
||||
cert_eca=Impossible de configurer l'Autorité de Certification : $1
|
||||
cert_ekey=Une nouvelle clé SSL n'a pas été soumise par votre navigateur : peut-être ne gère-t-il pas les certificats client SSL.
|
||||
cert_email=Adresse électronique
|
||||
cert_header=Détails du nouveau certificat
|
||||
cert_install=Installez votre certificat dans le navigateur
|
||||
cert_issue=Émettre un certificat
|
||||
cert_key=Taille de la clé
|
||||
cert_msg=Ce formulaire vous permet de demander un certificat SSL client qui servira ensuite à vous accorder l'accès à Webmin au lieu de vos nom d'utilisateur et mot de passe. Cette méthode est plus sûre, mais comme l'authentification est automatique, vous ne pourrez plus changer d'utilisateur quand vous ferez appel au certificat.
|
||||
cert_issue=Émettre un certificat
|
||||
cert_key=Taille de la clé
|
||||
cert_msg=Ce formulaire vous permet de demander un certificat SSL client qui servira ensuite à vous accorder l'accès à Webmin au lieu de vos nom d'utilisateur et mot de passe. Cette méthode est plus sûre, mais comme l'authentification est automatique, vous ne pourrez plus changer d'utilisateur quand vous ferez appel au certificat.
|
||||
cert_o=Organisation
|
||||
cert_ou=Département
|
||||
cert_pickup=<a href='$1'>Cliquez ici pour sélectionner votre certificat et l'installer dans votre navigateur</a>
|
||||
cert_sp=État
|
||||
cert_ou=Département
|
||||
cert_pickup=<a href='$1'>Cliquez ici pour sélectionner votre certificat et l'installer dans votre navigateur</a>
|
||||
cert_sp=État
|
||||
cert_title=Demande de certificat
|
||||
convert_0=Tous les utilisateurs
|
||||
convert_1=Seulement les utilisateurs
|
||||
convert_2=Tous sauf les utilisateurs
|
||||
convert_3=Utilisateurs du groupe
|
||||
convert_4=Utilisateurs dont l'UID est dans l'intervalle
|
||||
convert_added=$1 est ajouté
|
||||
convert_desc=Ce formulaire vous permet de convertir des utilisateurs Unix existants en utilisateurs Webmin. Les droits d'accès de chaque nouvel utilisateur Webmin seront déterminés par le groupe sélectionné ci-dessous.
|
||||
convert_ecannot=Vous n'êtes pas autorisé à convertir un utilisateur Unix
|
||||
convert_added=$1 est ajouté
|
||||
convert_desc=Ce formulaire vous permet de convertir des utilisateurs Unix existants en utilisateurs Webmin. Les droits d'accès de chaque nouvel utilisateur Webmin seront déterminés par le groupe sélectionné ci-dessous.
|
||||
convert_ecannot=Vous n'êtes pas autorisé à convertir un utilisateur Unix
|
||||
convert_egroup=Le groupe Unix n'existe pas
|
||||
convert_emax=UID maximal invalide
|
||||
convert_emin=UID minimal invalide
|
||||
convert_err=Impossible de convertir les utilisateurs
|
||||
convert_eusers=Aucun utilisateur à convertir saisi
|
||||
convert_eusers=Aucun utilisateur à convertir saisi
|
||||
convert_ewgroup=Pas de groupe Webmin de ce type
|
||||
convert_ewgroup2=Vous n'êtes pas autorisé à affecter de nouveaux utilisateurs à ce groupe
|
||||
convert_exists=$1 existe déjà
|
||||
convert_ewgroup2=Vous n'^étes pas autorisé à affecter de nouveaux utilisateurs à ce groupe
|
||||
convert_exists=$1 existe déjà
|
||||
convert_group=Affecter de nouveaux utilisateurs au groupe Webmin
|
||||
convert_invalid=$1 n'est pas un nom d'utilisateur Webmin valide
|
||||
convert_msg=Conversion des utilisateurs Unix en cours...
|
||||
convert_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe avant d'effectuer la conversion, afin de définir des droits d'accès pour les utilisateurs convertis.
|
||||
convert_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe avant d'effectuer la conversion, afin de définir des droits d'accès pour les utilisateurs convertis.
|
||||
convert_ok=Convertir maintenant
|
||||
convert_skip=$1 est ignoré
|
||||
convert_sync=Utiliser à l'avenir le même mot de passe que l'utilisateur Unix ?
|
||||
convert_skip=$1 est ignoré
|
||||
convert_sync=Utiliser à l'avenir le même mot de passe que l'utilisateur Unix ?
|
||||
convert_title=Conversion des utilisateurs
|
||||
cpass_dict=est un mot du dictionnaire
|
||||
cpass_minsize=Doit avoir $1 lettre de long au minimum
|
||||
cpass_name=Contient le nom de l'utilisateur
|
||||
cpass_notre=Corresponds à un modèle non permis
|
||||
cpass_old=Les vieux mots de passes ne peuvent pas être réutilisés
|
||||
cpass_re=Ne corresponds pas au modèle requis
|
||||
cpass_spellcmd=Ni les commandes $1 ni $2 requises pour vérifier les mots du dictionnaires ne sont installées
|
||||
delete_ecannot=Vous n'êtes pas autorisé à supprimer des utilisateurs
|
||||
cpass_notre=Corresponds à un modèle non permis
|
||||
cpass_old=Les vieux mots de passes ne peuvent pas être réutilisés
|
||||
cpass_re=Ne correspond pas au modèle requis
|
||||
cpass_spellcmd=Ni les commandes $1 ni $2 requises pour vérifier les mots du dictionnaires ne sont installées
|
||||
delete_ecannot=Vous n'êtes pas autorisé à supprimer des utilisateurs
|
||||
delete_err=Impossible de supprimer cet utilisateur
|
||||
delete_eself=Vous ne pouvez pas vous supprimer vous-même
|
||||
delete_euser=Vous n'êtes pas autorisé à supprimer cet utilisateur
|
||||
edit_all=Autoriser à partir de toutes les adresses
|
||||
delete_eself=Vous ne pouvez pas vous supprimer vous-même
|
||||
delete_euser=Vous n'êtes pas autorisé à supprimer cet utilisateur
|
||||
edit_all=Autoriser à partir de toutes les adresses
|
||||
edit_alldays=Tous les jours
|
||||
edit_allhours=Tout le temps
|
||||
edit_allow=Autoriser uniquement à partir des adresses répertoriées
|
||||
edit_allow=Autoriser uniquement à partir des adresses répertoriées
|
||||
edit_cert=Nom du certificat SSL
|
||||
edit_chars=Lettres
|
||||
edit_clone=Cloner
|
||||
edit_cloneof=Clôner l'utilisateur Webmin
|
||||
edit_days=Jours autorisés dans la semaine
|
||||
edit_deny=Interdire à partir des adresses répertoriées
|
||||
edit_dont=Inchangé
|
||||
edit_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
|
||||
edit_egone=L'utilisateur sélectionné n'existe plus !
|
||||
edit_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
edit_cloneof=Clôner l'utilisateur Webmin
|
||||
edit_days=Jours autorisés dans la semaine
|
||||
edit_deny=Interdire à partir des adresses répertoriées
|
||||
edit_dont=Inchangé
|
||||
edit_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
|
||||
edit_egone=L'utilisateur sélectionné n'existe plus !
|
||||
edit_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
edit_extauth=Programme d'authentification externe
|
||||
edit_global=Permissions pour tout les modules
|
||||
edit_group=Membre du groupe
|
||||
edit_groupmods=(en plus des modules du groupe)
|
||||
edit_hide=Masquer si inutilisé
|
||||
edit_hours=Heures autorisées dans la journée
|
||||
edit_invert=Inverser la sélection
|
||||
edit_ipdesc=Le contrôle d'accès IP utilisateur fonctionne de la même manière que le contrôle d'accès IP global du module de configuration de
|
||||
edit_ips=Contrôle d'accès IP
|
||||
edit_hide=Masquer si inutilisé
|
||||
edit_hours=Heures autorisées dans la journée
|
||||
edit_invert=Inverser la sélection
|
||||
edit_ipdesc=Le contrôle d'accès IP utilisateur fonctionne de la même manière que le contrôle d'accès IP global du module de configuration de
|
||||
edit_ips=Contrôle d'accès IP
|
||||
edit_lang=Langue
|
||||
edit_lock=Aucun mot de passe accepté
|
||||
edit_lock=Aucun mot de passe accepté
|
||||
edit_log=Voir les journaux
|
||||
edit_logout=Durée d'inactivité avant déconnexion
|
||||
edit_logout=Durée d'inactivité avant déconnexion
|
||||
edit_mins=minutes
|
||||
edit_minsize=Langueur minimum du mot de passe
|
||||
edit_mods=Les modules Webmin disponibles
|
||||
edit_modsg=Les modules Webmin disponibles (en y ajoutant ceux du groupe)
|
||||
edit_modules=Modules
|
||||
edit_none=Aucun
|
||||
edit_notabs=Classer les modules par catégories ?
|
||||
edit_overlayglobal=Aucun - utiliser les thème par défaut
|
||||
edit_notabs=Classer les modules par catégories ?
|
||||
edit_overlayglobal=Aucun - utiliser les thème par défaut
|
||||
edit_pam=Authentification PAM
|
||||
edit_pass=Mot de passe
|
||||
edit_passlocked=le mot de passe n'a pas été modifier depuis $1 jours - le compte est verrouillé !
|
||||
edit_passmax=le mot de passe n'a pas été modifier depuis $1 jours -il doit etre modifier à la prochaine connexion.
|
||||
edit_passlocked=le mot de passe n'a pas été modifier depuis $1 jours - le compte est verrouillé !
|
||||
edit_passmax=le mot de passe n'a pas été modifier depuis $1 jours -il doit etre modifier à la prochaine connexion.
|
||||
edit_proto_ldap=Le serveur LDAP
|
||||
edit_proto_mysql=La base de donnée MySQL
|
||||
edit_proto_postgresql=La base de donnée PostgreSQL
|
||||
edit_rbacdeny=Mode d'accès RBAC
|
||||
edit_rbacdeny0=RBAC ne contrôle que le module ACLs sélectionné
|
||||
edit_rbacdeny1=RBAC contrôle tous les modules et les ACLs
|
||||
edit_readonly=Cet utilisateur Webmin ne doit pas être édité car il est géré directement par le module $1. <a href='$2'>Cliquez ici</a> pour ignorer cet avertissement et éditer tout de même cet utilisateur, mais attention car tous les changements manuels peuvent être redéfinis !
|
||||
edit_real=Nom réel
|
||||
edit_return=à l'utilisateur Webmin
|
||||
edit_proto_mysql=La base de donnée MySQL
|
||||
edit_proto_postgresql=La base de donnée PostgreSQL
|
||||
edit_rbacdeny=Mode d'accès RBAC
|
||||
edit_rbacdeny0=RBAC ne contrôle que le module ACLs sélectionné
|
||||
edit_rbacdeny1=RBAC contrôle tous les modules et les ACLs
|
||||
edit_readonly=Cet utilisateur Webmin ne doit pas être édité car il est géré directement par le module $1. <a href='$2'>Cliquez ici</a> pour ignorer cet avertissement et éditer tout de même cet utilisateur, mais attention car tous les changements manuels peuvent être redéfinis !
|
||||
edit_real=Nom réel
|
||||
edit_return=à l'utilisateur Webmin
|
||||
edit_return2=Groupe Webmin
|
||||
edit_rights=Droits d'accès de l'utilisateur Webmin
|
||||
edit_rights=Droits d'accès de l'utilisateur Webmin
|
||||
edit_risk=Niveau de risque
|
||||
edit_risk_high=Super-utilisateur
|
||||
edit_risk_low=Utilisateur normal
|
||||
edit_risk_medium=Utilisateur administrateur
|
||||
edit_same=Identique au mot de passe Unix
|
||||
edit_selall=Tout sélectionner
|
||||
edit_seldays=Uniquement les jours sélectionnés
|
||||
edit_selhours=De $1:$2 à $3:$4
|
||||
edit_selall=Tout sélectionner
|
||||
edit_seldays=Uniquement les jours sélectionnés
|
||||
edit_selhours=De $1:$2 à $3:$4
|
||||
edit_set=Remplacer par
|
||||
edit_skill=Niveau de compétence
|
||||
edit_skill=Niveau de compétence
|
||||
edit_switch=Changer d'utilisateur
|
||||
edit_templock=Verrouillé temporairement
|
||||
edit_theme=Thème personnel
|
||||
edit_themedef=Ancien thème Webmin
|
||||
edit_themeglobal=À partir de la configuration Webmin
|
||||
edit_templock=Verrouillé temporairement
|
||||
edit_theme=Thème personnel
|
||||
edit_themedef=Ancien thème Webmin
|
||||
edit_themeglobal=à partir de la configuration Webmin
|
||||
edit_title=Modification d'un utilisateur Webmin
|
||||
edit_title2=Création d'un utilisateur Webmin
|
||||
edit_title2=Création d'un utilisateur Webmin
|
||||
edit_ui=les option de l'interface utilisateur
|
||||
edit_unix=Authentification Unix
|
||||
edit_user=Nom d'utilisateur
|
||||
gdelete_desc=Voulez-vous vraiment supprimer le groupe $1 et les utilisateurs qui en sont membres : $2 ?
|
||||
gdelete_ecannot=Vous n'êtes pas autorisé à supprimer des groupes
|
||||
gdelete_ecannot=Vous n'êtes pas autorisé à supprimer des groupes
|
||||
gdelete_err=Impossible de supprimer le groupe
|
||||
gdelete_esub=Les groupes comportant des sous-groupes ne peuvent pas être supprimés
|
||||
gdelete_esub=Les groupes comportant des sous-groupes ne peuvent pas être supprimés
|
||||
gdelete_euser=Vous ne pouvez pas supprimer votre propre groupe
|
||||
gdelete_ok=Supprimer le groupe
|
||||
gdelete_title=Suppression d'un groupe
|
||||
gdeletes_err=Echec de suppression des groupes
|
||||
gdeletes_ok=Effacer les groupes
|
||||
gdeletes_rusure=Etes-vous sur de vouloir effacer les $1 groupes sélectionnés, et les $2 utilisateurs qu'ils contiennent ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
gdeletes_rusure=Etes-vous sur de vouloir effacer les $1 groupes sélectionnés, et les $2 utilisateurs qu'ils contiennent ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
gdeletes_title=Effacer les groupes
|
||||
gdeletes_users=Groupes sélectionnés : $1
|
||||
gdeletes_users=Groupes sélectionnés : $1
|
||||
gedit_desc=Description du Groupe
|
||||
gedit_ecannot=Vous n'êtes pas autorisé à modifier des groupes
|
||||
gedit_egone=Le Groupe sélectionné n'existe plus !
|
||||
gedit_ecannot=Vous n'êtes pas autorisé à modifier des groupes
|
||||
gedit_egone=Le Groupe sélectionné n'existe plus !
|
||||
gedit_group=Nom du groupe
|
||||
gedit_members=Membre des utilisateurs et des groupes
|
||||
gedit_modules=Modules des membres
|
||||
gedit_rights=Droits d'accès du groupe Webmin
|
||||
gedit_rights=Droits d'accèês du groupe Webmin
|
||||
gedit_title=Modification d'un groupe Webmin
|
||||
gedit_title2=Création d'un groupe Webmin
|
||||
gsave_edesc=Description Invalide - le caractère : n'est pas permis
|
||||
gsave_edup=Ce nom de groupe est déjà utilisé
|
||||
gedit_title2=Création d'un groupe Webmin
|
||||
gsave_edesc=Description Invalide - le caractère : n'est pas permis
|
||||
gsave_edup=Ce nom de groupe est déjà utilisé
|
||||
gsave_ename=Nom du groupe manquant ou invalide
|
||||
gsave_enamewebmin=Le nom de groupe 'webmin' est réservé pour une utilisation interne
|
||||
gsave_enamewebmin=Le nom de groupe 'webmin' est réservé pour une utilisation interne
|
||||
gsave_err=Impossible d'enregistrer le groupe
|
||||
hide_clone=(Cloner $1)
|
||||
hide_desc=Les modules suivants seront supprimés de la liste d'accès des modules pour $1 car leurs serveurs correspondants ne sont pas installés sur votre système...
|
||||
hide_desc2=Soyez conscient que ces modules ne réapparaîtront pas automatiquement si les serveurs correspondants sont installés. Vous devrez accorder l'accès manuellement à l'aide de ce module.
|
||||
hide_none=Rien à masquer - $1 n'a accès à aucun module dont les serveurs correspondants ne sont pas installés sur votre système.
|
||||
hide_desc=Les modules suivants seront supprimés de la liste d'accès des modules pour $1 car leurs serveurs correspondants ne sont pas installés sur votre système...
|
||||
hide_desc2=Soyez conscient que ces modules ne réapparaîotront pas automatiquement si les serveurs correspondants sont installés. Vous devrez accorder l'accès manuellement à l'aide de ce module.
|
||||
hide_none=Rien à masquer - $1 n'a accès à aucun module dont les serveurs correspondants ne sont pas installés sur votre système.
|
||||
hide_ok=Masquer les modules maintenant
|
||||
hide_title=Masquage des modules inutilisés
|
||||
hide_title=Masquage des modules inutilisés
|
||||
index_cert=Demander un certificat SSL
|
||||
index_certmsg=Cliquez sur ce bouton pour demander un certificat SSL qui vous permettra de vous connecter à Webmin de manière sûre sans avoir besoin de saisir un nom d'utilisateur et un mot de passe.
|
||||
index_certmsg=Cliquez sur ce bouton pour demander un certificat SSL qui vous permettra de vous connecter à Webmin de manière sûre sans avoir besoin de saisir un nom d'utilisateur et un mot de passe.
|
||||
index_convert=Convertir des utilisateurs Unix en utilisateurs Webmin
|
||||
index_create=Créer un nouvel utilisateur Webmin
|
||||
index_delete=Effacer la sélection
|
||||
index_create=Créer un nouvel utilisateur Webmin
|
||||
index_delete=Effacer la sélection
|
||||
index_edit=Modifier l'ACL du module :
|
||||
index_gcreate=Créer un nouveau groupe d'utilisateurs
|
||||
index_gcreate=Créer un nouveau groupe d'utilisateurs
|
||||
index_global=ACL globale
|
||||
index_group=Groupe
|
||||
index_groups=Groupes Webmin
|
||||
index_members=Membres
|
||||
index_modgroups=Modules du groupe $1
|
||||
index_modules=Modules
|
||||
index_nogroups=Aucun groupe Webmin modifiable n'est défini
|
||||
index_nogroups=Aucun groupe Webmin modifiable n'est défini
|
||||
index_none=Aucun
|
||||
index_nousers=Aucun utilisateur Webmin modifiable n'est défini
|
||||
index_nousers=Aucun utilisateur Webmin modifiable n'est défini
|
||||
index_rbac=Configuration RBAC
|
||||
index_rcreate=Créer un nouvel utilisateur à niveau de risque
|
||||
index_return=à la liste des utilisateurs
|
||||
index_rcreate=Créer un nouvel utilisateur à niveau de risque
|
||||
index_return=à la liste des utilisateurs
|
||||
index_sessions=Afficher les sessions de connexion
|
||||
index_sync=Configurer la synchronisation des utilisateurs Unix
|
||||
index_title=Utilisateurs Webmin
|
||||
index_unix=Configurer l'authentification des utilisateurs Unix
|
||||
index_user=Utilisateur
|
||||
index_users=Utilisateurs Webmin
|
||||
log_acl=Mis à jour l'accès de l'$1 pour l'utilisateur $2
|
||||
log_cert=Émis un certificat pour l'utilisateur $1
|
||||
log_clone=Cloné l'utilisateur Webmin $1 en $2
|
||||
log_create=Créé l'utilisateur Webmin $1
|
||||
log_create_g=Créé le groupe Webmin $1
|
||||
log_delete=Supprimé l'utilisateur Webmin $1
|
||||
log_delete_g=Supprimé le groupe Webmin $1
|
||||
log_delete_groups=$1 est effacé des groupes Webmin
|
||||
log_delete_users=$1 est effacé des utilisateurs Webmin
|
||||
log_modify=Modifié l'utilisateur Webmin $1
|
||||
log_modify_g=Modifié le groupe Webmin $1
|
||||
log_rename=Renommé l'utilisateur Webmin $1 en $2
|
||||
log_rename_g=Renommé le groupe Webmin $1 en $2
|
||||
log_reset=Réinitialisé l'accès de l'$1 pour l'utilisateur $2
|
||||
log_switch=Basculé vers l'utilisateur Webmin $1
|
||||
log_acl=Mis à jour l'accès de l'$1 pour l'utilisateur $2
|
||||
log_cert=émis un certificat pour l'utilisateur $1
|
||||
log_clone=Cloné l'utilisateur Webmin $1 en $2
|
||||
log_create=Créé l'utilisateur Webmin $1
|
||||
log_create_g=Créé le groupe Webmin $1
|
||||
log_delete=Supprimé l'utilisateur Webmin $1
|
||||
log_delete_g=Supprimé le groupe Webmin $1
|
||||
log_delete_groups=$1 est effacé des groupes Webmin
|
||||
log_delete_users=$1 est effacé des utilisateurs Webmin
|
||||
log_modify=Modifié l'utilisateur Webmin $1
|
||||
log_modify_g=Modifié le groupe Webmin $1
|
||||
log_rename=Renommé l'utilisateur Webmin $1 en $2
|
||||
log_rename_g=Renommé le groupe Webmin $1 en $2
|
||||
log_reset=Réinitialiser l'accès de l'$1 pour l'utilisateur $2
|
||||
log_switch=Basculé vers l'utilisateur Webmin $1
|
||||
make_done=... accompli
|
||||
make_err=l'opération de création des tables pour l'utilisateur et le groupe a échouée.
|
||||
make_failed=... Échec de la création : $1
|
||||
make_still=Quelques problèmes ont étés rencontrés même après la création de la table : $1
|
||||
make_title=création des Tables de Utilisateur et des Groupes
|
||||
make_err=l'opération de création des tables pour l'utilisateur et le groupe a échoué.
|
||||
make_failed=... échec de la création : $1
|
||||
make_still=Quelques problèmes ont étés rencontrés même après la création de la table : $1
|
||||
make_title=création des Tables de Utilisateur et des Groupes
|
||||
makedn_done=... accompli
|
||||
makedn_title=Création de LDAP DN
|
||||
makedn_title=Création de LDAP DN
|
||||
pass_days=jours
|
||||
pass_ecannot=Vous n'êtes pas autorisé à éditer les restrictions des mots de passes
|
||||
pass_nooldblock=Réutilisation du mot de passe illimitée
|
||||
pass_pass=mots de passes
|
||||
pass_ecannot=Vous n'êtes pas autorisé à éditer les restrictions des mots de passes
|
||||
pass_nooldblock=Réutilisation illimitée du mot de passe
|
||||
pass_pass=mots de passe
|
||||
pass_title=Restrictions de mot de passe
|
||||
rbac_desc=L'intégration RBAC dans Webmin offre la possibilité pour un module utilisateur de déterminer les permissions ACL depuis une base de données RBAC (Role Based Access Control), plutôt que depuis les fichiers de configuration de Webmin. Une fois que le support RBAC est activé, tout utilisateur pour qui <b>$edit_rbacdeny1</b> l'option est sélectionnée verra ses possibilités déterminée par RBAC plutôt que par les paramètres de contôle d'accès de Webmin.
|
||||
rbac_ecpan=Vous n'avez pas accès à la page de modules Perl de Webmin pour installer le module $1 nécessaire pour l'intégration de RBAC.
|
||||
rbac_eperl=Le module Perl $1 nécessaire pour l'intégration RBAC n'est pas installé. <a href='$2'>Cliquez ici</a> pour l'installer maintenant.
|
||||
rbac_esolaris=RBAC n'est supporté actuellement que sur Solaris, et ne peut pas être utilisé sur ce système $1.
|
||||
rbac_ok=L'intégration de RBAC est disponible sur ce sytème et peut être activée pour les utilisateurs en éditant la page "Utilisateur Webmin".
|
||||
rbac_desc=L'intégration RBAC dans Webmin offre la possibilité pour un module utilisateur de déterminer les permissions ACL depuis une base de données RBAC (Role Based Access Control), plutôt que depuis les fichiers de configuration de Webmin. Une fois que le support RBAC est activé, tout utilisateur pour qui <b>$edit_rbacdeny1</b> l'option est sélectionnée verra ses possibilités déterminée par RBAC plutôt que par les paramètres de contôle d'accès de Webmin.
|
||||
rbac_ecpan=Vous n'avez pas accès à la page de modules Perl de Webmin pour installer le module $1 nécessaire pour l'intégration de RBAC.
|
||||
rbac_eperl=Le module Perl $1 nécessaire pour l'intégration RBAC n'est pas installé. <a href='$2'>Cliquez ici</a> pour l'installer maintenant.
|
||||
rbac_esolaris=RBAC n'est supporté actuellement que sur Solaris, et ne peut pas être utilisé sur ce système $1.
|
||||
rbac_ok=L'intégration de RBAC est disponible sur ce sytème et peut être activée pour les utilisateurs en éditant la page "Utilisateur Webmin".
|
||||
rbac_title=Configuration RBAC
|
||||
save_ecolon=Les mots de passe ne peuvent pas contenir le caractère « : »
|
||||
save_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
|
||||
save_edays=Pas de jours autorisés sélectionnés
|
||||
save_edeny=Vous ne pouvez pas vous interdire d'avoir accès au module de configuration des utilisateurs Webmin
|
||||
save_edup=L'utilisateur '$1' existe déjà
|
||||
save_egroup=Vous n'êtes pas autorisé à affecter quoi que ce soit à ce groupe
|
||||
save_ecolon=Les mots de passe ne peuvent pas contenir le caractère " : "
|
||||
save_ecreate=Vous n'êtes pas autoris" à créer des utilisateurs
|
||||
save_edays=Pas de jours autorisés sélectionnés
|
||||
save_edeny=Vous ne pouvez pas vous interdire d'avoir accès au module de configuration des utilisateurs Webmin
|
||||
save_edup=L'utilisateur '$1' existe déjà
|
||||
save_egroup=Vous n'êtes pas autorisé à affecter quoi que ce soit à ce groupe
|
||||
save_ehost=Impossible de trouver une adresse IP pour '$1'
|
||||
save_ehours=Heures autorisées manquantes ou incorrectes
|
||||
save_ehours2=L'heure de début de l'autorisation doit être avant l'heure de fin
|
||||
save_eip='$1' n'est pas une adresse IP ou une adresse réseau complète
|
||||
save_elogouttime=Temporisation de déconnexion manquante ou non numérique
|
||||
save_emask='$1' n'est pas un masque réseau valide
|
||||
save_ehours=Heures autorisées manquantes ou incorrectes
|
||||
save_ehours2=L'heure de début de l'autorisation doit être avant l'heure de fin
|
||||
save_eip='$1' n'est pas une adresse IP ou une adresse réseau complète
|
||||
save_elogouttime=Temporisation de déconnexion manquante ou non numérique
|
||||
save_emask='$1' n'est pas un masque réseau valide
|
||||
save_emd5=Il n'est pas possible de cocher l'option <b>Mot de passe identique au mot de passe UNIX</b> avec le chiffrement MD5
|
||||
save_emod=Vous ne pouvez pas accorder d'accès au module '$1'
|
||||
save_emod=Vous ne pouvez pas accorder d'accès au module '$1'
|
||||
save_ename='$1' n'est pas un nom d'utilisateur valide
|
||||
save_enamewebmin=Le nom d'utilisateur 'webmin' est réservé pour une utilisation interne
|
||||
save_enet='$1' n'est pas une adresse réseau valide
|
||||
save_enamewebmin=Le nom d'utilisateur 'webmin' est réservé pour une utilisation interne
|
||||
save_enet='$1' n'est pas une adresse réseau valide
|
||||
save_enone=Pas d'adresse saisie
|
||||
save_eos=Votre système d'exploitation ne gère pas l'option <b>Mot de passe identique au mot de passe Unix</b>.
|
||||
save_epam=L'authentification PAM n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
save_epam2=Vous pouvez utiliser le module <b>Modules Perl</b> de Webmin pour <a href='$1'>télécharger et installer Authen::PAM</a> maintenant.
|
||||
save_eos=Votre système d'exploitation ne gère pas l'option <b>Mot de passe identique au mot de passe Unix</b>.
|
||||
save_epam=L'authentification PAM n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
save_epam2=Vous pouvez utiliser le module <b>Modules Perl</b> de Webmin pour <a href='$1'>télécharger et installer Authen::PAM</a> maintenant.
|
||||
save_epass=Mot de passes incorrecte : $1
|
||||
save_err=Impossible d'enregistrer l'utilisateur
|
||||
save_eself=Votre adresse IP actuelle ($1) serait interdite
|
||||
save_eunix=L'utilisateur Unix $1 n'existe pas
|
||||
save_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
schema_title=Télécharger un Schéma LDAP
|
||||
sessions_desc=Les noms de connexion de la session Webmin actuelle sont répertoriés ci-dessous. Pour annuler une session existante et forcer l'utilisateur à se connecter à nouveau, cliquez sur son identifiant de session.
|
||||
sessions_host=Adresse IP
|
||||
sessions_id=Identifiant de session
|
||||
sessions_login=Connecté le
|
||||
sessions_lview=Voir les journaux...
|
||||
save_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
schema_title=Télécharger un schéma LDAP
|
||||
sessions_desc=Les noms de connexion de la session Webmin actuelle sont répertoriés ci-dessous. Pour annuler une session existante et forcer l'utilisateur à se connecter à nouveau, cliquez sur son identifiant de session.
|
||||
sessions_title=Sessions de connexion actuelles
|
||||
sessions_id=ID de session
|
||||
sessions_user=Utilisateur Webmin
|
||||
sql_db=Nom de la base de donnée
|
||||
sql_host=Nom d'hôte
|
||||
sql_make=Création des Tables
|
||||
sql_makedn=Création DN
|
||||
sessions_login=Connecté le
|
||||
sessions_host=Adresse IP
|
||||
sessions_lview=Voir les journaux...
|
||||
sessions_actions=Actions...
|
||||
sessions_logouts=Montrer aussi les sessions de déconnexion...
|
||||
sessions_state=État
|
||||
sessions_this=Cette connexion
|
||||
sessions_in=Connexion
|
||||
sessions_out=Déconnexion
|
||||
sessions_kill=Déconnecté...
|
||||
|
||||
logins_title=Récentes connexions à Webmin
|
||||
|
||||
sql_db=Nom de la base de donnée
|
||||
sql_host=Nom d'hôte
|
||||
sql_make=Création des Tables
|
||||
sql_makedn=Création DN
|
||||
sql_pass=Mot de passe
|
||||
sql_ssl0=Aucun
|
||||
sql_ssl1=SSL
|
||||
sql_ssl2=TLS
|
||||
sql_user=Nom d'utilisateur
|
||||
switch_eold=Session existante non trouvée !
|
||||
switch_euser=Vous n'êtes pas autorisé à basculer vers cet utilisateur
|
||||
sync_create=Créer un utilisateur Webmin quand un utilisateur Webmin est créé
|
||||
sync_delete=Supprimer l'utilisateur Webmin correspondant quand un utilisateur Unix est supprimé
|
||||
sync_desc=Ce formulaire vous permet de configurer la synchronisation automatique des utilisateurs Unix créés à l'aide de Webmin et des utilisateurs de ce module.
|
||||
sync_ecannot=Vous n'êtes pas autorisé à configurer la synchronisation des utilisateurs
|
||||
sync_group=Affecter de nouveaux utilisateurs à un groupe Webmin
|
||||
sync_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe pour définir l'accès concernant les utilisateurs créés.
|
||||
switch_eold=Session existante non trouvée !
|
||||
switch_euser=Vous n'êtes pas autorisé à basculer vers cet utilisateur
|
||||
sync_create=Créer un utilisateur Webmin quand un utilisateur Webmin est créé
|
||||
sync_delete=Supprimer l'utilisateur Webmin correspondant quand un utilisateur Unix est supprimé
|
||||
sync_desc=Ce formulaire vous permet de configurer la synchronisation automatique des utilisateurs Unix créés à l'aide de Webmin et des utilisateurs de ce module.
|
||||
sync_ecannot=Vous n'êtes pas autorisé à configurer la synchronisation des utilisateurs
|
||||
sync_group=Affecter de nouveaux utilisateurs à un groupe Webmin
|
||||
sync_nogroups=Aucun groupe Webmin n'a étédéfini sur votre système. Vous devez créer au moins un groupe pour définir l'accès concernant les utilisateurs créés.
|
||||
sync_title=Synchronisation des utilisateurs Unix
|
||||
sync_unix=Définir un mot de passe à de nouveaux utilisateurs pour l'authentification Unix
|
||||
sync_update=Mettre à jour l'utilisateur Webmin correspondant quand un utilisateur Unix est mis à jour
|
||||
udeletes_enone=Aucune sélection
|
||||
udeletes_ereadonly=Un des utilisateurs sélectionnés est marqué comme non éditable
|
||||
sync_unix=Définir un mot de passe pour de nouveaux utilisateurs pour l'authentification Unix
|
||||
sync_update=Mettre à jour l'utilisateur Webmin correspondant quand un utilisateur Unix est mis à jour
|
||||
udeletes_enone=Aucune sélection
|
||||
udeletes_ereadonly=Un des utilisateurs sélectionnés est marqué comme non éditable
|
||||
udeletes_err=Echec de suppression des utilisateurs
|
||||
udeletes_ok=Efface les utilisateurs
|
||||
udeletes_rusure=Etes-vous sur de vouloir effacer les $1 utilisateurs sélectionnés ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
udeletes_rusure=Etes-vous sur de vouloir effacer les $1 utilisateurs sélectionnés ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
udeletes_title=Efface les utilisateurs
|
||||
udeletes_users=Utilisateurs sélectionnés : $1
|
||||
unix_all=Autoriser tous les utilisateurs Unix répertoriés
|
||||
unix_allow=Autoriser uniquement les utilisateurs Unix répertoriés
|
||||
unix_def=Autoriser uniquement les utilisateurs Webmin à se connecter
|
||||
unix_deny=Interdire les utilisateurs Unix répertoriés
|
||||
unix_desc=Cette page vous permet de configurer Webmin pour valider les tentatives de connexion par rapport à la liste des utilisateurs système et de PAM. Ce comportement peut être utile si vous avez un grand nombre d'utilisateurs Unix existants auxquels vous souhaitez donner accès à Webmin.
|
||||
unix_ecannot=Vous n'êtes pas autorisé à configurer l'authentification des utilisateurs Unix
|
||||
udeletes_users=Utilisateurs sélectionnés : $1
|
||||
unix_all=Autoriser tous les utilisateurs Unix répertoriés
|
||||
unix_allow=Autoriser uniquement les utilisateurs Unix répertoriés
|
||||
unix_def=Autoriser uniquement les utilisateurs Webmin à se connecter
|
||||
unix_deny=Interdire les utilisateurs Unix répertoriés
|
||||
unix_desc=Cette page vous permet de configurer Webmin pour valider les tentatives de connexion par rapport à la liste des utilisateurs système et de PAM. Ce comportement peut être utile si vous avez un grand nombre d'utilisateurs Unix existants auxquels vous souhaitez donner accès à Webmin.
|
||||
unix_ecannot=Vous n'êtes pas autorisé à configurer l'authentification des utilisateurs Unix
|
||||
unix_egroup='$1' n'est pas un nom de groupe valide
|
||||
unix_enone=Pas d'utilisateurs ou de groupes Unix à autorisé indiqué
|
||||
unix_epam=L'authentification Unix n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
unix_eshells=Fichier d'interpréteurs de commande manquant ou non existant
|
||||
unix_enone=Pas d'utilisateurs ou de groupes Unix à autoriser indiqués
|
||||
unix_epam=L'authentification Unix n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
unix_eshells=Fichier d'interpréteurs de commande manquant ou non existant
|
||||
unix_euser='$1' n'est pas un nom d'utilisateur valide
|
||||
unix_ewhogroup=Pas de groupe à autoriser en rangée $1
|
||||
unix_ewhouser=Pas d'utilisateur à autoriser en rangée $1
|
||||
unix_ewhogroup=Pas de groupe à autoriser dans la ligne $1
|
||||
unix_ewhouser=Pas d'utilisateur à autoriser en rangée $1
|
||||
unix_group=Membres du groupe..
|
||||
unix_mall=Tous les utilisateurs
|
||||
unix_mode=Autorise
|
||||
unix_none=Aucun utilisateur saisi
|
||||
unix_pamany=Traiter les connexions validés uniquement par PAM comme $1
|
||||
unix_restrict=Les restrictions additionnelles suivantes seront appliquées aux utilisateurs Unix sélectionnés ci-dessus.
|
||||
unix_pamany=Traiter les connexions validés uniquement par PAM comme $1
|
||||
unix_restrict=Les restrictions additionnelles suivantes seront appliquées aux utilisateurs Unix sélectionnés ci-dessus.
|
||||
unix_same=<Comme utilisateur ou groupe>
|
||||
unix_sel=Autoriser les utilisateurs Unix listés ci-dessous à se connecter ..
|
||||
unix_shells=Interdire les utilisateurs Unix dont les interpréteurs de commandes ne sont pas dans un fichier
|
||||
unix_sudo=Autoriser les utilisateurs pouvant lancer des commandes via <tt>sudo</tt> à se connecter en tant que <tt>root</tt>
|
||||
unix_sel=Autoriser les utilisateurs Unix listés ci-dessous à se connecter ..
|
||||
unix_shells=Interdire les utilisateurs Unix dont les interpréteurs de commandes ne sont pas dans un fichier
|
||||
unix_sudo=Autoriser les utilisateurs pouvant lancer des commandes via <tt>sudo</tt> à se connecter en tant que <tt>root</tt>
|
||||
unix_title=Authentification des utilisateurs Unix
|
||||
unix_to=Comme utilisateur Webmin
|
||||
unix_user=Autoriser n'importe quel utilisateur Unix à se connecter avec les droits d'accès d'utilisateur
|
||||
unix_user=Autoriser n'importe quel utilisateur Unix à se connecter avec les droits d'accès d'utilisateur
|
||||
unix_who=Utilisateur ou Groupe
|
||||
|
||||
358
acl/lang/fr.UTF-8
Normal file
358
acl/lang/fr.UTF-8
Normal file
@@ -0,0 +1,358 @@
|
||||
acl_acl=Peut modifier le contrôle d'accès au module ?
|
||||
acl_all=Tous les modules
|
||||
acl_cats=Peut changer de catégorie ?
|
||||
acl_cert=Peut demander un certificat ?
|
||||
acl_chcert=Peut changer le nom du certificat SSL ?
|
||||
acl_config=Peut modifier la configuration du module ?
|
||||
acl_create=Peut créer de nouveaux utilisateurs ?
|
||||
acl_delete=Peut supprimer des utilisateurs ?
|
||||
acl_egroup=Vous n'êtes pas autorisé à modifier les ACL des groupes
|
||||
acl_emod=Vous n'êtes pas autorisé à modifier le contrôle d'accès de ce module
|
||||
acl_err=Impossible d'enregistrer les contrôles d'accès
|
||||
acl_euser=Vous n'êtes pas autorisé à modifier le contrôle d'accès pour cet utilisateur
|
||||
acl_gall=Tous les groupes
|
||||
acl_gassign=Peut affecter des utilisateurs à des groupes
|
||||
acl_gnone=Aucun
|
||||
acl_gr=Membres de $1
|
||||
acl_groups=Peut modifier des groupes ?
|
||||
acl_gsel=Sélectionnés...
|
||||
acl_ips=Peut changer le contrôle d'accès IP ?
|
||||
acl_lang=Peut changer de langue ?
|
||||
acl_mods=Peut accorder un accès ?
|
||||
acl_options=Options du contrôle d'accès du module $1
|
||||
acl_others=Peut voir les modules inaccessibles ?
|
||||
acl_own=Seulement ses propres modules
|
||||
acl_pass=Peut modifier les restrictions du mot de passe ?
|
||||
acl_perms=Les utilisateurs récemment créés obtiennent
|
||||
acl_perms_0=Contrôle d'accès au module par défaut (sans restriction)
|
||||
acl_perms_1=Même contrôle d'accès au module que le créateur
|
||||
acl_rbac=Récupérer les paramètres de contrôle d'accès depuis RBAS ?
|
||||
acl_rbacyes=Oui (remplace les paramètres ci-dessous)
|
||||
acl_rename=Peut renommer des utilisateurs ?
|
||||
acl_reset=Réinitialiser en mode plein accès
|
||||
acl_sel=Modules sélectionnés...
|
||||
acl_sessions=Peut afficher et annuler des sessions de connexion ?
|
||||
acl_sql=peut configurer la base de donnée du groupe et de l'utilisateur ?
|
||||
acl_switch=Peut basculer vers d'autres utilisateurs ?
|
||||
acl_sync=Peut configurer la synchronisation des utilisateurs ?
|
||||
acl_theme=Peut changer le thème personnel ?
|
||||
acl_times=Peut changer les heures de connexion autorisées ?
|
||||
acl_title=Contrôle d'accès du module
|
||||
acl_title2=$2 pour l'utilisateur $1
|
||||
acl_title3=du groupe $2 pour l'utilisateur $1
|
||||
acl_uall=Tous les utilisateurs
|
||||
acl_unix=Peut configurer l'authentification Unix ?
|
||||
acl_usel=Utilisateurs sélectionnés...
|
||||
acl_users=Utilisateurs pouvant être modifiés
|
||||
acl_uthis=Cet utilisateur
|
||||
cert_already=<b>Avertissement</<b> : vous utilisez déjà le certificat $1.
|
||||
cert_c=Code du pays
|
||||
cert_cn=Votre nom
|
||||
cert_done=Votre certificat pour $1 a été généré avec succès.
|
||||
cert_ebrowser=Webmin ne sait pas comment émettre des certificats client pour votre navigateur ( $1 )
|
||||
cert_eca=Impossible de configurer l'Autorité de Certification : $1
|
||||
cert_ekey=Une nouvelle clé SSL n'a pas été soumise par votre navigateur : peut-être ne gère-t-il pas les certificats client SSL.
|
||||
cert_email=Adresse électronique
|
||||
cert_header=Détails du nouveau certificat
|
||||
cert_install=Installez votre certificat dans le navigateur
|
||||
cert_issue=Émettre un certificat
|
||||
cert_key=Taille de la clé
|
||||
cert_msg=Ce formulaire vous permet de demander un certificat SSL client qui servira ensuite à vous accorder l'accès à Webmin au lieu de vos nom d'utilisateur et mot de passe. Cette méthode est plus sûre, mais comme l'authentification est automatique, vous ne pourrez plus changer d'utilisateur quand vous ferez appel au certificat.
|
||||
cert_o=Organisation
|
||||
cert_ou=Département
|
||||
cert_pickup=<a href='$1'>Cliquez ici pour sélectionner votre certificat et l'installer dans votre navigateur</a>
|
||||
cert_sp=État
|
||||
cert_title=Demande de certificat
|
||||
convert_0=Tous les utilisateurs
|
||||
convert_1=Seulement les utilisateurs
|
||||
convert_2=Tous sauf les utilisateurs
|
||||
convert_3=Utilisateurs du groupe
|
||||
convert_4=Utilisateurs dont l'UID est dans l'intervalle
|
||||
convert_added=$1 est ajouté
|
||||
convert_desc=Ce formulaire vous permet de convertir des utilisateurs Unix existants en utilisateurs Webmin. Les droits d'accès de chaque nouvel utilisateur Webmin seront déterminés par le groupe sélectionné ci-dessous.
|
||||
convert_ecannot=Vous n'êtes pas autorisé à convertir un utilisateur Unix
|
||||
convert_egroup=Le groupe Unix n'existe pas
|
||||
convert_emax=UID maximal invalide
|
||||
convert_emin=UID minimal invalide
|
||||
convert_err=Impossible de convertir les utilisateurs
|
||||
convert_eusers=Aucun utilisateur à convertir saisi
|
||||
convert_ewgroup=Pas de groupe Webmin de ce type
|
||||
convert_ewgroup2=Vous n'^étes pas autorisé à affecter de nouveaux utilisateurs à ce groupe
|
||||
convert_exists=$1 existe déjà
|
||||
convert_group=Affecter de nouveaux utilisateurs au groupe Webmin
|
||||
convert_invalid=$1 n'est pas un nom d'utilisateur Webmin valide
|
||||
convert_msg=Conversion des utilisateurs Unix en cours...
|
||||
convert_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe avant d'effectuer la conversion, afin de définir des droits d'accès pour les utilisateurs convertis.
|
||||
convert_ok=Convertir maintenant
|
||||
convert_skip=$1 est ignoré
|
||||
convert_sync=Utiliser à l'avenir le même mot de passe que l'utilisateur Unix ?
|
||||
convert_title=Conversion des utilisateurs
|
||||
cpass_dict=est un mot du dictionnaire
|
||||
cpass_minsize=Doit avoir $1 lettre de long au minimum
|
||||
cpass_name=Contient le nom de l'utilisateur
|
||||
cpass_notre=Corresponds à un modèle non permis
|
||||
cpass_old=Les vieux mots de passes ne peuvent pas être réutilisés
|
||||
cpass_re=Ne correspond pas au modèle requis
|
||||
cpass_spellcmd=Ni les commandes $1 ni $2 requises pour vérifier les mots du dictionnaires ne sont installées
|
||||
delete_ecannot=Vous n'êtes pas autorisé à supprimer des utilisateurs
|
||||
delete_err=Impossible de supprimer cet utilisateur
|
||||
delete_eself=Vous ne pouvez pas vous supprimer vous-même
|
||||
delete_euser=Vous n'êtes pas autorisé à supprimer cet utilisateur
|
||||
edit_all=Autoriser à partir de toutes les adresses
|
||||
edit_alldays=Tous les jours
|
||||
edit_allhours=Tout le temps
|
||||
edit_allow=Autoriser uniquement à partir des adresses répertoriées
|
||||
edit_cert=Nom du certificat SSL
|
||||
edit_chars=Lettres
|
||||
edit_clone=Cloner
|
||||
edit_cloneof=Clôner l'utilisateur Webmin
|
||||
edit_days=Jours autorisés dans la semaine
|
||||
edit_deny=Interdire à partir des adresses répertoriées
|
||||
edit_dont=Inchangé
|
||||
edit_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
|
||||
edit_egone=L'utilisateur sélectionné n'existe plus !
|
||||
edit_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
edit_extauth=Programme d'authentification externe
|
||||
edit_global=Permissions pour tout les modules
|
||||
edit_group=Membre du groupe
|
||||
edit_groupmods=(en plus des modules du groupe)
|
||||
edit_hide=Masquer si inutilisé
|
||||
edit_hours=Heures autorisées dans la journée
|
||||
edit_invert=Inverser la sélection
|
||||
edit_ipdesc=Le contrôle d'accès IP utilisateur fonctionne de la même manière que le contrôle d'accès IP global du module de configuration de
|
||||
edit_ips=Contrôle d'accès IP
|
||||
edit_lang=Langue
|
||||
edit_lock=Aucun mot de passe accepté
|
||||
edit_log=Voir les journaux
|
||||
edit_logout=Durée d'inactivité avant déconnexion
|
||||
edit_mins=minutes
|
||||
edit_minsize=Langueur minimum du mot de passe
|
||||
edit_mods=Les modules Webmin disponibles
|
||||
edit_modsg=Les modules Webmin disponibles (en y ajoutant ceux du groupe)
|
||||
edit_modules=Modules
|
||||
edit_none=Aucun
|
||||
edit_notabs=Classer les modules par catégories ?
|
||||
edit_overlayglobal=Aucun - utiliser les thème par défaut
|
||||
edit_pam=Authentification PAM
|
||||
edit_pass=Mot de passe
|
||||
edit_passlocked=le mot de passe n'a pas été modifier depuis $1 jours - le compte est verrouillé !
|
||||
edit_passmax=le mot de passe n'a pas été modifier depuis $1 jours -il doit etre modifier à la prochaine connexion.
|
||||
edit_proto_ldap=Le serveur LDAP
|
||||
edit_proto_mysql=La base de donnée MySQL
|
||||
edit_proto_postgresql=La base de donnée PostgreSQL
|
||||
edit_rbacdeny=Mode d'accès RBAC
|
||||
edit_rbacdeny0=RBAC ne contrôle que le module ACLs sélectionné
|
||||
edit_rbacdeny1=RBAC contrôle tous les modules et les ACLs
|
||||
edit_readonly=Cet utilisateur Webmin ne doit pas être édité car il est géré directement par le module $1. <a href='$2'>Cliquez ici</a> pour ignorer cet avertissement et éditer tout de même cet utilisateur, mais attention car tous les changements manuels peuvent être redéfinis !
|
||||
edit_real=Nom réel
|
||||
edit_return=à l'utilisateur Webmin
|
||||
edit_return2=Groupe Webmin
|
||||
edit_rights=Droits d'accès de l'utilisateur Webmin
|
||||
edit_risk=Niveau de risque
|
||||
edit_risk_high=Super-utilisateur
|
||||
edit_risk_low=Utilisateur normal
|
||||
edit_risk_medium=Utilisateur administrateur
|
||||
edit_same=Identique au mot de passe Unix
|
||||
edit_selall=Tout sélectionner
|
||||
edit_seldays=Uniquement les jours sélectionnés
|
||||
edit_selhours=De $1:$2 à $3:$4
|
||||
edit_set=Remplacer par
|
||||
edit_skill=Niveau de compétence
|
||||
edit_switch=Changer d'utilisateur
|
||||
edit_templock=Verrouillé temporairement
|
||||
edit_theme=Thème personnel
|
||||
edit_themedef=Ancien thème Webmin
|
||||
edit_themeglobal=à partir de la configuration Webmin
|
||||
edit_title=Modification d'un utilisateur Webmin
|
||||
edit_title2=Création d'un utilisateur Webmin
|
||||
edit_ui=les option de l'interface utilisateur
|
||||
edit_unix=Authentification Unix
|
||||
edit_user=Nom d'utilisateur
|
||||
gdelete_desc=Voulez-vous vraiment supprimer le groupe $1 et les utilisateurs qui en sont membres : $2 ?
|
||||
gdelete_ecannot=Vous n'êtes pas autorisé à supprimer des groupes
|
||||
gdelete_err=Impossible de supprimer le groupe
|
||||
gdelete_esub=Les groupes comportant des sous-groupes ne peuvent pas être supprimés
|
||||
gdelete_euser=Vous ne pouvez pas supprimer votre propre groupe
|
||||
gdelete_ok=Supprimer le groupe
|
||||
gdelete_title=Suppression d'un groupe
|
||||
gdeletes_err=Echec de suppression des groupes
|
||||
gdeletes_ok=Effacer les groupes
|
||||
gdeletes_rusure=Etes-vous sur de vouloir effacer les $1 groupes sélectionnés, et les $2 utilisateurs qu'ils contiennent ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
gdeletes_title=Effacer les groupes
|
||||
gdeletes_users=Groupes sélectionnés : $1
|
||||
gedit_desc=Description du Groupe
|
||||
gedit_ecannot=Vous n'êtes pas autorisé à modifier des groupes
|
||||
gedit_egone=Le Groupe sélectionné n'existe plus !
|
||||
gedit_group=Nom du groupe
|
||||
gedit_members=Membre des utilisateurs et des groupes
|
||||
gedit_modules=Modules des membres
|
||||
gedit_rights=Droits d'accèês du groupe Webmin
|
||||
gedit_title=Modification d'un groupe Webmin
|
||||
gedit_title2=Création d'un groupe Webmin
|
||||
gsave_edesc=Description Invalide - le caractère : n'est pas permis
|
||||
gsave_edup=Ce nom de groupe est déjà utilisé
|
||||
gsave_ename=Nom du groupe manquant ou invalide
|
||||
gsave_enamewebmin=Le nom de groupe 'webmin' est réservé pour une utilisation interne
|
||||
gsave_err=Impossible d'enregistrer le groupe
|
||||
hide_clone=(Cloner $1)
|
||||
hide_desc=Les modules suivants seront supprimés de la liste d'accès des modules pour $1 car leurs serveurs correspondants ne sont pas installés sur votre système...
|
||||
hide_desc2=Soyez conscient que ces modules ne réapparaîotront pas automatiquement si les serveurs correspondants sont installés. Vous devrez accorder l'accès manuellement à l'aide de ce module.
|
||||
hide_none=Rien à masquer - $1 n'a accès à aucun module dont les serveurs correspondants ne sont pas installés sur votre système.
|
||||
hide_ok=Masquer les modules maintenant
|
||||
hide_title=Masquage des modules inutilisés
|
||||
index_cert=Demander un certificat SSL
|
||||
index_certmsg=Cliquez sur ce bouton pour demander un certificat SSL qui vous permettra de vous connecter à Webmin de manière sûre sans avoir besoin de saisir un nom d'utilisateur et un mot de passe.
|
||||
index_convert=Convertir des utilisateurs Unix en utilisateurs Webmin
|
||||
index_create=Créer un nouvel utilisateur Webmin
|
||||
index_delete=Effacer la sélection
|
||||
index_edit=Modifier l'ACL du module :
|
||||
index_gcreate=Créer un nouveau groupe d'utilisateurs
|
||||
index_global=ACL globale
|
||||
index_group=Groupe
|
||||
index_groups=Groupes Webmin
|
||||
index_members=Membres
|
||||
index_modgroups=Modules du groupe $1
|
||||
index_modules=Modules
|
||||
index_nogroups=Aucun groupe Webmin modifiable n'est défini
|
||||
index_none=Aucun
|
||||
index_nousers=Aucun utilisateur Webmin modifiable n'est défini
|
||||
index_rbac=Configuration RBAC
|
||||
index_rcreate=Créer un nouvel utilisateur à niveau de risque
|
||||
index_return=à la liste des utilisateurs
|
||||
index_sessions=Afficher les sessions de connexion
|
||||
index_sync=Configurer la synchronisation des utilisateurs Unix
|
||||
index_title=Utilisateurs Webmin
|
||||
index_unix=Configurer l'authentification des utilisateurs Unix
|
||||
index_user=Utilisateur
|
||||
index_users=Utilisateurs Webmin
|
||||
log_acl=Mis à jour l'accès de l'$1 pour l'utilisateur $2
|
||||
log_cert=émis un certificat pour l'utilisateur $1
|
||||
log_clone=Cloné l'utilisateur Webmin $1 en $2
|
||||
log_create=Créé l'utilisateur Webmin $1
|
||||
log_create_g=Créé le groupe Webmin $1
|
||||
log_delete=Supprimé l'utilisateur Webmin $1
|
||||
log_delete_g=Supprimé le groupe Webmin $1
|
||||
log_delete_groups=$1 est effacé des groupes Webmin
|
||||
log_delete_users=$1 est effacé des utilisateurs Webmin
|
||||
log_modify=Modifié l'utilisateur Webmin $1
|
||||
log_modify_g=Modifié le groupe Webmin $1
|
||||
log_rename=Renommé l'utilisateur Webmin $1 en $2
|
||||
log_rename_g=Renommé le groupe Webmin $1 en $2
|
||||
log_reset=Réinitialiser l'accès de l'$1 pour l'utilisateur $2
|
||||
log_switch=Basculé vers l'utilisateur Webmin $1
|
||||
make_done=... accompli
|
||||
make_err=l'opération de création des tables pour l'utilisateur et le groupe a échoué.
|
||||
make_failed=... échec de la création : $1
|
||||
make_still=Quelques problèmes ont étés rencontrés même après la création de la table : $1
|
||||
make_title=création des Tables de Utilisateur et des Groupes
|
||||
makedn_done=... accompli
|
||||
makedn_title=Création de LDAP DN
|
||||
pass_days=jours
|
||||
pass_ecannot=Vous n'êtes pas autorisé à éditer les restrictions des mots de passes
|
||||
pass_nooldblock=Réutilisation illimitée du mot de passe
|
||||
pass_pass=mots de passe
|
||||
pass_title=Restrictions de mot de passe
|
||||
rbac_desc=L'intégration RBAC dans Webmin offre la possibilité pour un module utilisateur de déterminer les permissions ACL depuis une base de données RBAC (Role Based Access Control), plutôt que depuis les fichiers de configuration de Webmin. Une fois que le support RBAC est activé, tout utilisateur pour qui <b>$edit_rbacdeny1</b> l'option est sélectionnée verra ses possibilités déterminée par RBAC plutôt que par les paramètres de contôle d'accès de Webmin.
|
||||
rbac_ecpan=Vous n'avez pas accès à la page de modules Perl de Webmin pour installer le module $1 nécessaire pour l'intégration de RBAC.
|
||||
rbac_eperl=Le module Perl $1 nécessaire pour l'intégration RBAC n'est pas installé. <a href='$2'>Cliquez ici</a> pour l'installer maintenant.
|
||||
rbac_esolaris=RBAC n'est supporté actuellement que sur Solaris, et ne peut pas être utilisé sur ce système $1.
|
||||
rbac_ok=L'intégration de RBAC est disponible sur ce sytème et peut être activée pour les utilisateurs en éditant la page "Utilisateur Webmin".
|
||||
rbac_title=Configuration RBAC
|
||||
save_ecolon=Les mots de passe ne peuvent pas contenir le caractère " : "
|
||||
save_ecreate=Vous n'êtes pas autoris" à créer des utilisateurs
|
||||
save_edays=Pas de jours autorisés sélectionnés
|
||||
save_edeny=Vous ne pouvez pas vous interdire d'avoir accès au module de configuration des utilisateurs Webmin
|
||||
save_edup=L'utilisateur '$1' existe déjà
|
||||
save_egroup=Vous n'êtes pas autorisé à affecter quoi que ce soit à ce groupe
|
||||
save_ehost=Impossible de trouver une adresse IP pour '$1'
|
||||
save_ehours=Heures autorisées manquantes ou incorrectes
|
||||
save_ehours2=L'heure de début de l'autorisation doit être avant l'heure de fin
|
||||
save_eip='$1' n'est pas une adresse IP ou une adresse réseau complète
|
||||
save_elogouttime=Temporisation de déconnexion manquante ou non numérique
|
||||
save_emask='$1' n'est pas un masque réseau valide
|
||||
save_emd5=Il n'est pas possible de cocher l'option <b>Mot de passe identique au mot de passe UNIX</b> avec le chiffrement MD5
|
||||
save_emod=Vous ne pouvez pas accorder d'accès au module '$1'
|
||||
save_ename='$1' n'est pas un nom d'utilisateur valide
|
||||
save_enamewebmin=Le nom d'utilisateur 'webmin' est réservé pour une utilisation interne
|
||||
save_enet='$1' n'est pas une adresse réseau valide
|
||||
save_enone=Pas d'adresse saisie
|
||||
save_eos=Votre système d'exploitation ne gère pas l'option <b>Mot de passe identique au mot de passe Unix</b>.
|
||||
save_epam=L'authentification PAM n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
save_epam2=Vous pouvez utiliser le module <b>Modules Perl</b> de Webmin pour <a href='$1'>télécharger et installer Authen::PAM</a> maintenant.
|
||||
save_epass=Mot de passes incorrecte : $1
|
||||
save_err=Impossible d'enregistrer l'utilisateur
|
||||
save_eself=Votre adresse IP actuelle ($1) serait interdite
|
||||
save_eunix=L'utilisateur Unix $1 n'existe pas
|
||||
save_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
schema_title=Télécharger un schéma LDAP
|
||||
sessions_desc=Les noms de connexion de la session Webmin actuelle sont répertoriés ci-dessous. Pour annuler une session existante et forcer l'utilisateur à se connecter à nouveau, cliquez sur son identifiant de session.
|
||||
sessions_title=Sessions de connexion actuelles
|
||||
sessions_id=ID de session
|
||||
sessions_user=Utilisateur Webmin
|
||||
sessions_login=Connecté le
|
||||
sessions_host=Adresse IP
|
||||
sessions_lview=Voir les journaux...
|
||||
sessions_actions=Actions...
|
||||
sessions_logouts=Montrer aussi les sessions de déconnexion...
|
||||
sessions_state=État
|
||||
sessions_this=Cette connexion
|
||||
sessions_in=Connexion
|
||||
sessions_out=Déconnexion
|
||||
sessions_kill=Déconnecté...
|
||||
|
||||
logins_title=Récentes connexions à Webmin
|
||||
|
||||
sql_db=Nom de la base de donnée
|
||||
sql_host=Nom d'hôte
|
||||
sql_make=Création des Tables
|
||||
sql_makedn=Création DN
|
||||
sql_pass=Mot de passe
|
||||
sql_ssl0=Aucun
|
||||
sql_ssl1=SSL
|
||||
sql_ssl2=TLS
|
||||
sql_user=Nom d'utilisateur
|
||||
switch_eold=Session existante non trouvée !
|
||||
switch_euser=Vous n'êtes pas autorisé à basculer vers cet utilisateur
|
||||
sync_create=Créer un utilisateur Webmin quand un utilisateur Webmin est créé
|
||||
sync_delete=Supprimer l'utilisateur Webmin correspondant quand un utilisateur Unix est supprimé
|
||||
sync_desc=Ce formulaire vous permet de configurer la synchronisation automatique des utilisateurs Unix créés à l'aide de Webmin et des utilisateurs de ce module.
|
||||
sync_ecannot=Vous n'êtes pas autorisé à configurer la synchronisation des utilisateurs
|
||||
sync_group=Affecter de nouveaux utilisateurs à un groupe Webmin
|
||||
sync_nogroups=Aucun groupe Webmin n'a étédéfini sur votre système. Vous devez créer au moins un groupe pour définir l'accès concernant les utilisateurs créés.
|
||||
sync_title=Synchronisation des utilisateurs Unix
|
||||
sync_unix=Définir un mot de passe pour de nouveaux utilisateurs pour l'authentification Unix
|
||||
sync_update=Mettre à jour l'utilisateur Webmin correspondant quand un utilisateur Unix est mis à jour
|
||||
udeletes_enone=Aucune sélection
|
||||
udeletes_ereadonly=Un des utilisateurs sélectionnés est marqué comme non éditable
|
||||
udeletes_err=Echec de suppression des utilisateurs
|
||||
udeletes_ok=Efface les utilisateurs
|
||||
udeletes_rusure=Etes-vous sur de vouloir effacer les $1 utilisateurs sélectionnés ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
udeletes_title=Efface les utilisateurs
|
||||
udeletes_users=Utilisateurs sélectionnés : $1
|
||||
unix_all=Autoriser tous les utilisateurs Unix répertoriés
|
||||
unix_allow=Autoriser uniquement les utilisateurs Unix répertoriés
|
||||
unix_def=Autoriser uniquement les utilisateurs Webmin à se connecter
|
||||
unix_deny=Interdire les utilisateurs Unix répertoriés
|
||||
unix_desc=Cette page vous permet de configurer Webmin pour valider les tentatives de connexion par rapport à la liste des utilisateurs système et de PAM. Ce comportement peut être utile si vous avez un grand nombre d'utilisateurs Unix existants auxquels vous souhaitez donner accès à Webmin.
|
||||
unix_ecannot=Vous n'êtes pas autorisé à configurer l'authentification des utilisateurs Unix
|
||||
unix_egroup='$1' n'est pas un nom de groupe valide
|
||||
unix_enone=Pas d'utilisateurs ou de groupes Unix à autoriser indiqués
|
||||
unix_epam=L'authentification Unix n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
unix_eshells=Fichier d'interpréteurs de commande manquant ou non existant
|
||||
unix_euser='$1' n'est pas un nom d'utilisateur valide
|
||||
unix_ewhogroup=Pas de groupe à autoriser dans la ligne $1
|
||||
unix_ewhouser=Pas d'utilisateur à autoriser en rangée $1
|
||||
unix_group=Membres du groupe..
|
||||
unix_mall=Tous les utilisateurs
|
||||
unix_mode=Autorise
|
||||
unix_none=Aucun utilisateur saisi
|
||||
unix_pamany=Traiter les connexions validés uniquement par PAM comme $1
|
||||
unix_restrict=Les restrictions additionnelles suivantes seront appliquées aux utilisateurs Unix sélectionnés ci-dessus.
|
||||
unix_same=<Comme utilisateur ou groupe>
|
||||
unix_sel=Autoriser les utilisateurs Unix listés ci-dessous à se connecter ..
|
||||
unix_shells=Interdire les utilisateurs Unix dont les interpréteurs de commandes ne sont pas dans un fichier
|
||||
unix_sudo=Autoriser les utilisateurs pouvant lancer des commandes via <tt>sudo</tt> à se connecter en tant que <tt>root</tt>
|
||||
unix_title=Authentification des utilisateurs Unix
|
||||
unix_to=Comme utilisateur Webmin
|
||||
unix_user=Autoriser n'importe quel utilisateur Unix à se connecter avec les droits d'accès d'utilisateur
|
||||
unix_who=Utilisateur ou Groupe
|
||||
@@ -42,3 +42,4 @@ longdesc_de=Erstellt Webmin-Benutzer und konfiguriert, auf welche Module und Fun
|
||||
longdesc_es=Crear usuarios de webmin y configurar a que modulos y caracteristicas pueden acceder.
|
||||
longdesc_pl=Twórz u¿ytkowników Webmina i kontroluj, które modu³y i funkcje s± dla nich dostêpne.
|
||||
longdesc_ca=Crea usuaris Webmin i configura quins mòduls i característiques tenen permès d'accedir.
|
||||
desc_fr.UTF-8=Utilisateurs Webmin
|
||||
|
||||
@@ -52,11 +52,11 @@ else {
|
||||
|
||||
# Validate username, and check for a clash
|
||||
$in{'name'} =~ /^[A-z0-9\-\_\.\@]+$/ && $in{'name'} !~ /^\@/ ||
|
||||
&error(&text('save_ename', $in{'name'}));
|
||||
&error(&text('save_ename', &html_escape($in{'name'})));
|
||||
$in{'name'} eq 'webmin' && &error($text{'save_enamewebmin'});
|
||||
if (!$in{'old'} || $in{'old'} ne $in{'name'}) {
|
||||
my $clash = &get_user($in{'name'});
|
||||
$clash && &error(&text('save_edup', $in{'name'}));
|
||||
$clash && &error(&text('save_edup', &html_escape($in{'name'})));
|
||||
}
|
||||
!$access{'logouttime'} || $in{'logouttime_def'} ||
|
||||
$in{'logouttime'} =~ /^\d+$/ || &error($text{'save_elogouttime'});
|
||||
|
||||
@@ -13,8 +13,8 @@ my %miniserv;
|
||||
&get_miniserv_config(\%miniserv);
|
||||
if (!$miniserv{'twofactor_provider'}) {
|
||||
&ui_print_header(undef, $text{'twofactor_title'}, "");
|
||||
&ui_print_endpage(&text('twofactor_setup',
|
||||
'../webmin/edit_twofactor.cgi'));
|
||||
print &text('twofactor_setup', '../webmin/edit_twofactor.cgi'),"<p>\n";
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -97,6 +97,7 @@ $apache_docbase = $config{'apache_docbase'} ? $config{'apache_docbase'} :
|
||||
# name - The name of this directive
|
||||
# value - Value (possibly with spaces)
|
||||
# members - For type 1, a reference to the array of members
|
||||
# indent - Number of spaces before the name
|
||||
sub parse_config_file
|
||||
{
|
||||
local($fh, @rv, $line, %dummy);
|
||||
@@ -224,15 +225,16 @@ while($line = <$fh>) {
|
||||
'name', "</IfVersion>" });
|
||||
}
|
||||
}
|
||||
elsif ($line =~ /^\s*<(\S+)\s*(.*)>/) {
|
||||
elsif ($line =~ /^(\s*)<(\S+)\s*(.*)>/) {
|
||||
# start of a container directive. The first member is a dummy
|
||||
# directive at the same line as the container
|
||||
local(%dir, @members);
|
||||
%dir = ('line', $_[1],
|
||||
'file', $_[2],
|
||||
'type', 1,
|
||||
'name', $1,
|
||||
'value', $2);
|
||||
'name', $2,
|
||||
'value', $3,
|
||||
'indent', length($1));
|
||||
$dir{'value'} =~ s/\s+$//g;
|
||||
$dir{'words'} = &wsplit($dir{'value'});
|
||||
$_[1]++;
|
||||
@@ -241,15 +243,16 @@ while($line = <$fh>) {
|
||||
$dir{'eline'} = $_[1]-1;
|
||||
push(@rv, \%dir);
|
||||
}
|
||||
elsif ($line =~ /^\s*(\S+)\s*(.*)$/) {
|
||||
elsif ($line =~ /^(\s*)(\S+)\s*(.*)$/) {
|
||||
# normal directive
|
||||
local(%dir);
|
||||
%dir = ('line', $_[1],
|
||||
'eline', $_[1],
|
||||
'file', $_[2],
|
||||
'type', 0,
|
||||
'name', $1,
|
||||
'value', $2);
|
||||
'name', $2,
|
||||
'value', $3,
|
||||
'indent', length($1));
|
||||
if ($dir{'value'} =~ s/\\$//g) {
|
||||
# multi-line directive!
|
||||
while($line = <$fh>) {
|
||||
@@ -586,7 +589,8 @@ for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
$old[$i]->{'value'} = $v;
|
||||
$old[$i]->{'words'} = &wsplit($v);
|
||||
$old[$i]->{'eline'} = $old[$i]->{'line'};
|
||||
splice(@$lref, $old[$i]->{'line'}, $len, "$_[0] $v");
|
||||
splice(@$lref, $old[$i]->{'line'}, $len,
|
||||
(" " x $old[$i]->{'indent'}).$_[0]." ".$v);
|
||||
$change = $old[$i];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,10 +227,11 @@ Returns a backup destination string, or calls error.
|
||||
sub parse_backup_destination
|
||||
{
|
||||
my %in = %{$_[1]};
|
||||
my $mode = $in{"$_[0]_mode"};
|
||||
my $mode = $in{"$_[0]_mode"} || 0;
|
||||
if ($mode == 0) {
|
||||
# Local file
|
||||
$in{"$_[0]_file"} =~ /^\/\S/ || &error($text{'backup_edest'});
|
||||
$in{"$_[0]_file"} && $in{"$_[0]_file"} =~ /^\/\S/ ||
|
||||
&error($text{'backup_edest'});
|
||||
return $in{"$_[0]_file"};
|
||||
}
|
||||
elsif ($mode == 1) {
|
||||
@@ -587,7 +588,7 @@ if (!$show) {
|
||||
}
|
||||
|
||||
# Extract contents (only files specified by manifests)
|
||||
my $flag = $show ? "t" : "x";
|
||||
my $flag = $show ? "t" : "xv";
|
||||
my $qfiles = join(" ", map { s/^\///; quotemeta($_) } &unique(@files));
|
||||
if ($gzipped) {
|
||||
&execute_command("cd / ; gunzip -c $qfile | tar ${flag}f - $qfiles",
|
||||
|
||||
@@ -81,4 +81,5 @@ syslog_syslog-ng=Syslog-NG
|
||||
rotate_title=Actualització d'Estadístiques
|
||||
rotate_doing=S'està processant el trànsit de xarxa registrat...
|
||||
rotate_done=...fet.
|
||||
|
||||
__norefs=1
|
||||
|
||||
@@ -55,9 +55,11 @@ foreach $hour (@hours) {
|
||||
&save_hour($hour);
|
||||
}
|
||||
|
||||
# Truncate the file and notify syslog
|
||||
open(LOG, ">$bandwidth_log");
|
||||
close(LOG);
|
||||
# Truncate the file (if it exists) and notify syslog
|
||||
if (-r $bandwidth_log) {
|
||||
open(LOG, ">$bandwidth_log");
|
||||
close(LOG);
|
||||
}
|
||||
&foreign_call($syslog_module, "signal_syslog");
|
||||
|
||||
# Remove PID file
|
||||
|
||||
@@ -148,3 +148,5 @@ Added support for editing DMARC records, which are specially encoded TXT records
|
||||
Automatic creation and deletion of reverse records in partial delegation zones now works the same as in full reverse zones.
|
||||
---- Changes since 1.810 ----
|
||||
Added support for editing TLSA (SSL Certificate) records.
|
||||
---- Changes since 1.830 ----
|
||||
Added support for editing SSHFP (SSH Public Key) records.
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
# bind8-lib.pl
|
||||
# Common functions for bind8 config files
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
|
||||
BEGIN { push(@INC, ".."); };
|
||||
use WebminCore;
|
||||
@@ -656,10 +658,17 @@ else {
|
||||
# save_port_address(name, portname, &config, indent)
|
||||
sub save_port_address {
|
||||
my ($port, @vals, $dir, $n);
|
||||
foreach my $addr (split(/\s+/, $in{$_[0]})) {
|
||||
$addr =~ /^\S+$/ || &error(&text('eipacl', $addr));
|
||||
push(@vals, { 'name' => $addr });
|
||||
}
|
||||
my @sp = split(/\s+/, $in{$_[0]});
|
||||
for(my $i=0; $i<@sp; $i++) {
|
||||
$sp[$i] =~ /^\S+$/ || &error(&text('eipacl', $sp[$i]));
|
||||
if (lc($sp[$i+1]) eq "key") {
|
||||
push(@vals, { 'name' => $sp[$i++],
|
||||
'values' => [ "key", $sp[++$i] ] });
|
||||
}
|
||||
else {
|
||||
push(@vals, { 'name' => $sp[$i] });
|
||||
}
|
||||
}
|
||||
$dir = { 'name' => $_[0], 'type' => 1, 'members' => \@vals };
|
||||
($n = $_[1]) =~ s/[^A-Za-z0-9_]/_/g;
|
||||
$dir->{'values'} = [ $_[1], $in{$_[1]} ] if (!$in{"${n}_def"});
|
||||
@@ -673,9 +682,9 @@ my ($addr, @vals, $dir);
|
||||
my @sp = split(/\s+/, $in{$_[0]});
|
||||
for(my $i=0; $i<@sp; $i++) {
|
||||
!$_[3] || &check_ipaddress($sp[$i]) || &error(&text('eip', $sp[$i]));
|
||||
if (lc($sp[$i]) eq "key") {
|
||||
push(@vals, { 'name' => $sp[$i],
|
||||
'values' => [ $sp[++$i] ] });
|
||||
if (lc($sp[$i+1]) eq "key") {
|
||||
push(@vals, { 'name' => $sp[$i++],
|
||||
'values' => [ "key", $sp[++$i] ] });
|
||||
}
|
||||
else {
|
||||
push(@vals, { 'name' => $sp[$i] });
|
||||
@@ -1148,6 +1157,23 @@ elsif ($type eq "TLSA") {
|
||||
print &ui_table_row($text{'value_TLSA4'},
|
||||
&ui_textbox("value3", $v[3], 70));
|
||||
}
|
||||
elsif ($type eq "SSHFP") {
|
||||
print &ui_table_row($text{'value_SSHFP1'},
|
||||
&ui_select("value0", $v[0],
|
||||
[ [ 1, $text{'sshfp_alg1'}." (1)" ],
|
||||
[ 2, $text{'sshfp_alg2'}." (2)" ],
|
||||
[ 3, $text{'sshfp_alg3'}." (3)" ],
|
||||
[ 4, $text{'sshfp_alg4'}." (4)" ] ]));
|
||||
|
||||
print &ui_table_row($text{'value_SSHFP2'},
|
||||
&ui_select("value1", $v[1],
|
||||
[ [ 1, $text{'sshfp_fp1'}." (1)" ],
|
||||
[ 2, $text{'sshfp_fp2'}." (2)" ] ]));
|
||||
|
||||
print &ui_table_row($text{'value_SSHFP3'},
|
||||
&ui_textbox("value2", $v[2], 70));
|
||||
|
||||
}
|
||||
elsif ($type eq "LOC") {
|
||||
print &ui_table_row($text{'value_LOC1'},
|
||||
&ui_textbox("value0", join(" ", @v), 40), 3);
|
||||
@@ -2155,7 +2181,7 @@ return undef;
|
||||
sub start_bind
|
||||
{
|
||||
my $chroot = &get_chroot();
|
||||
my $user;
|
||||
my $user = "";
|
||||
my $cmd;
|
||||
if ($config{'named_user'}) {
|
||||
$user = "-u $config{'named_user'}";
|
||||
@@ -2424,13 +2450,15 @@ unlink($zone_names_cache);
|
||||
# Returns a zone cache object, looked up by name or index
|
||||
sub get_zone_name
|
||||
{
|
||||
my ($key, $viewidx) = @_;
|
||||
$viewidx ||= '';
|
||||
my @zones = &list_zone_names();
|
||||
my $field = $_[0] =~ /^\d+$/ ? "index" : "name";
|
||||
my $field = $key =~ /^\d+$/ ? "index" : "name";
|
||||
foreach my $z (@zones) {
|
||||
if ($z->{$field} eq $_[0] &&
|
||||
($_[1] eq 'any' ||
|
||||
$_[1] eq '' && !defined($z->{'viewindex'}) ||
|
||||
$_[1] ne '' && $z->{'viewindex'} == $_[1])) {
|
||||
if ($z->{$field} eq $key &&
|
||||
($viewidx eq 'any' ||
|
||||
$viewidx eq '' && !defined($z->{'viewindex'}) ||
|
||||
$viewidx ne '' && $z->{'viewindex'} == $_[1])) {
|
||||
return $z;
|
||||
}
|
||||
}
|
||||
@@ -2899,7 +2927,7 @@ $slave_error = $_[0];
|
||||
|
||||
sub get_forward_record_types
|
||||
{
|
||||
return ("A", "NS", "CNAME", "MX", "HINFO", "TXT", "SPF", "DMARC", "WKS", "RP", "PTR", "LOC", "SRV", "KEY", "TLSA", "NSEC3PARAM", $config{'support_aaaa'} ? ( "AAAA" ) : ( ), @extra_forward);
|
||||
return ("A", "NS", "CNAME", "MX", "HINFO", "TXT", "SPF", "DMARC", "WKS", "RP", "PTR", "LOC", "SRV", "KEY", "TLSA", "SSHFP", "NSEC3PARAM", $config{'support_aaaa'} ? ( "AAAA" ) : ( ), @extra_forward);
|
||||
}
|
||||
|
||||
sub get_reverse_record_types
|
||||
@@ -3132,13 +3160,16 @@ return $alg eq 'RSAMD5' || $alg eq 'RSASHA1' ||
|
||||
$alg eq 'DSA' ? ( 512, 1024, 64 ) :
|
||||
$alg eq 'HMAC-MD5' ? ( 1, 512 ) :
|
||||
$alg eq 'NSEC3RSASHA1' ? ( 512, 4096 ) :
|
||||
$alg eq 'NSEC3DSA' ? ( 512, 1024, 64 ) : ( );
|
||||
$alg eq 'NSEC3DSA' ? ( 512, 1024, 64 ) :
|
||||
$alg eq 'ECDSAP256SHA256' ? ( 128, 512 ) :
|
||||
$alg eq 'ECDSAP384SHA384' ? ( 128, 512 ) :
|
||||
( );
|
||||
}
|
||||
|
||||
sub list_dnssec_algorithms
|
||||
{
|
||||
return ("RSASHA1", "RSASHA256", "RSAMD5", "DSA", "DH", "HMAC-MD5",
|
||||
"NSEC3RSASHA1", "NSEC3DSA");
|
||||
"NSEC3RSASHA1", "NSEC3DSA", "ECDSAP256SHA256", "ECDSAP384SHA384");
|
||||
}
|
||||
|
||||
# get_keys_dir(&zone|&zone-name)
|
||||
@@ -3241,6 +3272,8 @@ for(my $i=$#recs; $i>=0; $i--) {
|
||||
foreach my $key (@keys) {
|
||||
&create_record($chrootfn, $dom.".", undef, "IN", "DNSKEY",
|
||||
join(" ", @{$key->{'values'}}));
|
||||
&set_ownership($key->{'privatefile'});
|
||||
&set_ownership($key->{'publicfile'});
|
||||
}
|
||||
&bump_soa_record($chrootfn, \@recs);
|
||||
|
||||
@@ -3309,6 +3342,8 @@ $newzonekey || return "Could not find new DNSSEC zone key";
|
||||
&modify_record($fn, $zonerec, $dom.".", undef, "IN", "DNSKEY",
|
||||
join(" ", @{$newzonekey->{'values'}}));
|
||||
&bump_soa_record($fn, \@recs);
|
||||
&set_ownership($newzonekey->{'privatefile'});
|
||||
&set_ownership($newzonekey->{'publicfile'});
|
||||
|
||||
# Re-sign everything
|
||||
my $err = &sign_dnssec_zone($z);
|
||||
@@ -3394,7 +3429,8 @@ return $out if ($tries >= 10);
|
||||
for(my $i=$#recs; $i>=0; $i--) {
|
||||
if ($recs[$i]->{'type'} eq 'NSEC' ||
|
||||
$recs[$i]->{'type'} eq 'NSEC3' ||
|
||||
$recs[$i]->{'type'} eq 'RRSIG') {
|
||||
$recs[$i]->{'type'} eq 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'NSEC3PARAM') {
|
||||
&delete_record($fn, $recs[$i]);
|
||||
}
|
||||
}
|
||||
@@ -3402,7 +3438,8 @@ my @signedrecs = &read_zone_file($fn.".webmin-signed", $dom);
|
||||
foreach my $r (@signedrecs) {
|
||||
if ($r->{'type'} eq 'NSEC' ||
|
||||
$r->{'type'} eq 'NSEC3' ||
|
||||
$r->{'type'} eq 'RRSIG') {
|
||||
$r->{'type'} eq 'RRSIG' ||
|
||||
$r->{'type'} eq 'NSEC3PARAM') {
|
||||
&create_record($fn, $r->{'name'}, $r->{'ttl'}, $r->{'class'},
|
||||
$r->{'type'}, join(" ", @{$r->{'values'}}),
|
||||
$r->{'comment'});
|
||||
|
||||
@@ -134,13 +134,19 @@ if ($in{'onslave'}) {
|
||||
my @slaves = &list_slave_servers();
|
||||
if (@slaves) {
|
||||
my $also = { 'name' => 'also-notify',
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
my $allow = { 'name' => 'allow-transfer',
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
foreach my $s (@slaves) {
|
||||
push(@{$also->{'members'}},
|
||||
{ 'name' => &to_ipaddress($s->{'host'}) });
|
||||
push(@{$allow->{'members'}},
|
||||
{ 'name' => &to_ipaddress($s->{'host'}) });
|
||||
}
|
||||
push(@{$dir->{'members'}}, $also);
|
||||
push(@{$dir->{'members'}}, $allow);
|
||||
push(@{$dir->{'members'}}, { 'name' => 'notify',
|
||||
'values' => [ 'yes' ] });
|
||||
}
|
||||
|
||||
@@ -218,6 +218,23 @@ for(my $i=0; $i<@_; $i++) {
|
||||
elsif ($j == 2) {
|
||||
$v = $text{'tlsa_match'.$v};
|
||||
}
|
||||
else {
|
||||
$v = undef;
|
||||
}
|
||||
$v = $v ? $v." (".$r->{'values'}->[$j].")"
|
||||
: $r->{'values'}->[$j];
|
||||
}
|
||||
elsif ($in{'type'} eq "SSHFP") {
|
||||
# Display SSHFP codes nicely
|
||||
if ($j == 0) {
|
||||
$v = $text{'sshfp_alg'.$v};
|
||||
}
|
||||
elsif ($j == 1) {
|
||||
$v = $text{'sshfp_fp'.$v};
|
||||
}
|
||||
else {
|
||||
$v = undef;
|
||||
}
|
||||
$v = $v ? $v." (".$r->{'values'}->[$j].")"
|
||||
: $r->{'values'}->[$j];
|
||||
}
|
||||
|
||||
@@ -122,10 +122,18 @@ $_[1] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
|
||||
my @to = ($1, $2, $3, $4);
|
||||
return @to if (@to != 4);
|
||||
|
||||
for (my $i=0;$i<4;$i++) {
|
||||
$from[$i]=$from[$i]==0?1:$from[$i];
|
||||
$to[$i]=$to[$i]==255?254:$to[$i];
|
||||
}
|
||||
for (my $i=3;$i>=0;$i--) {
|
||||
my $e = 0;
|
||||
if ($from[$i] == 0) {
|
||||
$from[$i] = 1;
|
||||
$e++;
|
||||
}
|
||||
if ($to[$i] == 255) {
|
||||
$to[$i] = 254;
|
||||
$e++;
|
||||
}
|
||||
last if ($e);
|
||||
}
|
||||
|
||||
my %frecs;
|
||||
|
||||
|
||||
@@ -271,6 +271,10 @@ edit_eloc=Hi falta la latitud i la longitud
|
||||
edit_eweight='$1' no és un pes de servei vàlid
|
||||
edit_eport='$1' no és un número de port vàlid
|
||||
edit_etarget='$1' no és un nom de servidor ni una adreça vàlida
|
||||
edit_eusage='$1' no és un número d'ús TLSA vàlid
|
||||
edit_eselector='$1' no és un número de selector TLSA vàlid
|
||||
edit_ematch='$1' no és un número de coincidència TLSA vàlid
|
||||
edit_etlsa=El certificat codificat amb TLSA és invàlid - només pot contenir bytes hexadecimals de dos dígits
|
||||
edit_return=als registres
|
||||
edit_ecname1=No pots crear un registre d'àlies de nom amb el mateix nom que un d'existent.
|
||||
edit_ecname2=No pots crear un registre amb el mateix nom que un d'existent.
|
||||
@@ -285,6 +289,9 @@ edit_dtitle=Suprimeix el Registre
|
||||
edit_rusure=Segur que vols suprimir el registre $1 del domini $2, i possiblement qualsevol registre invers o de reenviament que hi coincideixi?
|
||||
edit_dok=Sí, Suprimeix-lo
|
||||
edit_eptr='$1' no és un nom de host de registre d'adreça inversa vàlid
|
||||
edit_ealg2='$1' no és un número d'algoritme de certificat vàlid
|
||||
edit_efp='$1' no és un tipus d'empremta digital de certificat vàlid
|
||||
edit_esshfp=Hi falten les dades de la clau pública codificades en base 64 o bé no són vàlides
|
||||
edit_espfa='$1' no és un host destinació vàlid
|
||||
edit_espfa2='$1' ha de ser un nom de host, no una adreça IP
|
||||
edit_espfmx='$1' no és un nom de domini destinació vàlid
|
||||
@@ -378,6 +385,8 @@ type_HINFO=Informaci
|
||||
type_NSEC3PARAM=Paràmetres DNSSEC
|
||||
type_TXT=Text
|
||||
type_SPF=Remitent Permès des de
|
||||
type_TLSA=Certificat SSL
|
||||
type_SSHFP=Clau Pública SSH
|
||||
type_DMARC=DMARC
|
||||
type_WKS=Servei Conegut (WKS)
|
||||
type_RP=Persona Responsable
|
||||
@@ -408,6 +417,8 @@ recs_defttl=TTL per defecte
|
||||
recs_A=Adreça
|
||||
recs_AAAA=Adreça IPv6
|
||||
recs_NS=Servidor de Noms
|
||||
edit_TLSA=Certificat SSL
|
||||
edit_SSHFP=Clau Pública SSH
|
||||
recs_CNAME=Àlies del Nom
|
||||
recs_MX=Servidor de Correu
|
||||
recs_HINFO=Informació del Host
|
||||
@@ -427,6 +438,8 @@ recs_delete=Suprimeix els Seleccionats
|
||||
value_A1=Adreça
|
||||
value_AAAA1=Adreça IPv6
|
||||
value_NS1=Servidor de Noms
|
||||
recs_TLSA=Certificat SSL
|
||||
recs_SSHFP=Clau Pública SSH
|
||||
value_CNAME1=Nom Real
|
||||
value_MX1=Prioritat
|
||||
value_MX2=Servidor de Correu
|
||||
@@ -444,6 +457,13 @@ value_SRV1=Prioritat
|
||||
value_SRV2=Pes
|
||||
value_SRV3=Port
|
||||
value_SRV4=Servidor
|
||||
value_TLSA1=Ús del certificat
|
||||
value_TLSA2=Selector del certificat
|
||||
value_TLSA3=Coincidència del certificat
|
||||
value_TLSA4=Dades del certificat
|
||||
value_SSHFP1=Algoritme de la clau pública
|
||||
value_SSHFP2=Empremta digital de la clau pública
|
||||
value_SSHFP3=Dades de la clau pública
|
||||
value_KEY1=Banderes
|
||||
value_KEY2=Protocol
|
||||
value_KEY3=Algoritme
|
||||
@@ -489,6 +509,23 @@ value_dmarcaspf=Requereix alineaci
|
||||
value_dmarcadkim=Requereix alineació DKIM estricta
|
||||
value_dmarcnor=No ho enviïs
|
||||
|
||||
tlsa_usage0=Autoritat certificadora
|
||||
tlsa_usage1=Acaba l'entitat
|
||||
tlsa_usage2=Ancora de confiança
|
||||
tlsa_usage3=Domini emès
|
||||
tlsa_selector0=Certificat complet
|
||||
tlsa_selector1=Info de la clau pública
|
||||
tlsa_match0=Contingut sense hash
|
||||
tlsa_match1=amb hash SHA-256
|
||||
tlsa_match2=amb hash SHA-512
|
||||
|
||||
sshfp_alg1=RSA
|
||||
sshfp_alg2=DSA
|
||||
sshfp_alg3=ECDSA
|
||||
sshfp_alg4=Ed25519
|
||||
sshfp_fp1=SHA-1
|
||||
sshfp_fp2=SHA-256
|
||||
|
||||
warn=Avisa
|
||||
fail=Falla
|
||||
ignore=Ignora
|
||||
|
||||
@@ -229,6 +229,8 @@ edit_PTR=Reverse-Adresse
|
||||
edit_RP=Verantwortliche Person
|
||||
edit_SPF=Sender Permitted Form (SPF)
|
||||
edit_SRV=Service-Adresse
|
||||
edit_SSHFP=SSH Öffentlicher Schlüssel
|
||||
edit_TLSA=SSL-Zertifikat
|
||||
edit_TXT=Text
|
||||
edit_WKS=Bekannter Dienst
|
||||
edit_add=Füge $1 Datensatz hinzu
|
||||
@@ -787,6 +789,8 @@ recs_PTR=Reverse-Adresse
|
||||
recs_RP=Verantwortliche Person
|
||||
recs_SPF=Sender Permitted Form (SPF)
|
||||
recs_SRV=Service Adresse
|
||||
recs_SSHFP=SSH Öffentlicher Schlüssel
|
||||
recs_TLSA=SSL-Zertifikat
|
||||
recs_TXT=Text
|
||||
recs_WKS=Bekannter Dienst
|
||||
recs_addr=Adresse
|
||||
@@ -929,6 +933,12 @@ slaves_sync=Erzeuge alle existierenden Master-Zonen auf Slave-Servern?
|
||||
slaves_title=Cluster-Slave-Server
|
||||
slaves_toview=Zeige Slaves an, um Zonen dort hinzuzufügen
|
||||
slaves_view=Zur Ansicht hinzufügen
|
||||
sshfp_alg1=RSA
|
||||
sshfp_alg2=DSA
|
||||
sshfp_alg3=ECDSA
|
||||
sshfp_alg4=Ed25519
|
||||
sshfp_fp1=SHA-1
|
||||
sshfp_fp2=SHA-256
|
||||
start_ecannot=Sie haben keine Berechtigung, BIND zu starten
|
||||
start_error=Fehler beim Starten von BIND : $1
|
||||
stop_ecannot=Sie dürfen BIND nicht stoppen
|
||||
@@ -944,6 +954,12 @@ text_soa=Erhöhe Seriennummer automatisch
|
||||
text_title=Bearbeite Datensatzdatei
|
||||
text_title2=Zeige Einträge der Zonendatei an
|
||||
text_undo=Rückgängig
|
||||
tlsa_match0=Ungehashter Inhalt
|
||||
tlsa_match1=SHA-256 gehasht
|
||||
tlsa_match2=SHA-512 gehasht
|
||||
tlsa_selector0=Volles Zertifikat
|
||||
tlsa_selector1=Öffentlicher Schlüssel info
|
||||
tlsa_usage0=Zertifizierungsstelle
|
||||
trusted_alg=Algorithmus
|
||||
trusted_dlv=Reale Zone
|
||||
trusted_dnssec=DNSSEC aktiviert?
|
||||
@@ -983,6 +999,8 @@ type_PTR=Reverse-Adresse
|
||||
type_RP=Verantwortliche Person
|
||||
type_SPF=Sender Permitted Form (SPF)
|
||||
type_SRV=Service-Adresse
|
||||
type_SSHFP=SSH Öffentlicher Schlüssel
|
||||
type_TLSA=SSL-Zertifikat
|
||||
type_TXT=Text
|
||||
type_WKS=Bekannter Dienst
|
||||
umass_any=<b>ALLE</b> Einträge aktualisieren
|
||||
|
||||
@@ -285,6 +285,9 @@ edit_eflags='$1' is not a valid decimal or hex key flags number
|
||||
edit_eproto='$1' is not a valid key protocol number
|
||||
edit_ealg='$1' is not a valid key algorithm number
|
||||
edit_ekey=Missing or invalid base-64 encoded key data
|
||||
edit_ealg2='$1' is not a valid certificate algorithm number
|
||||
edit_efp='$1' is not a valid certificate fingerprint type
|
||||
edit_esshfp=Missing or invalid base-64 encoded public key data
|
||||
edit_dtitle=Delete Record
|
||||
edit_rusure=Are you sure you want to delete the record $1 from domain $2, and possibly any matching reverse or forward record?
|
||||
edit_dok=Yes, Delete It
|
||||
@@ -383,6 +386,7 @@ type_NSEC3PARAM=DNSSEC Parameters
|
||||
type_TXT=Text
|
||||
type_SPF=Sender Permitted From
|
||||
type_TLSA=SSL Certificate
|
||||
type_SSHFP=SSH Public Key
|
||||
type_DMARC=DMARC
|
||||
type_WKS=Well Known Service
|
||||
type_RP=Responsible Person
|
||||
@@ -408,6 +412,8 @@ edit_LOC=Location
|
||||
edit_SRV=Service Address
|
||||
edit_KEY=Public Key
|
||||
edit_NSEC3PARAM=DNSSEC Parameters
|
||||
edit_TLSA=SSL Certificate
|
||||
edit_SSHFP=SSH Public Key
|
||||
|
||||
recs_defttl=Default TTL
|
||||
recs_A=Address
|
||||
@@ -427,6 +433,8 @@ recs_SRV=Service Address
|
||||
recs_ALL=All
|
||||
recs_KEY=Public Key
|
||||
recs_NSEC3PARAM=DNSSEC Parameters
|
||||
recs_TLSA=SSL Certificate
|
||||
recs_SSHFP=SSH Public Key
|
||||
recs_delete=Delete Selected
|
||||
|
||||
value_A1=Address
|
||||
@@ -453,6 +461,9 @@ value_TLSA1=Certificate usage
|
||||
value_TLSA2=Certificate selector
|
||||
value_TLSA3=Certificate match
|
||||
value_TLSA4=Certificate data
|
||||
value_SSHFP1=Public key algorithm
|
||||
value_SSHFP2=Public key fingerprint
|
||||
value_SSHFP3=Public key data
|
||||
value_KEY1=Flags
|
||||
value_KEY2=Protocol
|
||||
value_KEY3=Algorithm
|
||||
@@ -508,6 +519,13 @@ tlsa_match0=Unhashed contents
|
||||
tlsa_match1=SHA-256 hashed
|
||||
tlsa_match2=SHA-512 hashed
|
||||
|
||||
sshfp_alg1=RSA
|
||||
sshfp_alg2=DSA
|
||||
sshfp_alg3=ECDSA
|
||||
sshfp_alg4=Ed25519
|
||||
sshfp_fp1=SHA-1
|
||||
sshfp_fp2=SHA-256
|
||||
|
||||
warn=Warn
|
||||
fail=Fail
|
||||
ignore=Ignore
|
||||
|
||||
@@ -266,6 +266,7 @@ edit_eip6='$1' er ikke en gyldig IPv6 adresse
|
||||
edit_ekey=Manglende eller ugyldig base-64 kodet nøkkeldata
|
||||
edit_elabel=En etikett i '$1' er for lang
|
||||
edit_eloc=Manglende bredde- og lengdegrad
|
||||
edit_ematch='$1' er ikke et gyldig TLSA match nummer
|
||||
edit_emx='$1' er ikke en gyldig e-post tjener
|
||||
edit_ename='$1' er ikke et gyldig oppføringsnavn
|
||||
edit_ens='$1' er ikke en gyldig navnetjener
|
||||
@@ -278,6 +279,7 @@ edit_eproto='$1' er ikke et gyldig nøkkel protokoll nummer
|
||||
edit_eptr='$1' er ikke et gyldig vertsnavn for en revers adresseoppføring
|
||||
edit_erevmust=Revers sone for IP adresse ikke funnet
|
||||
edit_err=Kunne ikke lagre oppføring
|
||||
edit_eselector='$1' er ikke et gyldig TLSA selector nummer
|
||||
edit_eserv=Du oppga ikke noen vekjente tjenester
|
||||
edit_eserv2='$1' er ikke et gyldig tjenestenavn
|
||||
edit_espfa='$1' er ikke en gyldig vert å tillate sending fra
|
||||
@@ -290,8 +292,10 @@ edit_espfmx='$1' er ikke et gyldig domenenavn å tillate MX sending fra
|
||||
edit_espfmxmax=Du har ikke lov til å ha flere enn 10 domener som det tillates MX sending fra
|
||||
edit_espfredirect='$1' er ikke et gyldig alternativt domenenavn
|
||||
edit_etarget='$1' er ikke et gyldig tjenernavn eller adresse
|
||||
edit_etlsa=Ugyldig TLSA kodet sertifikat - kan kun inneholde 2-siffers hex bytes
|
||||
edit_ettl='$1' er ikke en gyldig time-to-live
|
||||
edit_etxt='$1' er ikek et gyldig navn på en tekst-oppføring
|
||||
edit_eusage='$1' er ikke et gyldig TLSA bruks-nummer
|
||||
edit_eweight='$1' er ikke en gyldig tjeneste-vekt
|
||||
edit_header=I $1
|
||||
edit_name=Navn
|
||||
@@ -958,6 +962,15 @@ text_soa=Øk serienummer automatisk
|
||||
text_title=Rediger oppføringsfil
|
||||
text_title2=Vis oppføringsfil
|
||||
text_undo=Omgjør
|
||||
tlsa_match0=Uhashet innhold
|
||||
tlsa_match1=SHA-256 hashet
|
||||
tlsa_match2=SHA-512 hashet
|
||||
tlsa_selector0=Fullt sertifikat
|
||||
tlsa_selector1=Offentlig nøkkel info
|
||||
tlsa_usage0=Sertifikat-autoritet
|
||||
tlsa_usage1=Slutt entitet
|
||||
tlsa_usage2=Trust anker
|
||||
tlsa_usage3=Domene utgitt
|
||||
trusted_alg=Algoritme
|
||||
trusted_anchor=Anker sone
|
||||
trusted_dlv=Virkelig sone
|
||||
@@ -1001,6 +1014,7 @@ type_PTR=Revers adresse
|
||||
type_RP=Ansvarlig person
|
||||
type_SPF=Avsender tillatt fra
|
||||
type_SRV=Tjeneste adresse
|
||||
type_TLSA=SSL sertifikat
|
||||
type_TXT=Tekst
|
||||
type_WKS=Velkjente tjenester
|
||||
umass_any=Oppdater <b>alle</b> oppføringer
|
||||
@@ -1047,6 +1061,10 @@ value_SRV1=Prioritet
|
||||
value_SRV2=Vekt
|
||||
value_SRV3=Port
|
||||
value_SRV4=Tjener
|
||||
value_TLSA1=Sertifikat bruk
|
||||
value_TLSA2=Sertifikat selektor
|
||||
value_TLSA3=Sertifikat match
|
||||
value_TLSA4=Sertifikat data
|
||||
value_TXT1=Melding
|
||||
value_WKS1=Adresse
|
||||
value_WKS2=Protokoll
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Functions for managing BIND 4 and 8/9 records files
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
|
||||
# Globals from Webmin or bind8-lib.pl
|
||||
our (%config, %text, %in);
|
||||
|
||||
@@ -296,13 +296,21 @@ else {
|
||||
length($in{'value3'}) % 2 == 0 ||
|
||||
&error(&text('edit_etlsa', $in{'value3'}));
|
||||
}
|
||||
elsif ($in{'type'} eq 'SSHFP') {
|
||||
$in{'value0'} =~ /^\d+$/ ||
|
||||
&error(text('edit_ealg', $in{'value0'}));
|
||||
$in{'value1'} =~ /^\d+$/ ||
|
||||
&error(text('edit_efp', $in{'value1'}));
|
||||
$in{'value2'} =~ /^[a-f0-9]+$/ ||
|
||||
&error(&text('edit_esshfp', $in{'value2'}));
|
||||
}
|
||||
elsif ($in{'type'} eq 'KEY') {
|
||||
$in{'value0'} =~ /^(\d+|0x[0-9a-f]+={0,2})$/i ||
|
||||
&error(text('edit_eflags', $in{'value0'}));
|
||||
$in{'value1'} =~ /^\d+$/ ||
|
||||
&error(text('edit_eproto', $in{'value1'}));
|
||||
$in{'value2'} =~ /^\d+$/ ||
|
||||
&error(text('edit_ealg', $in{'value2'}));
|
||||
&error(text('edit_ealg2', $in{'value2'}));
|
||||
$in{'value3'} =~ s/[ \r\n]//g;
|
||||
$in{'value3'} =~ /^[a-zA-Z0-9\/\+]+$/ ||
|
||||
&error(text('edit_ekey'));
|
||||
|
||||
192
certmgr/certmgr-lib.pl
Executable file → Normal file
192
certmgr/certmgr-lib.pl
Executable file → Normal file
@@ -60,7 +60,8 @@ sub print_sign_form {
|
||||
print &ui_table_start($text{'signcsr_header'}, undef, 2);
|
||||
print &ui_table_row($text{'signcsr_csrfile'}, &ui_textbox("csrfile", $in{'csrfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row($text{'signcsr_signfile'}, &ui_textbox("signfile", $in{'signfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row($text{'signcsr_keyfile'}, &ui_textbox("keycertfile", $in{'keycertfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row($text{'signcsr_keycertfile'}, &ui_textbox("cacertfile", $in{'cacertfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row($text{'signcsr_keyfile'}, &ui_textbox("cakeyfile", $in{'cakeyfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row(&ui_link("/help.cgi/certmgr/signcsr_ca_pass",
|
||||
"<b>$text{'signcsr_ca_passphrase'}</b>", undef,
|
||||
"onClick='window.open(\"/help.cgi/certmgr/signcsr_ca_pass\", \"help\", \"toolbar=no,menubar=no,scrollbars=yes,width=400,height=300,resizable=yes\"); return false;'"),
|
||||
@@ -77,9 +78,12 @@ sub show_cert_info {
|
||||
my $certdata=$_[1];
|
||||
my %issuer;
|
||||
my %subject;
|
||||
my %v3ext;
|
||||
my $isreq=0;
|
||||
my @gr;
|
||||
my @fields=('CN','O','OU','L','ST','C');
|
||||
my $field;
|
||||
my $rv = "";
|
||||
if ($certdata=~/^\s*Certificate\s+Request:.*$/mi) {$isreq=1;}
|
||||
foreach $field (@fields){
|
||||
if ($certdata=~/^\s*Issuer:.*?\s+$field=(.*?)(, [A-Z]{1,2}|\/\w+=|$)/m) { $issuer{$field}=$1; }
|
||||
if ($certdata=~/^\s*Subject:.*?\s+$field=(.*?)(, [A-Z]{1,2}|\/\w+=|$)/m) { $subject{$field}=$1; }
|
||||
@@ -89,10 +93,19 @@ sub show_cert_info {
|
||||
if ($certdata=~/^\s*Subject:.*?\/Email=(\S*?)(,\s*|$)/m) { $subject{'emailAddress'}=$1;}
|
||||
if ($certdata=~/^\s*Not\s*After\s*:\s*(.*?)\s*$/m) { $subject{'expires'}=$1;}
|
||||
if ($certdata=~/^\s*Not\s*Before\s*:\s*(.*?)\s*$/m) { $subject{'issued'}=$1;}
|
||||
if ($certdata=~/^\s*MD5\s*Fingerprint=(.*?)\s*$/m) { $subject{'md5fingerprint'}=$1;}
|
||||
if ($certdata=~/^\s*(\S*)\s*Public\s*Key:\s*\((.*?)\s*bit\)\s*$/m) { $subject{'keytype'}=$1; $subject{'keysize'}=$2;}
|
||||
if ($certdata=~/^\s*Modulus\s*\(\d*\s*bit\):\s*((([0-9a-fA-F]{2}:)*\s*)*[0-9a-fA-F]{2})/ms) { $subject{'modulus'}=$1; }
|
||||
if ($certdata=~/^\s*MD5\s+Fingerprint=(.*?)\s*$/m) { $subject{'md5fingerprint'}=$1;}
|
||||
if ($certdata=~/^\s*SHA1\s+Fingerprint=(.*?)\s*$/m) { $subject{'sha1fingerprint'}=$1;}
|
||||
if ($certdata=~/^\s*SHA256\s+Fingerprint=(.*?)\s*$/m) { $subject{'sha256fingerprint'}=$1;}
|
||||
if ($certdata=~/^\s*Public\s+Key\s+Algorithm:\s*(.*?)\s*$/mi) { $subject{'keytype'}=$1;}
|
||||
if ($certdata=~/^\s*Public-Key:\s*\(\s*(\S*?)\s*bit\s*\)\s*$/m) { $subject{'keysize'}=$1;}
|
||||
if ($certdata=~/^\s*Modulus:\s*((([0-9a-fA-F]{2}:)*\s*)*[0-9a-fA-F]{2})/ms) { $subject{'modulus'}=$1; }
|
||||
if ($certdata=~/^\s*Exponent:\s*(.*?)\s*?$/m) { $subject{'exponent'}=$1; }
|
||||
if ($certdata=~/^\s*X509v3 Subject Alternative Name:\s*(.*?)\s*?$/m) { $v3ext{'san'}=$1; }
|
||||
if ($certdata=~/^\s*Serial\s+Number:\s*((([0-9a-fA-F]{2}:)*\s*)*[0-9a-fA-F]{2})\s+/ms) { $subject{'serial'}=$1;}
|
||||
if (!$subject{'serial'}) {
|
||||
if ($certdata=~/^\s*Serial\s+Number:\s*([0-9]+)\s*\(/ms) { $subject{'serial'}=$1;}
|
||||
}
|
||||
if ($certdata=~/^\s*Signature\s+Algorithm:\s*(.*)$/mi) { $subject{'sigalgorithm'}=$1;}
|
||||
if ($subject{'L'} && ($subject{'ST'} || $subject{'C'})) {$subject{'L'}.=',';} #Append commas
|
||||
if ($subject{'ST'} && $subject{'C'}) {$subject{'ST'}.=',';} #Append commas
|
||||
if ($issuer{'L'} && ($issuer{'ST'} || $issuer{'C'})) {$issuer{'L'}.=',';} #Append commas
|
||||
@@ -100,30 +113,86 @@ sub show_cert_info {
|
||||
$subject{'modulus'}=~s/$/<\/code><br>/msg;
|
||||
$subject{'modulus'}=~s/^/<code>/msg;
|
||||
$subject{'modulus'}=~s/\s+//msg;
|
||||
$rv .= "<table width=100%>\n";
|
||||
$rv .= "<tr><td width=50%><b>$text{'certmgrlib_subject'}</b></td><td width=50%><b>$text{'certmgrlib_issuer'}</b></td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'CN'}</td><td>$issuer{'CN'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'O'}</td><td>$issuer{'O'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'OU'}</td><td>$issuer{'OU'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'L'} $subject{'ST'} $subject{'C'}</td><td>$issuer{'L'} $issuer{'ST'} $issuer{'C'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'emailAddress'}</td><td>$issuer{'emailAddress'}</td></tr>\n";
|
||||
|
||||
push(@gr, '<span style="font-weight:bold;">'.$text{'certmgrlib_subject'}.'</span>');
|
||||
push(@gr, '');
|
||||
push(@gr, $text{'view_cn'});
|
||||
push(@gr, $subject{'CN'});
|
||||
if ($subject{'O'}) {
|
||||
push(@gr, $text{'view_o'});
|
||||
push(@gr, $subject{'O'});
|
||||
}
|
||||
if ($subject{'OU'}){
|
||||
push(@gr, $text{'view_ou'});
|
||||
push(@gr, $subject{'OU'});
|
||||
}
|
||||
if ($subject{'L'} || $subject{'ST'} || $subject{'C'}) {
|
||||
push(@gr, $text{'view_location'});
|
||||
push(@gr, $subject{'L'}.$subject{'ST'}.$subject{'C'});
|
||||
}
|
||||
if ($subject{'emailAddress'}){
|
||||
push(@gr, $text{'view_email'});
|
||||
push(@gr, $subject{'emailAddress'});
|
||||
}
|
||||
if ($v3ext{'san'}){
|
||||
push(@gr, "subjectAltName");
|
||||
push(@gr, $v3ext{'san'});
|
||||
}
|
||||
if ($subject{'issued'}){
|
||||
$rv .= "<tr><td colspan=2>$text{'issued_on'} $subject{'issued'}</td></tr>\n";
|
||||
$rv .= "<tr><td colspan=2>$text{'expires_on'} $subject{'expires'}</td></tr>\n";
|
||||
}
|
||||
if ($full){
|
||||
$rv .= "<tr><td>$text{'keysize'}</td><td>$subject{'keysize'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$text{'keytype'}</td><td>$subject{'keytype'}</td></tr>\n";
|
||||
}
|
||||
if ($full){
|
||||
$rv .= "<tr><td>$text{'publicExponent'}</td><td>$subject{'exponent'}</td></tr>\n";
|
||||
$rv .= "<tr><td colspan=2>$text{'modulus'}:<br>$subject{'modulus'}</td></tr>\n";
|
||||
push(@gr, $text{'issued_on'});
|
||||
push(@gr, $subject{'issued'});
|
||||
push(@gr, $text{'expires_on'});
|
||||
push(@gr, $subject{'expires'});
|
||||
}
|
||||
if ($subject{'md5fingerprint'}){
|
||||
$rv .= "<tr><td colspan=2>$text{'md5fingerprint'}:<br>$subject{'md5fingerprint'}</td></tr>\n";
|
||||
push(@gr, $text{'md5fingerprint'});
|
||||
push(@gr, $subject{'md5fingerprint'});
|
||||
}
|
||||
$rv .= "</table>\n";
|
||||
return $rv;
|
||||
if ($subject{'sha1fingerprint'}){
|
||||
push(@gr, $text{'sha1fingerprint'});
|
||||
push(@gr, $subject{'sha1fingerprint'});
|
||||
}
|
||||
if ($subject{'sha256fingerprint'}){
|
||||
push(@gr, $text{'sha256fingerprint'});
|
||||
push(@gr, $subject{'sha256fingerprint'});
|
||||
}
|
||||
if ($full) {
|
||||
if ($subject{'serial'}) {
|
||||
push(@gr, $text{'view_serial'});
|
||||
push(@gr, $subject{'serial'});
|
||||
}
|
||||
if ($subject{'sigalgorithm'}) {
|
||||
push(@gr, $text{'view_sig_algorithm'});
|
||||
push(@gr, $subject{'sigalgorithm'});
|
||||
}
|
||||
push(@gr, $text{'keysize'});
|
||||
push(@gr, $subject{'keysize'});
|
||||
push(@gr, $text{'keytype'});
|
||||
push(@gr, $subject{'keytype'});
|
||||
push(@gr, $text{'publicExponent'});
|
||||
push(@gr, $subject{'exponent'});
|
||||
push(@gr, $text{'modulus'});
|
||||
push(@gr, $subject{'modulus'});
|
||||
}
|
||||
if (!$isreq) {
|
||||
push(@gr, '<br /><span style="font-weight:bold;">'.$text{'certmgrlib_issuer'}.'</span>');
|
||||
push(@gr, '');
|
||||
push(@gr, $text{'view_cn'});
|
||||
push(@gr, $issuer{'CN'});
|
||||
if ($issuer{'O'}) {
|
||||
push(@gr, $text{'view_o'});
|
||||
push(@gr, $issuer{'O'});
|
||||
}
|
||||
if ($issuer{'OU'}){
|
||||
push(@gr, $text{'view_ou'});
|
||||
push(@gr, $issuer{'OU'});
|
||||
}
|
||||
if ($issuer{'L'} || $issuer{'ST'} || $issuer{'C'}) {
|
||||
push(@gr, $text{'view_location'});
|
||||
push(@gr, $issuer{'L'}.$issuer{'ST'}.$issuer{'C'});
|
||||
}
|
||||
}
|
||||
return &ui_grid_table(\@gr, 2, undef, ['style="padding:0;"', 'style="padding:0 0 0.5% 3%;width:75%;"']);
|
||||
}
|
||||
|
||||
sub show_key_info {
|
||||
@@ -155,6 +224,79 @@ sub show_key_info {
|
||||
return $rv;
|
||||
}
|
||||
|
||||
sub show_crl_info {
|
||||
my $full=$_[0];
|
||||
my $crldata=$_[1];
|
||||
my %issuer;
|
||||
my %v3ext;
|
||||
my ($ndx, $pos);
|
||||
my $isreq=0;
|
||||
my @gr;
|
||||
my @fields=('CN','O','OU','L','ST','C');
|
||||
my $field;
|
||||
foreach $field (@fields){
|
||||
if ($crldata=~/^\s*Issuer:.*?\/$field=(.*?)(, [A-Z]{1,2}|\/\w+=|$)/m) { $issuer{$field}=$1; }
|
||||
}
|
||||
if ($crldata=~/^\s*Signature\s+Algorithm:\s*(.*)$/mi) { $issuer{'sigalgorithm'}=$1;}
|
||||
if ($crldata=~/^\s*Last\s+Update:\s*(.*?)\s*?$/m) { $v3ext{'lastupdate'}=$1; }
|
||||
if ($crldata=~/^\s*Next\s+Update:\s*(.*?)\s*?$/m) { $v3ext{'nextupdate'}=$1; }
|
||||
if ($crldata=~/^\s*X509v3 CRL Number:\s*(.*?)\s*?$/m) { $v3ext{'crlnum'}=$1; }
|
||||
if ($issuer{'L'} && ($issuer{'ST'} || $issuer{'C'})) {$issuer{'L'}.=',';} #Append commas
|
||||
if ($issuer{'ST'} && $issuer{'C'}) {$issuer{'ST'}.=',';} #Append commas
|
||||
push(@gr, '<span style="font-weight:bold;">'.$text{'crl'}.'</span>');
|
||||
push(@gr, '');
|
||||
push(@gr, $text{'view_cn'});
|
||||
push(@gr, $issuer{'CN'});
|
||||
if ($issuer{'O'}) {
|
||||
push(@gr, $text{'view_o'});
|
||||
push(@gr, $issuer{'O'});
|
||||
}
|
||||
if ($issuer{'OU'}){
|
||||
push(@gr, $text{'view_ou'});
|
||||
push(@gr, $issuer{'OU'});
|
||||
}
|
||||
if ($issuer{'L'} || $issuer{'ST'} || $issuer{'C'}) {
|
||||
push(@gr, $text{'view_location'});
|
||||
push(@gr, $issuer{'L'}.$issuer{'ST'}.$issuer{'C'});
|
||||
}
|
||||
if ($issuer{'sigalgorithm'}) {
|
||||
push(@gr, $text{'view_sig_algorithm'});
|
||||
push(@gr, $issuer{'sigalgorithm'});
|
||||
}
|
||||
if ($v3ext{'lastupdate'}) {
|
||||
push(@gr, $text{'view_last_update'});
|
||||
push(@gr, $v3ext{'lastupdate'});
|
||||
}
|
||||
if ($v3ext{'nextupdate'}) {
|
||||
push(@gr, $text{'view_next_update'});
|
||||
push(@gr, $v3ext{'nextupdate'});
|
||||
}
|
||||
if ($v3ext{'crlnum'}) {
|
||||
push(@gr, $text{'view_crl_number'});
|
||||
push(@gr, $v3ext{'crlnum'});
|
||||
}
|
||||
if ($full) {
|
||||
push(@gr, "$text{'view_revoked_certs'}:");
|
||||
push(@gr, "");
|
||||
$ndx = index($crldata, "Serial Number:");
|
||||
while ($ndx gt 0) {
|
||||
$crldata = substr($crldata, $ndx);
|
||||
$crldata=~/^\s*Serial Number:\s*(.*)$/mi;
|
||||
push(@gr, "<span style=\"padding-left:10%;\">$text{'view_serial'}</span>");
|
||||
push(@gr, $1);
|
||||
$crldata=~/^\s*Revocation Date:\s*(.*)$/mi;
|
||||
push(@gr, "<span style=\"padding-left:10%;\">$text{'view_revoke_date'}</span>");
|
||||
push(@gr, $1);
|
||||
$crldata=~/^\s*X509v3 CRL Reason Code:\s*(.*)$/mi;
|
||||
push(@gr, "<span style=\"padding-left:10%;\">$text{'view_revoke_reason'}</span>");
|
||||
push(@gr, $1);
|
||||
$ndx = index($crldata, "Serial Number:", $ndx + 1);
|
||||
}
|
||||
}
|
||||
|
||||
return &ui_grid_table(\@gr, 2, undef, ['style="padding:0;"', 'style="padding:0 0 0.5% 3%;width:65%;"']);
|
||||
}
|
||||
|
||||
sub pem_or_der{
|
||||
my $filename=$_[0];
|
||||
my $filetype=$_[1];
|
||||
|
||||
@@ -103,12 +103,15 @@ prime1=Primzahl 1
|
||||
prime2=Primzahl 2
|
||||
privateExponent=Privater Exponent
|
||||
publicExponent=Öffentlicher Exponent
|
||||
sha1fingerprint=SHA-1 Fingerprint
|
||||
sha256fingerprint=SHA-256 Fingerprint
|
||||
signcsr_ca_passphrase=CA Passphrase
|
||||
signcsr_csrfile=CSR Dateiname
|
||||
signcsr_days=Anzahl der Tage der Zertifizierung für
|
||||
signcsr_desc=Auf dieser Seite können Sie eine signiertes CSR von jemand anderem mit einem eigenen privaten Schlüssel signieren.
|
||||
signcsr_e_nocsrfile=Keinen CSR Dateinamen eingegeben
|
||||
signcsr_e_nokeyfile=Kein CA privater Schlüssel oder Zertifikats-Datei eingegeben
|
||||
signcsr_e_nopassword=Es wurde kein CA-Kennwort eingegeben
|
||||
signcsr_e_nosignfile=Kein signiertes Zertifikats-Dateiname eingegeben
|
||||
signcsr_e_signfailed=Fehler, signiertes Zertifikat nicht generiert
|
||||
signcsr_generate=Signiere Zertifikat
|
||||
@@ -121,13 +124,26 @@ signcsr_title=Signiere Certificate Signing Request
|
||||
signcsr_worked=Signiere Zertifikat generiert
|
||||
st=Staat oder Provinz (vollständiger Name)
|
||||
view_choose=Wähle
|
||||
view_cn=Common Name
|
||||
view_crl_number=CRL Nummer
|
||||
view_delete=Lösche
|
||||
view_deleted=Datei erfolgreich gelöscht
|
||||
view_download=Download
|
||||
view_e_nofile=Datei nicht gefunden oder ist keine normale Datei
|
||||
view_e_not_deleted=Fehler: Problem beim Löschen der Datei
|
||||
view_email=E-Mail-Adresse
|
||||
view_last_update=Letztes Update
|
||||
view_location=Lokalität
|
||||
view_next_update=Weiter Update
|
||||
view_o=Organisationsname
|
||||
view_ou=Organisationseinheit Name
|
||||
view_pkcs12=Als PKCS12, mit Passwort:
|
||||
view_revoke_date=Widerrufsdatum
|
||||
view_revoke_reason=Widerrufsgrund
|
||||
view_revoked_certs=Widerrufsbescheinigungen
|
||||
view_select=Bitte wähle eine Datei zum Anzeigen
|
||||
view_serial=Ordnungsnummer
|
||||
view_sig_algorithm=Signaturalgorithmus
|
||||
view_title=Zeige Zertifikat/CSR/Schlüssel
|
||||
view_update=Aktualisieren
|
||||
view_view=Zeige
|
||||
|
||||
16
certmgr/lang/en
Executable file → Normal file
16
certmgr/lang/en
Executable file → Normal file
@@ -20,6 +20,8 @@ keytype=Key Type
|
||||
issued_on=Issued on
|
||||
expires_on=Expires on
|
||||
md5fingerprint=MD5 Fingerprint
|
||||
sha1fingerprint=SHA-1 Fingerprint
|
||||
sha256fingerprint=SHA-256 Fingerprint
|
||||
|
||||
modulus=Modulus (from public key)
|
||||
publicExponent=Public Exponent
|
||||
@@ -102,6 +104,19 @@ view_deleted=File deleted sucessfully
|
||||
view_e_not_deleted=Error: Problem deleting file
|
||||
view_e_nofile=File not found or not a regular file
|
||||
view_wildcard=File Wildcard
|
||||
view_cn=Common Name
|
||||
view_o=Organization
|
||||
view_ou=Organization Unit
|
||||
view_email=Email Address
|
||||
view_location=Location
|
||||
view_serial=Serial Number
|
||||
view_sig_algorithm=Signature Algorithm
|
||||
view_last_update=Last Update
|
||||
view_next_update=Next Update
|
||||
view_revoked_certs=Revoked Certificates
|
||||
view_revoke_date=Revocation Date
|
||||
view_revoke_reason=Revocation Reason
|
||||
view_crl_number=CRL Number
|
||||
|
||||
import_title=Import Key or Signed Certificate
|
||||
import_e_nodir=No directory selected
|
||||
@@ -135,6 +150,7 @@ signcsr_generate=Sign Certificate
|
||||
signcsr_e_nocsrfile=No CSR filename entered
|
||||
signcsr_e_nosignfile=No signed certificate filename entered
|
||||
signcsr_e_nokeyfile=No CA private key file or certificate file entered
|
||||
signcsr_e_nopassword=No CA private key password entered
|
||||
signcsr_e_signfailed=Error, signed certificate not generated
|
||||
signcsr_worked=Signed certificate generated
|
||||
signcsr_saved_cert=The certificate was saved as
|
||||
|
||||
39
certmgr/lang/es
Executable file → Normal file
39
certmgr/lang/es
Executable file → Normal file
@@ -20,6 +20,8 @@ keytype=Tipo de llave
|
||||
issued_on=Fecha de certificación
|
||||
expires_on=Fecha de vencimiento
|
||||
md5fingerprint=Huella dactilar MD5
|
||||
sha1fingerprint=Huella dactilar SHA-1
|
||||
sha256fingerprint=Huella dactilar SHA-256
|
||||
|
||||
modulus=Modulus (del llave publico)
|
||||
publicExponent=Exponente Publico
|
||||
@@ -86,17 +88,30 @@ manage_decrypt=Decrypt Private Key
|
||||
manage_changepw=Change Password of Private Key
|
||||
manage_delete=Delete Certificate
|
||||
|
||||
view_title=View Certificate/CSR/Key
|
||||
view_view=View
|
||||
view_update=Update
|
||||
view_download=Download
|
||||
view_delete=Delete
|
||||
view_select=Please select a file to view
|
||||
view_choose=Choose
|
||||
view_deleted=File deleted sucessfully
|
||||
view_e_not_deleted=Error: Problem deleting file
|
||||
view_e_nofile=File not found or not a regular file
|
||||
view_wildcard=File Wildcard
|
||||
view_title=Ver el Certificado/CSR/Key
|
||||
view_view=Ver
|
||||
view_update=Actualizar
|
||||
view_download=Descargar
|
||||
view_delete=Borrar
|
||||
view_select=Por favor seleccione un archivo para ver
|
||||
view_choose=Escoger
|
||||
view_deleted=Archivo eliminado correctamente
|
||||
view_e_not_deleted=Error: Problema al eliminar el archivo
|
||||
view_e_nofile=Archivo no encontrado o no es un archivo regular
|
||||
view_wildcard=Archivo comodín
|
||||
view_cn=Nombre Común
|
||||
view_o=Organización
|
||||
view_ou=Unidad de Organización
|
||||
view_email=Dirección de email
|
||||
view_location=Locación
|
||||
view_serial=número de serie
|
||||
view_sig_algorithm=Algoritmo de firma
|
||||
view_last_update=última actualización
|
||||
view_next_update=Siguiente actualización
|
||||
view_revoked_certs=Certificados revocados
|
||||
view_revoke_date=Fecha de revocación
|
||||
view_revoke_reason=Razón de revocación
|
||||
view_crl_number=Número CRL
|
||||
|
||||
import_title=Import Key or Signed Certificate
|
||||
import_e_nodir=No directory selected
|
||||
@@ -114,3 +129,5 @@ import_upload_cert=Upload Certificate
|
||||
import_key_file=Key file to upload
|
||||
import_key_destination=Destination directory of key
|
||||
import_upload_key=Upload Key
|
||||
|
||||
signcsr_e_nopassword=No CA private key password entered
|
||||
|
||||
@@ -4,3 +4,4 @@ desc=PKI Certificate and Key Management
|
||||
name=certmgr
|
||||
version=1.8
|
||||
desc_de=PKI-Zertifikat und Schlüssel-Management
|
||||
desc_no=PKI Sertifikater og nøkler
|
||||
|
||||
36
certmgr/signcsr.cgi
Executable file → Normal file
36
certmgr/signcsr.cgi
Executable file → Normal file
@@ -15,7 +15,10 @@ if ($in{'submitted'} eq "sign") {
|
||||
if (!$in{'signfile'}) {
|
||||
$error.=$text{'signcsr_e_nosignfile'}."<br>\n";
|
||||
}
|
||||
if (!$in{'keyfile'} || !$in{'keycertfile'}) {
|
||||
if (!$in{'cakeyfile'}) {
|
||||
$error.=$text{'signcsr_e_nokeyfile'}."<br>\n";
|
||||
}
|
||||
if (!$in{'cacertfile'}) {
|
||||
$error.=$text{'signcsr_e_nokeyfile'}."<br>\n";
|
||||
}
|
||||
if (!$error) {
|
||||
@@ -27,8 +30,8 @@ if ($in{'submitted'} eq "sign") {
|
||||
$config{'incsr_filename'}; }
|
||||
if (!$in{'signfile'}) { $in{'signfile'}=$config{'ssl_cert_dir'}."/".
|
||||
$config{'sign_filename'}; }
|
||||
if (!$in{'keyfile'}) { $in{'keyfile'}=$config{'cakey_path'}; }
|
||||
if (!$in{'keycertfile'}) { $in{'keycertfile'}=$config{'cacert_path'};}
|
||||
if (!$in{'cacertfile'}) { $in{'cacertfile'}=$config{'cacert_path'}; }
|
||||
if (!$in{'cakeyfile'}) { $in{'cakeyfile'}=$config{'cakey_path'}; }
|
||||
if (!$in{'days'}) { $in{'days'}=$config{'default_days'}; }
|
||||
}
|
||||
|
||||
@@ -45,10 +48,12 @@ print &ui_hr();
|
||||
sub process{
|
||||
&foreign_require("webmin", "webmin-lib.pl");
|
||||
local %miniserv;
|
||||
local ($tempdir, $des, $out, $url);
|
||||
local $error=0;
|
||||
&get_miniserv_config(\%miniserv);
|
||||
if (!$miniserv{'ca'}) {
|
||||
&webmin::setup_ca();
|
||||
}
|
||||
}
|
||||
if ((-e $in{'signfile'})&&($in{'overwrite'} ne "yes")) {
|
||||
&overwriteprompt();
|
||||
print &ui_hr();
|
||||
@@ -57,11 +62,19 @@ sub process{
|
||||
}
|
||||
$tempdir = &tempname();
|
||||
mkdir($tempdir, 0700);
|
||||
if ($in{'password'}){ $des="-passin pass:".quotemeta($in{'password'}); }
|
||||
$out = `yes | $config{'openssl_cmd'} ca -in $in{'csrfile'} -out $in{'signfile'} -cert $in{'keycertfile'} -keyfile $in{'keyfile'} -outdir $tempdir -days $in{'days'} -config $config_directory/acl/openssl.cnf $des 2>&1`;
|
||||
if (keyfile_is_encrypted($in{'cakeyfile'})) {
|
||||
if ($in{'password'}) { $des="-passin pass:".quotemeta($in{'password'}); }
|
||||
else {
|
||||
print "<b>$text{'signcsr_e_signfailed'}</b>\n<pre>$text{'signcsr_e_nopassword'}</pre>\n";
|
||||
print &ui_hr();
|
||||
&footer("", $text{'index_return'});
|
||||
exit;
|
||||
}
|
||||
}
|
||||
$out = `yes | $config{'openssl_cmd'} ca -in $in{'csrfile'} -out $in{'signfile'} -cert $in{'cacertfile'} -keyfile $in{'cakeyfile'} -outdir $tempdir -days $in{'days'} -config $config{'ssl_cnf_file'} $des 2>&1`;
|
||||
|
||||
system("rm -rf $tempdir");
|
||||
if (!-e $in{'csrfile'}) {
|
||||
if ($out =~ /^ERROR(.*$)/mi || $out =~ /:error:/mi) {
|
||||
$error=$out;
|
||||
} else{
|
||||
$error=0;
|
||||
@@ -109,3 +122,12 @@ sub overwriteprompt{
|
||||
print &ui_table_end();
|
||||
|
||||
}
|
||||
|
||||
sub keyfile_is_encrypted{
|
||||
my $key=$_[0];
|
||||
my $encrypted=0;
|
||||
open(KFILE,$key)||return(0);
|
||||
while(<KFILE>){ if (/^Proc.*ENCRYPTED.*$/mi) { $encrypted=1; last; } }
|
||||
close(KFILE);
|
||||
return($encrypted);
|
||||
}
|
||||
|
||||
36
certmgr/view.cgi
Executable file → Normal file
36
certmgr/view.cgi
Executable file → Normal file
@@ -38,12 +38,15 @@ if (($in{'filename'}) && ($in{'view'} eq $text{'view_view'})) {
|
||||
}
|
||||
while(<FILE>){ $buffer.=$_;}
|
||||
if ($buffer=~/^\s*-+BEGIN\s*RSA\s*PRIVATE\s*KEY-*\s*$/mi) { $key=1; }
|
||||
if ($buffer=~/^\s*-+BEGIN\s*PRIVATE\s*KEY-*\s*$/mi) { $key=1; }
|
||||
if ($buffer=~/^\s*-+BEGIN\s*CERTIFICATE-*\s*$/mi) { $cert=1; }
|
||||
if ($buffer=~/^\s*-+BEGIN\s*CERTIFICATE\s*REQUEST-*\s*$/mi) { $csr=1; }
|
||||
if ($buffer=~/^\s*-+BEGIN\s*X509\s*CRL-*\s*$/mi) { $crl=1; }
|
||||
if (($key)&&($cert)) {$in{'keycertfile'}=$in{'filename'};}
|
||||
elsif ($key) {$in{'keyfile'}=$in{'filename'};}
|
||||
elsif ($cert) {$in{'certfile'}=$in{'filename'};}
|
||||
elsif ($csr) {$in{'csrfile'}=$in{'filename'};}
|
||||
elsif ($crl) {$in{'crlfile'}=$in{'filename'};}
|
||||
else {
|
||||
print "$text{'e_file'}<br>\n$text{'e_notcert'}\n<p>\n";
|
||||
&footer("", $text{'index_return'});
|
||||
@@ -135,6 +138,25 @@ if ($in{'keycertfile'}) {
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($in{'crlfile'}) {
|
||||
if ($in{'dl'} eq 'yes') {
|
||||
# Just output in PEM format
|
||||
&output_cert($in{'crlfile'});
|
||||
}
|
||||
|
||||
open(OPENSSL,"$config{'openssl_cmd'} crl -in $in{'crlfile'} -text -noout|");
|
||||
while(<OPENSSL>){ $buffer.=$_; }
|
||||
close(OPENSSL);
|
||||
|
||||
print &ui_table_start($in{'crlfile'}, "width=60%", 2);
|
||||
print &ui_table_row(undef, (!$buffer ? $text{'e_file'} : show_crl_info(1,$buffer) ) );
|
||||
print &ui_table_end()."<br>";
|
||||
&download_form("crlfile", $in{'crlfile'}, "CRL");
|
||||
print &ui_hr();
|
||||
&footer("", $text{'index_return'});
|
||||
exit;
|
||||
}
|
||||
|
||||
print &ui_form_start("view.cgi", "post");
|
||||
print &ui_table_start($text{'view_select'}, undef, 2);
|
||||
print &ui_table_row($text{'view_wildcard'}.": ".&ui_textbox("wildcard", $in{'wildcard'}), &ui_submit($text{'view_update'},"update"), undef, $valign_middle);
|
||||
@@ -194,12 +216,14 @@ $rv1 .= &ui_hidden($mode, $keyfile);
|
||||
$rv1 .= &ui_submit("$text{'view_download'} $suffix");
|
||||
$rv1 .= "</form>";
|
||||
|
||||
$rv2 = "<form id='view_p12filename' action='view.cgi/$p12filename' method=post>";
|
||||
$rv2 .= &ui_hidden("pkcs12", "yes");
|
||||
$rv2 .= &ui_hidden($mode, $keyfile);
|
||||
$rv2 .= &ui_submit("$text{'view_download'} $suffix $text{'view_pkcs12'}");
|
||||
$rv2 .= &ui_password("pass","",20);
|
||||
$rv2 .= "</form>";
|
||||
if ($mode ne "crlfile") {
|
||||
$rv2 = "<form id='view_p12filename' action='view.cgi/$p12filename' method=post>";
|
||||
$rv2 .= &ui_hidden("pkcs12", "yes");
|
||||
$rv2 .= &ui_hidden($mode, $keyfile);
|
||||
$rv2 .= &ui_submit("$text{'view_download'} $suffix $text{'view_pkcs12'}");
|
||||
$rv2 .= &ui_password("pass","",20);
|
||||
$rv2 .= "</form>";
|
||||
}
|
||||
|
||||
$rv3 = "<form id='view' action='view.cgi' method=post>";
|
||||
$rv3 .= &ui_hidden("delete", "yes");
|
||||
|
||||
@@ -23,8 +23,8 @@ print &ui_table_start(undef, undef, 2);
|
||||
|
||||
if ($access{'lang'}) {
|
||||
# Show personal language
|
||||
my @langs = &list_languages();
|
||||
my $glang = $gconfig{"lang"} || $default_lang;
|
||||
my @langs = &list_languages($user->{'lang'} || $glang);
|
||||
my ($linfo) = grep { $_->{'lang'} eq $glang } @langs;
|
||||
print &ui_table_row($text{'index_lang'},
|
||||
&ui_radio("lang_def", $user->{'lang'} ? 0 : 1,
|
||||
|
||||
@@ -1,2 +1,9 @@
|
||||
sort_mode=0
|
||||
table_mode=0
|
||||
conf_add_user=1
|
||||
conf_add_group=1
|
||||
conf_find_user=1
|
||||
conf_find_group=1
|
||||
conf_allow_refresh=1
|
||||
conf_allow_sync=1
|
||||
conf_host_links=1
|
||||
|
||||
@@ -1,2 +1,11 @@
|
||||
line1=Display Options,11
|
||||
sort_mode=Sort hosts by,1,1-Hostname,0-Order added,2-Description
|
||||
table_mode=Show hosts as,1,1-Table,0-Icons
|
||||
conf_host_links=Provide a link to modify host,1,1-Yes,0-No
|
||||
line2=Users and Groups Options,11
|
||||
conf_add_user=Allow user add,1,1-Yes,0-No
|
||||
conf_add_group=Allow group add,1,1-Yes,0-No
|
||||
conf_find_user=Allow user database searching,1,1-Yes,0-No
|
||||
conf_find_group=Allow group database searching,1,1-Yes,0-No
|
||||
conf_allow_refresh=Allow refresh of user and group lists,1,1-Yes,0-No
|
||||
conf_allow_sync=Allow server synchronization,1,1-Yes,0-No
|
||||
|
||||
@@ -1,2 +1,11 @@
|
||||
line1=Opcions de Mostra,11
|
||||
sort_mode=Ordena els hosts per,1,1-Nom de host,0-Ordre d'addició,2-Descripció
|
||||
table_mode=Mostra els hosts com a,1,1-Taula,0-Icones
|
||||
conf_host_links=Proporciona un enllaç per modificar el host,1,1-Sí,0-No
|
||||
line2=Opcions d'Usuaris i Grups,11
|
||||
conf_add_user=Permet afegir usuaris,1,1-Sí,0-No
|
||||
conf_add_group=Permet afegir grups,1,1-Sí,0-No
|
||||
conf_find_user=Permet cercar a la base de dades d'usuaris,1,1-Sí,0-No
|
||||
conf_find_group=Permet cercar a la base de dades de grups,1,1-Sí,0-No
|
||||
conf_allow_refresh=Permet refrescar les llistes d'usuaris i grups,1,1-Sí,0-No
|
||||
conf_allow_sync=Permet la sincronització del servidor,1,1-Sí,0-No
|
||||
|
||||
@@ -1,2 +1,11 @@
|
||||
line1=Display Optionen,11
|
||||
sort_mode=Sortiere Hosts nach,1,1-Hostname,0-wie hinzugefügt,2-Beschreibung
|
||||
table_mode=Zeige Hosts als,1,1-Tabelle,0-Symbol
|
||||
conf_host_links=Geben einen Link an, um Host zu ändern,1,1-Ja, 0-Nein
|
||||
line2=Benutzer- und Gruppenoptionen,11
|
||||
conf_add_user=Erlaube Benutzer hinzufügen,1,1-Ja, 0-Nein
|
||||
conf_add_group=Erlaube Gruppen hinzufügen,1,1-Ja, 0-Nein
|
||||
conf_find_user=Erlaube Benutzerdatenbanksuche,1,1-Ja, 0-Nein
|
||||
conf_find_group=Erlaube Gruppendatenbanksuche,1,1-Ja, 0-Nein
|
||||
conf_allow_refresh=Erlaube das Aktualisieren von Benutzer- und Gruppenlisten,1,1-Ja, 0-Nein
|
||||
conf_allow_sync=Erlaube Server-Synchronisation,1,1-Ja, 0-Nein
|
||||
|
||||
@@ -93,7 +93,9 @@ foreach $h (@hosts) {
|
||||
local ($og) = grep { $_->{'group'} eq $in{'group'} } @{$h->{'groups'}};
|
||||
if ($og) {
|
||||
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
|
||||
push(@icons, "/servers/images/$s->{'type'}.gif");
|
||||
push(@icons, $gconfig{'webprefix'} ?
|
||||
($gconfig{'webprefix'}."/servers/images/".$s->{'type'}.".gif") :
|
||||
("../servers/images/".$s->{'type'}.".gif"));
|
||||
push(@links, "edit_host.cgi?id=$h->{'id'}");
|
||||
push(@titles, $s->{'desc'} ? $s->{'desc'} : $s->{'host'});
|
||||
}
|
||||
@@ -116,7 +118,31 @@ print "</form></table><p>\n";
|
||||
|
||||
print &ui_hr();
|
||||
print &ui_subheading($text{'uedit_hosts'});
|
||||
&icons_table(\@links, \@titles, \@icons);
|
||||
if ($config{'table_mode'}) {
|
||||
# Show as table
|
||||
print &ui_columns_start([ $text{'index_thost'},
|
||||
$text{'index_tdesc'},
|
||||
$text{'index_ttype'} ]);
|
||||
foreach $h (@hosts) {
|
||||
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
|
||||
next if (!$s);
|
||||
local ($type) = grep { $_->[0] eq $s->{'type'} }
|
||||
@servers::server_types;
|
||||
local ($link) = $config{'conf_host_links'} ?
|
||||
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())) :
|
||||
($s->{'host'} || &get_system_hostname());
|
||||
print &ui_columns_row([
|
||||
$link,
|
||||
$s->{'desc'},
|
||||
$type->[1],
|
||||
]);
|
||||
}
|
||||
print &ui_columns_end();
|
||||
}
|
||||
else {
|
||||
# Show as icons
|
||||
&icons_table(\@links, \@titles, \@icons);
|
||||
}
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
|
||||
|
||||
@@ -18,8 +18,13 @@ print "<tr $cb> <td><table width=100%>\n";
|
||||
|
||||
print "<tr> <td><b>$text{'host_name'}</b></td>\n";
|
||||
if ($server->{'id'}) {
|
||||
printf &ui_link("/servers/link.cgi/%s/","%s")."</td>\n",
|
||||
$server->{'id'}, $server->{'desc'} ? "$server->{'desc'} ($server->{'host'}:$server->{'port'})" : "$server->{'host'}:$server->{'port'}";
|
||||
print "<td>";
|
||||
printf &ui_link("/servers/link.cgi/%s/","%s"),
|
||||
$server->{'id'},
|
||||
$server->{'desc'} ?
|
||||
"$server->{'desc'} ($server->{'host'}:$server->{'port'})" :
|
||||
"$server->{'host'}:$server->{'port'}";
|
||||
print "</td>";
|
||||
}
|
||||
else {
|
||||
print "<td><a href=/>$text{'this_server'}</a></td>\n";
|
||||
|
||||
@@ -408,7 +408,9 @@ foreach $h (@hosts) {
|
||||
local ($ou) = grep { $_->{'user'} eq $in{'user'} } @{$h->{'users'}};
|
||||
if ($ou) {
|
||||
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
|
||||
push(@icons, "/servers/images/$s->{'type'}.gif");
|
||||
push(@icons, $gconfig{'webprefix'} ?
|
||||
($gconfig{'webprefix'}."/servers/images/".$s->{'type'}.".gif") :
|
||||
("../servers/images/".$s->{'type'}.".gif"));
|
||||
push(@links, "edit_host.cgi?id=$h->{'id'}");
|
||||
push(@titles, $s->{'desc'} ? $s->{'desc'} : $s->{'host'});
|
||||
}
|
||||
@@ -435,7 +437,31 @@ print "</form></table><p>\n";
|
||||
|
||||
print &ui_hr();
|
||||
print &ui_subheading($text{'uedit_hosts'});
|
||||
&icons_table(\@links, \@titles, \@icons);
|
||||
if ($config{'table_mode'}) {
|
||||
# Show as table
|
||||
print &ui_columns_start([ $text{'index_thost'},
|
||||
$text{'index_tdesc'},
|
||||
$text{'index_ttype'} ]);
|
||||
foreach $h (@hosts) {
|
||||
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
|
||||
next if (!$s);
|
||||
local ($type) = grep { $_->[0] eq $s->{'type'} }
|
||||
@servers::server_types;
|
||||
local ($link) = $config{'conf_host_links'} ?
|
||||
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())) :
|
||||
($s->{'host'} || &get_system_hostname());
|
||||
print &ui_columns_row([
|
||||
$link,
|
||||
$s->{'desc'},
|
||||
$type->[1],
|
||||
]);
|
||||
}
|
||||
print &ui_columns_end();
|
||||
}
|
||||
else {
|
||||
# Show as icons
|
||||
&icons_table(\@links, \@titles, \@icons);
|
||||
}
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
|
||||
|
||||
@@ -23,10 +23,13 @@ $formno = 0;
|
||||
foreach $h (@hosts) {
|
||||
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
|
||||
next if (!$s);
|
||||
local ($link) = $config{'conf_host_links'} ? "edit_host.cgi?id=$h->{'id'}" : "#";
|
||||
push(@titles, $s->{'desc'} ? $s->{'desc'}
|
||||
: "$s->{'host'}:$s->{'port'}");
|
||||
push(@links, "edit_host.cgi?id=$h->{'id'}");
|
||||
push(@icons, "$gconfig{'webprefix'}/servers/images/$s->{'type'}.gif");
|
||||
push(@links, $link);
|
||||
push(@icons, $gconfig{'webprefix'} ?
|
||||
($gconfig{'webprefix'}."/servers/images/".$s->{'type'}.".gif") :
|
||||
("../servers/images/".$s->{'type'}.".gif"));
|
||||
push(@installed, @{$h->{'packages'}});
|
||||
$gothost{$h->{'id'}}++;
|
||||
}
|
||||
@@ -43,8 +46,11 @@ if (@links) {
|
||||
next if (!$s);
|
||||
local ($type) = grep { $_->[0] eq $s->{'type'} }
|
||||
@servers::server_types;
|
||||
local ($link) = $config{'conf_host_links'} ?
|
||||
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())) :
|
||||
($s->{'host'} || &get_system_hostname());
|
||||
print &ui_columns_row([
|
||||
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())),
|
||||
$link,
|
||||
$s->{'desc'},
|
||||
scalar(@{$h->{'users'}}),
|
||||
scalar(@{$h->{'groups'}}),
|
||||
@@ -86,63 +92,142 @@ if (@groups) {
|
||||
}
|
||||
print "</tr></table></form>\n";
|
||||
|
||||
if ($config{'conf_add_user'} == 0 &&
|
||||
$config{'conf_add_group'} == 0 &&
|
||||
$config{'conf_allow_refresh'} == 0 &&
|
||||
$config{'conf_allow_sync'} == 0 &&
|
||||
$config{'conf_find_user'} == 0 &&
|
||||
$config{'conf_find_group'} == 0) {
|
||||
# If we have configured EVERY possible 'host' action off, then dont show
|
||||
# the header/horizontal-rule/etc...
|
||||
@hosts = ();
|
||||
}
|
||||
|
||||
if (@hosts) {
|
||||
# Display search and add forms
|
||||
print &ui_hr();
|
||||
print &ui_subheading($text{'index_users'});
|
||||
|
||||
print "<table width=100%><tr>\n";
|
||||
print "<form action=search_user.cgi><td>\n";
|
||||
print "<b>$text{'index_finduser'}</b> <select name=field>\n";
|
||||
print "<option value=user checked>$text{'user'}</option>\n";
|
||||
print "<option value=real>$text{'real'}</option>\n";
|
||||
print "<option value=shell>$text{'shell'}</option>\n";
|
||||
print "<option value=home>$text{'home'}</option>\n";
|
||||
print "<option value=uid>$text{'uid'}</option>\n";
|
||||
print "</select> <select name=match>\n";
|
||||
print "<option value=0 checked>$text{'index_equals'}</option>\n";
|
||||
print "<option value=4>$text{'index_contains'}</option>\n";
|
||||
print "<option value=1>$text{'index_matches'}</option>\n";
|
||||
print "<option value=5>$text{'index_ncontains'}</option>\n";
|
||||
print "<option value=3>$text{'index_nmatches'}</option>\n";
|
||||
print "</select> <input name=what size=15> \n";
|
||||
print "<input type=submit value=\"$text{'find'}\"></td></form>\n";
|
||||
|
||||
print "<form action=user_form.cgi><td align=right>\n";
|
||||
print "<input type=hidden name=new value=1>\n";
|
||||
print "<input type=submit value='$text{'index_newuser'}'>\n";
|
||||
print "</td></form></tr>\n";
|
||||
|
||||
print "<tr><form action=search_group.cgi><td>\n";
|
||||
print "<b>$text{'index_findgroup'}</b> <select name=field>\n";
|
||||
print "<option value=group checked>$text{'gedit_group'}</option>\n";
|
||||
print "<option value=members>$text{'gedit_members'}</option>\n";
|
||||
print "<option value=gid>$text{'gedit_gid'}</option>\n";
|
||||
print "</select> <select name=match>\n";
|
||||
print "<option value=0 checked>$text{'index_equals'}</option>\n";
|
||||
print "<option value=4>$text{'index_contains'}</option>\n";
|
||||
print "<option value=1>$text{'index_matches'}</option>\n";
|
||||
print "<option value=5>$text{'index_ncontains'}</option>\n";
|
||||
print "<option value=3>$text{'index_nmatches'}</option>\n";
|
||||
print "</select> <input name=what size=15> \n";
|
||||
print "<input type=submit value=\"$text{'find'}\"></td></form>\n";
|
||||
|
||||
print "<form action=group_form.cgi><td align=right>\n";
|
||||
print "<input type=hidden name=new value=1>\n";
|
||||
print "<input type=submit value='$text{'index_newgroup'}'>\n";
|
||||
print "</td></form></tr>\n";
|
||||
|
||||
print "<tr><form action=refresh.cgi>\n";
|
||||
print "<td><input type=submit value='$text{'index_refresh'}'>\n";
|
||||
&create_on_input(undef, 1);
|
||||
print "</td>\n";
|
||||
print "</form>\n";
|
||||
|
||||
print "<form action=sync_form.cgi>\n";
|
||||
print "<td align=right><input type=submit ",
|
||||
"value='$text{'index_sync'}'></td>\n";
|
||||
print "</form></tr> </table>\n";
|
||||
print "<table width=100%>";
|
||||
if ($config{'conf_find_user'} == 1 ||
|
||||
$config{'conf_add_user'} == 1) {
|
||||
print "<tr>\n";
|
||||
}
|
||||
if ($config{'conf_find_user'} == 1) {
|
||||
print "<td>\n";
|
||||
print "<form action=search_user.cgi>\n";
|
||||
print "<b>$text{'index_finduser'}</b> <select name=field>\n";
|
||||
print "<option value=user checked>$text{'user'}</option>\n";
|
||||
print "<option value=real>$text{'real'}</option>\n";
|
||||
print "<option value=shell>$text{'shell'}</option>\n";
|
||||
print "<option value=home>$text{'home'}</option>\n";
|
||||
print "<option value=uid>$text{'uid'}</option>\n";
|
||||
print "</select> <select name=match>\n";
|
||||
print "<option value=0 checked>$text{'index_equals'}";
|
||||
print "</option>\n";
|
||||
print "<option value=4>$text{'index_contains'}</option>\n";
|
||||
print "<option value=1>$text{'index_matches'}</option>\n";
|
||||
print "<option value=5>$text{'index_ncontains'}</option>\n";
|
||||
print "<option value=3>$text{'index_nmatches'}</option>\n";
|
||||
print "</select> <input name=what size=15> \n";
|
||||
print "<input type=submit value=\"$text{'find'}\"></form>\n";
|
||||
print "</td>\n";
|
||||
}
|
||||
|
||||
&ui_print_footer("/", $text{'index'});
|
||||
if ($config{'conf_add_user'} == 1 &&
|
||||
$config{'conf_find_user'} == 1) {
|
||||
print "<td align=right>\n";
|
||||
}
|
||||
elsif ($config{'conf_add_user'} == 1) {
|
||||
print "<td>\n";
|
||||
}
|
||||
if ($config{'conf_add_user'} == 1) {
|
||||
print "<form action=user_form.cgi>\n";
|
||||
print "<input type=hidden name=new value=1>\n";
|
||||
print "<input type=submit value='$text{'index_newuser'}'>\n";
|
||||
print "</form>\n";
|
||||
print "</td>\n";
|
||||
}
|
||||
if ($config{'conf_find_user'} == 1 ||
|
||||
$config{'conf_add_user'} == 1) {
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
||||
if ($config{'conf_find_group'} == 1 ||
|
||||
$config{'conf_add_group'} == 1) {
|
||||
print "<tr>\n";
|
||||
}
|
||||
if ($config{'conf_find_group'} == 1) {
|
||||
print "<td>\n";
|
||||
print "<form action=search_group.cgi>";
|
||||
print "<b>$text{'index_findgroup'}</b> <select name=field>\n";
|
||||
print "<option value=group checked>$text{'gedit_group'}";
|
||||
print "</option>\n";
|
||||
print "<option value=members>$text{'gedit_members'}";
|
||||
print "</option>\n";
|
||||
print "<option value=gid>$text{'gedit_gid'}</option>\n";
|
||||
print "</select> <select name=match>\n";
|
||||
print "<option value=0 checked>$text{'index_equals'}";
|
||||
print "</option>\n";
|
||||
print "<option value=4>$text{'index_contains'}</option>\n";
|
||||
print "<option value=1>$text{'index_matches'}</option>\n";
|
||||
print "<option value=5>$text{'index_ncontains'}</option>\n";
|
||||
print "<option value=3>$text{'index_nmatches'}</option>\n";
|
||||
print "</select> <input name=what size=15> \n";
|
||||
print "<input type=submit value=\"$text{'find'}\">";
|
||||
print "</form>\n";
|
||||
print "</td>";
|
||||
}
|
||||
|
||||
if ($config{'conf_add_group'} == 1 &&
|
||||
$config{'conf_find_group'} == 1) {
|
||||
print "<td align=right>\n";
|
||||
}
|
||||
elsif ($config{'conf_add_group'} == 1) {
|
||||
print "<td>\n";
|
||||
}
|
||||
if ($config{'conf_add_group'} == 1) {
|
||||
print "<form action=group_form.cgi>\n";
|
||||
print "<input type=hidden name=new value=1>\n";
|
||||
print "<input type=submit value='$text{'index_newgroup'}'>\n";
|
||||
print "</form></td>\n";
|
||||
}
|
||||
if ($config{'conf_find_group'} == 1 ||
|
||||
$config{'conf_add_group'} == 1) {
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
||||
if ($config{'conf_allow_refresh'} == 1 ||
|
||||
$config{'conf_allow_sync'} == 1) {
|
||||
print "<tr>\n";
|
||||
}
|
||||
if ($config{'conf_allow_refresh'} == 1) {
|
||||
print "<td>\n";
|
||||
print "<form action=refresh.cgi>\n";
|
||||
print "<input type=submit value='$text{'index_refresh'}'>\n";
|
||||
&create_on_input(undef, 1);
|
||||
print "</form>\n";
|
||||
print "</td>\n";
|
||||
}
|
||||
|
||||
if ($config{'conf_allow_refresh'} == 1 &&
|
||||
$config{'conf_allow_sync'} == 1) {
|
||||
print "<td align=right>";
|
||||
}
|
||||
else {
|
||||
print "<td>";
|
||||
}
|
||||
if ($config{'conf_allow_sync'} == 1) {
|
||||
print "<form action=sync_form.cgi>\n";
|
||||
print "<input type=submit value='$text{'index_sync'}'>\n";
|
||||
print "</form>\n";
|
||||
print "</td>\n";
|
||||
}
|
||||
if ($config{'conf_allow_refresh'} == 1 ||
|
||||
$config{'conf_allow_sync'} == 1) {
|
||||
print "</tr>\n";
|
||||
}
|
||||
print "</table>\n";
|
||||
}
|
||||
|
||||
&ui_print_footer("/", $text{'index'});
|
||||
|
||||
@@ -338,7 +338,7 @@ foreach $h (@hosts) {
|
||||
# Can just run RPM command
|
||||
# XXX doesn't actually check output!
|
||||
&remote_eval($s->{'host'}, "webmin", "system(\"rpm --import \$root_directory/webmin/jcameron-key.asc >/dev/null 2>&1\")");
|
||||
($out, $ex) = &remote_eval($s->{'host'}, "webmin", "\$out = `rpm -U --ignoreos --ignorearch '$rfile' >/dev/null 2>&1 </dev/null`; (\$out, \$?)");
|
||||
($out, $ex) = &remote_eval($s->{'host'}, "webmin", "\$out = `rpm -U --ignoreos --ignorearch --nodeps '$rfile' >/dev/null 2>&1 </dev/null`; (\$out, \$?)");
|
||||
&remote_eval($s->{'host'}, "webmin", "unlink('$rfile')")
|
||||
if ($host_need_unlink);
|
||||
if ($ex) {
|
||||
|
||||
@@ -5,9 +5,11 @@
|
||||
|
||||
@ARGV >= 2 || die "usage: create-module.pl [--dir name] <file.wbm> <module>[/version] ..";
|
||||
|
||||
my $pwd;
|
||||
chop($pwd = `pwd`);
|
||||
|
||||
# Parse command-line options
|
||||
my @exclude;
|
||||
while(@ARGV) {
|
||||
if ($ARGV[0] eq "--dir") {
|
||||
shift(@ARGV);
|
||||
@@ -17,17 +19,21 @@ while(@ARGV) {
|
||||
shift(@ARGV);
|
||||
$createsig = 1;
|
||||
}
|
||||
elsif ($ARGV[0] eq "--exclude") {
|
||||
shift(@ARGV);
|
||||
push(@exclude, shift(@ARGV));
|
||||
}
|
||||
else {
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
$file = shift(@ARGV);
|
||||
my $file = shift(@ARGV);
|
||||
if ($file !~ /^\//) {
|
||||
$file = "$pwd/$file";
|
||||
}
|
||||
unlink($file);
|
||||
foreach $m (@ARGV) {
|
||||
foreach my $m (@ARGV) {
|
||||
# Parse module and forced version
|
||||
$m =~ s/\/$//;
|
||||
if ($m =~ /^(.*)\/(.*)$/) {
|
||||
@@ -46,6 +52,9 @@ foreach $m (@ARGV) {
|
||||
$copydir = "/tmp/create-module/$subdir";
|
||||
system("rm -rf $copydir");
|
||||
system("cp -r -L $mod $copydir 2>/dev/null || cp -R -L $mod $copydir");
|
||||
foreach my $e (@exclude) {
|
||||
system("find $copydir -name ".quotemeta($e)." | xargs rm -rf");
|
||||
}
|
||||
|
||||
# Find type from .info file
|
||||
undef(%minfo);
|
||||
|
||||
@@ -41,3 +41,5 @@ Added a Module Config option to add new cron jobs to a specific file, like /etc/
|
||||
Fixed a security hole what could be exploited by passing in an invalid username.
|
||||
---- Changes since 1.690 ----
|
||||
Added buttons to move cron jobs to the top and bottom of the list.
|
||||
---- Changes since 1.830 ----
|
||||
Added a page for manually editing cron jobs.
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
line1=Konfigurierbare Einstellungen,11
|
||||
max_len=Maximale Kommandozeilenanzahl die angezeigt wird,3,Unbegrenzt
|
||||
max_jobs=Maximale Anzahl von Cronjobs anzeigen,3,Unbegrenzt
|
||||
show_time=Zeige Prozess-Zeiten?,1,1-Ja,0-Nein
|
||||
max_len=Maximale Anzahl der anzuzeigenden Befehlszeilen,3,Unbegrenzt
|
||||
max_jobs=Maximale Anzahl der anzuzeigenden Cronjobs,3,Unbegrenzt
|
||||
show_time=Zeige Prozess-Zeiten?,1,1-Ja,0-Nein
|
||||
show_comment=Job Kommentare anzeigen?,1,1-Ja,0-Nein
|
||||
show_run=Zeige den Status aller Aufträge an?,1,2-Ja, und erlaube Start und Stop der Aufträge,1-Ja,0-Nein
|
||||
show_run=Status aller Aufträge anzeigen?,1,2-Ja, und erlaube Start und Stop der Aufträge,1-Ja,0-Nein
|
||||
match_mode=Finde Prozesse durch,1,1-Kommando,0-Kommando und Argumente
|
||||
match_user=Benutzernamen zusätzlich ermitteln beim Finden von Prozessen?,1,1-Ja,0-Nein
|
||||
kill_subs=Alle Unterprozesse zusätzlich zum Prozess selbst töten?,1,1-Ja,0-Nein
|
||||
match_user=Benutzernamen ermitteln beim Finden von Prozessen?,1,1-Ja,0-Nein
|
||||
kill_subs=Alle Unterprozesse des Prozesses töten?,1,1-Ja,0-Nein
|
||||
hourly_only=Cronjobs auf 1x pro Stunde begrenzen?,1,0-Nein,1-Ja
|
||||
add_file=Fügt neue Jobs zu Datei hinzu,3,Reguläre crontab-Datei
|
||||
line2=Systemkonfiguration,11
|
||||
cron_dir=Crontab-Verzeichnis,0
|
||||
cron_get_command=Befehl zum Lesen der Cron-Aufträge eines Benutzers,0
|
||||
cron_edit_command=Befehl zum Bearbeiten der Cron-Aufträge eines Benutzers,0
|
||||
cron_copy_command=Befehl zum Akzeptieren eines Cron-Auftrags eines Benutzers auf stdin,0
|
||||
cron_delete_command=Befehl zum Löschen eines Cron-Auftrages eines Benutzers,0
|
||||
cron_input=Cron unterstützt Eingaben zu Cron-Aufträgen,1,1-Ja,0-Nein
|
||||
cron_dir=Crontab-Verzeichnis,0
|
||||
cron_get_command=Befehl zum Lesen der Cron-Aufträge eines Benutzers,0
|
||||
cron_edit_command=Befehl zum Bearbeiten der Cron-Aufträge eines Benutzers,0
|
||||
cron_copy_command=Befehl zum Akzeptieren eines Cron-Auftrags eines Benutzers auf stdin,0
|
||||
cron_delete_command=Befehl zum Löschen eines Cron-Auftrages eines Benutzers,0
|
||||
cron_input=Cron unterstützt Eingaben zu Cron-Aufträgen,1,1-Ja,0-Nein
|
||||
cron_allow_file=Datei die erlaubte Benutzer enthält,0
|
||||
cron_deny_file=Datei die abgelehnte Benutzer enthält,0
|
||||
cron_deny_all=Rechte ohne Allow- oder Deny-Dateien,1,0-Verweigere alle,1-Verweigere alle außer ROOT,2-Erlaube alle
|
||||
vixie_cron=Unterstützt Vixie-Cron-Erweiterungen,1,1-Ja,0-Nein
|
||||
system_crontab=Pfad zur Vixie-Cron System Crontab-Datei,0
|
||||
cron_deny_all=Rechte ohne Allow- oder Deny-Dateien,1,0-Verweigere alle,1-Verweigere alle außer ROOT,2-Erlaube alle
|
||||
vixie_cron=Unterstützt Vixie-Cron-Erweiterungen,1,1-Ja,0-Nein
|
||||
system_crontab=Pfad zur Vixie-Cron System Crontab-Datei,0
|
||||
single_file=Pfad zur Single-User-crontab-Datei,0
|
||||
cronfiles_dir=Pfad zum Verzeichnis mit zusätzlichen Cron-Dateien,3,Keiner
|
||||
run_parts=run-parts Befehl,0
|
||||
cronfiles_dir=Pfad zum Verzeichnis mit zusätzlichen Cron-Dateien,3,Keiner
|
||||
run_parts=run-parts Befehl,0
|
||||
|
||||
@@ -171,6 +171,7 @@ if ($config{'single_file'}) {
|
||||
'name' => $2,
|
||||
'value' => $3,
|
||||
'user' => "NONE",
|
||||
'command' => '',
|
||||
'index' => scalar(@rv) });
|
||||
}
|
||||
$lnum++;
|
||||
@@ -1567,5 +1568,23 @@ foreach my $f (readdir(DIR)) {
|
||||
closedir(DIR);
|
||||
}
|
||||
|
||||
=head2 list_cron_files()
|
||||
|
||||
Returns a list of all files containing cron jobs
|
||||
|
||||
=cut
|
||||
sub list_cron_files
|
||||
{
|
||||
my @jobs = &list_cron_jobs();
|
||||
my @files = map { $_->{'file'} } grep { $_->{'file'} } @jobs;
|
||||
if ($config{'system_crontab'}) {
|
||||
push(@files, $config{'system_crontab'});
|
||||
}
|
||||
if ($config{'cronfiles_dir'}) {
|
||||
push(@files, glob(&translate_filename($config{'cronfiles_dir'})."/*"));
|
||||
}
|
||||
return &unique(@files);
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
30
cron/edit_manual.cgi
Executable file
30
cron/edit_manual.cgi
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Show the manual edit form
|
||||
|
||||
require './cron-lib.pl';
|
||||
&ReadParse();
|
||||
&ui_print_header(undef, $text{'manual_title'}, "");
|
||||
$access{'acl_users'} == 0 || &error($text{'manual_ecannot'});
|
||||
|
||||
# File selection form
|
||||
my @files = &list_cron_files();
|
||||
print &ui_form_start("edit_manual.cgi");
|
||||
print "<b>$text{'manual_edit'}</b> ",
|
||||
&ui_select("file", $in{'file'} || $files[0], [ @files ])," ",
|
||||
&ui_submit($text{'manual_ok'});
|
||||
print &ui_hidden("search", $in{'search'});
|
||||
print &ui_form_end();
|
||||
|
||||
if ($in{'file'}) {
|
||||
&indexof($in{'file'}, @files) >= 0 || &error($text{'manual_efile'});
|
||||
print &ui_form_start("save_manual.cgi", "form-data");
|
||||
print &text('manual_editing',
|
||||
"<tt>".&html_escape($in{'file'})."</tt>"),"<br>\n";
|
||||
print &ui_textarea("data", &read_file_contents($in{'file'}), 20, 80);
|
||||
print &ui_hidden("search", $in{'search'});
|
||||
print &ui_hidden("file", $in{'file'});
|
||||
print &ui_form_end([ [ undef, $text{'save'} ] ]);
|
||||
}
|
||||
|
||||
&ui_print_footer("index.cgi?search=".&urlize($in{'search'}),
|
||||
$text{'index_return'});
|
||||
@@ -57,6 +57,10 @@ if ($access{'create'}) {
|
||||
if ($config{cron_allow_file} && $config{cron_deny_file} && $access{'allow'}) {
|
||||
push(@crlinks, &ui_link("edit_allow.cgi", $text{'index_allow'}) );
|
||||
}
|
||||
my @files = &list_cron_files();
|
||||
if ($access{'acl_users'} == 0 && @files) {
|
||||
push(@crlinks, &ui_link("edit_manual.cgi", $text{'index_manual'}));
|
||||
}
|
||||
|
||||
# Build a list of cron job rows to show
|
||||
$single_user = !&supports_users() || (@ulist == 1 && $access{'mode'});
|
||||
|
||||
@@ -10,6 +10,7 @@ index_none3=Encara no tens cap treball cron.
|
||||
index_create=Crea una nou treball planificat amb cron.
|
||||
index_ecreate=Crea una nova variable d'entorn.
|
||||
index_allow=Controla l'accés dels usuaris als treballs cron.
|
||||
index_manual=Edita manualment els treballs cron.
|
||||
index_return=a la llista de cron
|
||||
index_env=Variable d'entorn
|
||||
index_move=Desplaça
|
||||
@@ -180,4 +181,12 @@ range_eend=Hi falta la data final de l'interval o b
|
||||
|
||||
delete_err=No s'han pogut suprimir els treballs Cron
|
||||
delete_enone=No has seleccionat res
|
||||
|
||||
manual_title=Edició Manual de Treballs Cron
|
||||
manual_edit=Fitxer cron a editar:
|
||||
manual_ok=Edita
|
||||
manual_editing=Utilitza la caixa de text de sota per editar el treballs Cronde $1. Ves amb compte, perquè Webmin no en farà cap validació!
|
||||
manual_efile=El fitxer seleccionat no és vàlid!
|
||||
manual_ecannot=No tens permís per editar manualment els treballs cron
|
||||
|
||||
__norefs=1
|
||||
|
||||
@@ -92,6 +92,7 @@ index_enable=Aktiviere ausgewählte Aufträge
|
||||
index_env=Umgebungsvariable
|
||||
index_esearch=Keine Aufträge für Ihre Suche nach $1 gefunden.
|
||||
index_esingle=Die Datei $1 die Cron Aufträge auflistet wurde nicht gefunden. Vielleicht ist Cron nicht auf Ihrem System installiert?
|
||||
index_manual=Editiere manuell Cron-Aufträge.
|
||||
index_move=Verschieben
|
||||
index_none=Es gibt keine Cron-Aufträge auf diesem System
|
||||
index_none2=Es gibt keine Cron-Aufträge, auf die Sie zugreifen dürfen.
|
||||
@@ -137,6 +138,11 @@ log_kill_l=Cron-Auftrag "$2" für $1 terminiert.
|
||||
log_modify=Cron-Auftrag für $1 geändert
|
||||
log_modify_l=Cron-Auftrag "$2" für $1 geändert
|
||||
log_move=Cron-Auftrag verschoben für $1
|
||||
manual_ecannot=Sie sind nicht berechtigt, Cron-Aufträge manuell zu bearbeiten
|
||||
manual_edit=Cron Datei zum editieren:
|
||||
manual_efile=Ausgewählte Datei ist ungültig!
|
||||
manual_ok=Editieren
|
||||
manual_title=Editiere manuell Cron-Aufträge
|
||||
move_err=Konnte Cron-Auftrag nicht verschieben
|
||||
move_etype=Dieser Cron-Auftrag kann nicht verschoben werden
|
||||
range_all=Führe zu jeder Zeit aus
|
||||
|
||||
@@ -10,6 +10,7 @@ index_none3=You do not have any cron jobs yet.
|
||||
index_create=Create a new scheduled cron job.
|
||||
index_ecreate=Create a new environment variable.
|
||||
index_allow=Control user access to cron jobs.
|
||||
index_manual=Manually edit cron jobs.
|
||||
index_return=cron list
|
||||
index_env=Environment variable
|
||||
index_move=Move
|
||||
@@ -180,4 +181,12 @@ range_eend=Missing or invalid ending date in range to run
|
||||
|
||||
delete_err=Failed to delete Cron jobs
|
||||
delete_enone=None selected
|
||||
|
||||
manual_title=Manually Edit Cron Jobs
|
||||
manual_edit=Cron file to edit:
|
||||
manual_ok=Edit
|
||||
manual_editing=Use the text box below to edit Cron jobs in $1. Be careful, as no validation will be done by Webmin!
|
||||
manual_efile=Selected file is not valid!
|
||||
manual_ecannot=You are not allowed to manually edit cron jobs
|
||||
|
||||
__norefs=1
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
desc_nl=Geplande Cron Taken
|
||||
desc_ko_KR.euc=¿¹¾àµÈ Cron ÀÛ¾÷
|
||||
risk=low medium high
|
||||
desc_ru_SU=òÁÓÐÉÓÁÎÉÅ ÚÁÄÁÎÉÊ Cron
|
||||
desc_zh_TW.Big5=©w®É°õ¦æ¤u§@ (Cron)
|
||||
desc_pl=Harmonogram zadañ Cron
|
||||
desc_de=Geplante Aufträge (Cron)
|
||||
name=Cron Manager
|
||||
desc_zh_CN=Cron ÈÎÎñµ÷¶È
|
||||
desc_pt=Tarefas Agendadas (Cron)
|
||||
category=system
|
||||
desc_tr=Zamanlandýrýlmýþ Görevler
|
||||
os_support=solaris slackware-linux redhat-linux mandrake-linux debian-linux suse-linux united-linux hpux freebsd osf1 irix unixware openserver macos open-linux turbo-linux openbsd corel-linux cobalt-linux aix netbsd msc-linux generic-linux gentoo-linux trustix-linux sol-linux coherent-linux openmamba-linux windows pardus-linux
|
||||
desc=Scheduled Cron Jobs
|
||||
desc_es=Tareas Planificadas (Cron)
|
||||
desc_sv=Schemalagda cronjobb
|
||||
desc_fr=Tâches Cron
|
||||
desc_ja_JP.euc=ͽÄêºÑ¤ß Cron ºî¶È
|
||||
desc_hu=Idõzitett futtatások (Cron)
|
||||
desc_ru_RU=Ðàñïèñàíèå çàäàíèé Cron
|
||||
desc_ca=Treballs Planificats Cron
|
||||
longdesc=Create, edit and delete Cron jobs.
|
||||
depends=proc
|
||||
readonly=1
|
||||
desc_zh_TW.UTF-8=定時執行工作 (Cron)
|
||||
desc_zh_CN.UTF-8=Cron 任务调度
|
||||
desc_ja_JP.UTF-8=予定済ã<CB86>¿ Cron 作æ¥
|
||||
desc_ko_KR.UTF-8=예약ë<C2BD>œ Cron 작업
|
||||
desc_sk=Cron Plánovaè úloh
|
||||
risk=low medium high
|
||||
desc=Scheduled Cron Jobs
|
||||
longdesc=Create, edit and delete Cron jobs.
|
||||
desc_nl=Geplande Cron Taken
|
||||
desc_ko_KR.euc=¿¹¾à µÈ Cron ÀÛ¾÷
|
||||
desc_ru_SU=òÃ<C2B2>ÓÃ<E2809C>ÉÓÃ<E2809C>ÎÉÅ ÚÃ<C5A1>ÄÃ<E2809E>ÎÉÊ Cron
|
||||
desc_zh_TW.Big5=©w®É°õ¦æ¤u§@ (Cron)
|
||||
desc_pl=Harmonogram zadañ Cron
|
||||
desc_zh_CN=Cron ÈÎÎñµ÷¶È
|
||||
desc_pt=Tarefas Agendadas (Cron)
|
||||
desc_tr=Zamanlandýrýlmýþ Görevler
|
||||
desc_es=Tareas Planificadas (Cron)
|
||||
desc_sv=Schemalagda cronjobb
|
||||
desc_fr=Tâches Cron
|
||||
desc_ja_JP.euc=Ã<>½ÄêºÑ¤ß Cron ºî¶È
|
||||
desc_hu=Idõzitett futtatások (Cron)
|
||||
desc_ru_RU=ö²ö<C2B2>ö“ö<E2809C>ö‰ö“ö<E2809C>öŽö‰ö… öšö<C5A1>ö„ö<E2809E>öŽö‰öŠ Cron
|
||||
desc_ca=Treballs Planificats Cron
|
||||
desc_zh_TW.UTF-8=定時執行工作 (Cron)
|
||||
desc_zh_CN.UTF-8=Cron 任务调度
|
||||
desc_ja_JP.UTF-8=予定済ãÂ<C2A3>¿ Cron 作æ¥Â
|
||||
desc_ko_KR.UTF-8=예약ëÂ<C2AB>Å“ Cron 작업
|
||||
desc_sk=Cron Plánovaè úloh
|
||||
desc_it=Pianificazione Cron Job
|
||||
desc_cz=Cron Plánovaè úloh
|
||||
desc_ru.UTF-8=РаÑ<EFBFBD>пиÑ<EFBFBD>ание заданий Cron
|
||||
desc_hu.UTF-8=Tervezett Cron munkák
|
||||
desc_cz.UTF-8=Cron PlánovaÄ<EFBFBD> úloh
|
||||
desc_pl.UTF-8=Harmonogram zadań crona
|
||||
desc_sk.UTF-8=Cron PlánovaÄ<EFBFBD> úloh
|
||||
desc_cz=Cron Plánovaè úloh
|
||||
desc_ru.UTF-8=Ã<EFBFBD> Ã<EFBFBD>°ÑÂ<EFBFBD>Ã<EFBFBD>¿Ã<EFBFBD>¸ÑÂ<EFBFBD>Ã<EFBFBD>°Ã<EFBFBD>½Ã<EFBFBD>¸Ã<EFBFBD>µ Ã<>·Ã<C2B7>°Ã<C2B0>´Ã<C2B4>°Ã<C2B0>½Ã<C2BD>¸Ã<C2B8>¹ Cron
|
||||
desc_hu.UTF-8=Tervezett Cron munkák
|
||||
desc_cz.UTF-8=Cron PlánovaÄÂ<EFBFBD> úloh
|
||||
desc_pl.UTF-8=Harmonogram zadań crona
|
||||
desc_sk.UTF-8=Cron PlánovaÄÂ<EFBFBD> úloh
|
||||
desc_no=Tidsplanlagte Cron jobber
|
||||
longdesc_hu=Idõzitett futtatások létrehozása, módosítása és törlése
|
||||
longdesc_hu=Idõzitett futtatások létrehozása, módosÃtása és törlése
|
||||
longdesc_ms_MY=Cipta, Ubah dan padam Tugas Cron.
|
||||
desc_ms_MY=Tugas Cron Berjadual
|
||||
longdesc_de=Erstellt, editiert und löscht Cron-Aufträge.
|
||||
longdesc_pl=Twórz, edytuj i usuwaj zadania Cron.
|
||||
longdesc_pl=Twórz, edytuj i usuwaj zadania Cron.
|
||||
longdesc_ca=Crea, edita i suprimeix treballs Cron.
|
||||
longdesc_de=Erzeugen und Bearbeiten von wiederkehrenden CRON-Aufträgen.
|
||||
longdesc_de.UTF-8=Erzeugen und Bearbeiten von wiederkehrenden CRON-Aufträgen.
|
||||
|
||||
19
cron/save_manual.cgi
Executable file
19
cron/save_manual.cgi
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Save a manually edited cron job
|
||||
|
||||
require './cron-lib.pl';
|
||||
&ReadParseMime();
|
||||
&error_setup($text{'manual_err'});
|
||||
$access{'acl_users'} == 0 || &error($text{'manual_ecannot'});
|
||||
|
||||
# Validate the file and update it
|
||||
my @files = &list_cron_files();
|
||||
&indexof($in{'file'}, @files) >= 0 || &error($text{'manual_efile'});
|
||||
$in{'data'} =~ s/\r//g;
|
||||
$in{'data'} .= "\n" if ($in{'data'} !~ /\n$/);
|
||||
&open_lock_tempfile(FILE, ">$in{'file'}");
|
||||
&print_tempfile(FILE, $in{'data'});
|
||||
&close_tempfile(FILE);
|
||||
|
||||
&webmin_log("manual", undef, $in{'file'});
|
||||
&redirect("index.cgi?search=".&urlize($in{'search'}));
|
||||
@@ -78,6 +78,7 @@ save_etimeout=Hi falta el temps m
|
||||
save_eusermin=Les ordres que s'executen en altres servidors no es poden executar des d'Usermin
|
||||
save_eformat=El tipus MIME de sortida és invàlid
|
||||
save_eopts=Hi falta el fitxer d'opcions per al paràmetre $1
|
||||
save_eopts2=El fitxer d'opcions o el valor per defecte del paràmetre $1 no pot contenir:
|
||||
|
||||
run_err=No s'ha pogut executar l'ordre
|
||||
run_ecannot=No tens permís per executar aquesta ordre
|
||||
|
||||
@@ -126,6 +126,8 @@ save_ecmd=Ingen kommando angitt
|
||||
save_edesc=Ingen beskrivelse angitt
|
||||
save_edir=Manglende eller ugyldig katalog
|
||||
save_eformat=Ugyldig output MIME type
|
||||
save_eopts=Manglende innstllingsfil for parameter $1
|
||||
save_eopts2=Innstillingsfil eller standard-verdi for parameter $1 kan ikke innholde :
|
||||
save_eorder=Sortering på hovedsiden må være et heltall
|
||||
save_err=Kunne ikke lagre kommando
|
||||
save_etimeout=Manglende eller ugyldig maks. tid å vente
|
||||
|
||||
@@ -1 +1 @@
|
||||
gray-theme
|
||||
authentic-theme
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user