mirror of
https://github.com/webmin/webmin.git
synced 2026-02-04 14:42:15 +00:00
Compare commits
241 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6ad8b0f41 | ||
|
|
5eb2d26862 | ||
|
|
2c0ac4fa56 | ||
|
|
65f4c4149f | ||
|
|
2a94a7dbd1 | ||
|
|
6833ce004a | ||
|
|
cdcfdfb2ad | ||
|
|
3e8418eed2 | ||
|
|
c9f4968bcb | ||
|
|
2437f73570 | ||
|
|
25b7ee5b1a | ||
|
|
286eace8b7 | ||
|
|
ed59ce2984 | ||
|
|
8e3adcc605 | ||
|
|
26d38556f0 | ||
|
|
5e7b0386ff | ||
|
|
21f7dc9971 | ||
|
|
66eccaf7e7 | ||
|
|
2a104b43c9 | ||
|
|
f69c84ef81 | ||
|
|
20a2fdf400 | ||
|
|
b02acf87e5 | ||
|
|
ec6e681818 | ||
|
|
32fe68ea12 | ||
|
|
a6b3d26416 | ||
|
|
c665f36af6 | ||
|
|
18b12d3401 | ||
|
|
bec8d15d7a | ||
|
|
51894fe0c3 | ||
|
|
1b29af7780 | ||
|
|
7e5ccdc77a | ||
|
|
3377c44813 | ||
|
|
70019b7843 | ||
|
|
0b864c966f | ||
|
|
5834437209 | ||
|
|
2cb5d88637 | ||
|
|
546ea972de | ||
|
|
d5331075bb | ||
|
|
4f21870885 | ||
|
|
5d9d5ce9ff | ||
|
|
cf6eeadaa3 | ||
|
|
523bdc0066 | ||
|
|
26008394a9 | ||
|
|
0ac26ba423 | ||
|
|
dd9ab85fe7 | ||
|
|
6a146e1471 | ||
|
|
a0233341d5 | ||
|
|
5b33741e67 | ||
|
|
f876411cdc | ||
|
|
140c41e48a | ||
|
|
b68a47fa0d | ||
|
|
511e70aa97 | ||
|
|
77e6391502 | ||
|
|
1a707f1d06 | ||
|
|
68f0e8dc98 | ||
|
|
473ae9cf4a | ||
|
|
9e6502e473 | ||
|
|
f61c7bd773 | ||
|
|
760b56d809 | ||
|
|
ff77a0f72e | ||
|
|
51daa708fe | ||
|
|
b82bd80f42 | ||
|
|
20f947e7e5 | ||
|
|
1f50a3a4e6 | ||
|
|
02e8ada005 | ||
|
|
3bcc674f0f | ||
|
|
d05fdd1a9a | ||
|
|
4df257770a | ||
|
|
84d2d3d17f | ||
|
|
98efcf494b | ||
|
|
a8afe6394f | ||
|
|
bf835619f4 | ||
|
|
b4047ad429 | ||
|
|
20991a1db5 | ||
|
|
f1859983ab | ||
|
|
78fb6c26b9 | ||
|
|
63e4afbce6 | ||
|
|
38fc075167 | ||
|
|
f4f163b046 | ||
|
|
02f08fc5d4 | ||
|
|
a6909939ba | ||
|
|
f5004d27af | ||
|
|
4ce437873a | ||
|
|
4998edefde | ||
|
|
db53ee9364 | ||
|
|
b490c63f0e | ||
|
|
2a956a021b | ||
|
|
e32912a0de | ||
|
|
a5a3da0481 | ||
|
|
ca07c38c42 | ||
|
|
2053e8455f | ||
|
|
f99cbe4bd3 | ||
|
|
c5d65e604e | ||
|
|
a15e691dc6 | ||
|
|
c01f2dba5d | ||
|
|
ae16105951 | ||
|
|
2eaabe9119 | ||
|
|
19edb9f7dd | ||
|
|
f8fbf304f2 | ||
|
|
fe03d460c4 | ||
|
|
2f4455aef0 | ||
|
|
49be46c33e | ||
|
|
7b8dfb7f7b | ||
|
|
c377e2d2be | ||
|
|
4a7161d780 | ||
|
|
600b0d7490 | ||
|
|
6079a685a1 | ||
|
|
e86dd731fb | ||
|
|
cc9689d204 | ||
|
|
9286154789 | ||
|
|
048ae20b37 | ||
|
|
682b3cf188 | ||
|
|
d75dcacfd1 | ||
|
|
51cf3fd018 | ||
|
|
25127a8f58 | ||
|
|
3d3ffd0e17 | ||
|
|
b57fdd512f | ||
|
|
7ad9321b8d | ||
|
|
8b765b497a | ||
|
|
1feca0c2fe | ||
|
|
9bdf16f9fd | ||
|
|
1f6594b2ba | ||
|
|
ad18cb2f63 | ||
|
|
fc4e79ed06 | ||
|
|
4a1abb0c10 | ||
|
|
41d44ed929 | ||
|
|
4ca40b79c0 | ||
|
|
e6286bf90b | ||
|
|
fafada020a | ||
|
|
3e60854861 | ||
|
|
66ac2ba10f | ||
|
|
677948bd9a | ||
|
|
c1bfc42978 | ||
|
|
b593551c5f | ||
|
|
20cf24ee8c | ||
|
|
fa8bc4d9ed | ||
|
|
eb04469846 | ||
|
|
9de19ee7e4 | ||
|
|
f4af200fb9 | ||
|
|
55f228a6f4 | ||
|
|
4f1d3e9cf7 | ||
|
|
193fd0db40 | ||
|
|
2d95efa30e | ||
|
|
e23db63f33 | ||
|
|
a7aa7602df | ||
|
|
0bf7594833 | ||
|
|
7fd281ae21 | ||
|
|
8dbaf0e02f | ||
|
|
33f7ad52fd | ||
|
|
4313adf159 | ||
|
|
c4805ec951 | ||
|
|
89b14b4d82 | ||
|
|
3094acb7c1 | ||
|
|
5f7c2e34af | ||
|
|
73c6561a24 | ||
|
|
bf062d8228 | ||
|
|
73ec73ca21 | ||
|
|
facf204149 | ||
|
|
f5a3634e09 | ||
|
|
755f2bcc70 | ||
|
|
a0a87ed9cd | ||
|
|
399ded7829 | ||
|
|
2150afae0c | ||
|
|
2b0d49416c | ||
|
|
d9fde100b9 | ||
|
|
f2ddef2cfe | ||
|
|
4ff9866547 | ||
|
|
43e8737877 | ||
|
|
8ffe3f9844 | ||
|
|
f6f72d547e | ||
|
|
7348723545 | ||
|
|
cc27b1cdc8 | ||
|
|
301b994855 | ||
|
|
6d862276ac | ||
|
|
837aa43f2e | ||
|
|
35bc2408af | ||
|
|
6430a0ec45 | ||
|
|
a2f88e1d1a | ||
|
|
3cf65f8057 | ||
|
|
5867b4120e | ||
|
|
024f08f58a | ||
|
|
5e63eb2b15 | ||
|
|
218a5034c5 | ||
|
|
b499398801 | ||
|
|
9bcda0b429 | ||
|
|
ec0352d798 | ||
|
|
b5ace450a4 | ||
|
|
43a86a8680 | ||
|
|
0437c27ed1 | ||
|
|
abfc7620f5 | ||
|
|
275967cb7d | ||
|
|
00c1f1410c | ||
|
|
e1219d58cf | ||
|
|
db89c10c61 | ||
|
|
591fbe8656 | ||
|
|
a257f33031 | ||
|
|
0177ad2e88 | ||
|
|
49353baa58 | ||
|
|
a1ad0504f0 | ||
|
|
917e30d04b | ||
|
|
c56591bd63 | ||
|
|
fdb1a2909b | ||
|
|
b10a39fb50 | ||
|
|
c7eaa36b24 | ||
|
|
e18884150b | ||
|
|
8d3bbdbb6e | ||
|
|
2ee43178df | ||
|
|
76cc260c7e | ||
|
|
b871dcf4c3 | ||
|
|
1b0242c4e2 | ||
|
|
2f113ee72d | ||
|
|
78b70f7e1f | ||
|
|
c71cfc96f9 | ||
|
|
b7b09fcb7d | ||
|
|
11a8bd2e55 | ||
|
|
3db98c7a2d | ||
|
|
3fa7141ae7 | ||
|
|
abd9cebb7d | ||
|
|
d9093ebefc | ||
|
|
1ccc4e4cef | ||
|
|
375eed4530 | ||
|
|
8f61b43253 | ||
|
|
3d83f033f1 | ||
|
|
1279d7f616 | ||
|
|
a1bc2b504c | ||
|
|
07f2c8683a | ||
|
|
b129fd8a27 | ||
|
|
b7ec392bba | ||
|
|
ba1af2aeaf | ||
|
|
3a64619e11 | ||
|
|
e8c1223305 | ||
|
|
22b27811b3 | ||
|
|
b86ba57787 | ||
|
|
d1d79c1914 | ||
|
|
f01e2d3eb1 | ||
|
|
8d675e1bc8 | ||
|
|
2da5603dac | ||
|
|
44a51efb1b | ||
|
|
8a5eb8b1d5 | ||
|
|
955c84903a | ||
|
|
3548bd3573 |
@@ -29,7 +29,7 @@ Webmin can be installed in two different ways:
|
||||
1. By downloading a pre-built package, available for different distributions (CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris and [other](http://www.webmin.com/support.html)) from our [download page](http://webmin.com/download.html);
|
||||
<kbd>Note: It is highly recommended to [add repository](https://doxfer.webmin.com/Webmin/Installation) to your system for having automatic updates.</kbd>
|
||||
|
||||
2. By downloading, extracting [source file](https://prdownloads.sourceforge.net/webadmin/webmin-1.951.tar.gz), and running [_setup.sh_](http://www.webmin.com/tgz.html) script, with no arguments, which will setup to run it directly from this directory, or with a command-line argument, such as targeted directory.
|
||||
2. By downloading, extracting [source file](https://prdownloads.sourceforge.net/webadmin/webmin-1.962.tar.gz), and running [_setup.sh_](http://www.webmin.com/tgz.html) script, with no arguments, which will setup to run it directly from this directory, or with a command-line argument, such as targeted directory.
|
||||
<kbd>Note: If you are installing Webmin [on Windows](http://www.webmin.com/windows.html) system, you must run the command `perl setup.pl` instead. The Windows version depends on several programs, and modules that may not be part of the standard distribution. You will need _process.exe_ commmand, _sc.exe_ command, and _Win32::Daemon_ Perl module.</kbd>
|
||||
|
||||
## Documentation
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
do 'acl-lib.pl';
|
||||
require 'acl-lib.pl';
|
||||
our ($config_directory, %gconfig);
|
||||
|
||||
# backup_config_files()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
do 'adsl-client-lib.pl';
|
||||
require 'adsl-client-lib.pl';
|
||||
|
||||
# backup_config_files()
|
||||
# Returns files and directories that can be backed up
|
||||
|
||||
@@ -17,6 +17,8 @@ else {
|
||||
map { $access_types{$_}++ } @access_types;
|
||||
$site_file = ($config{'webmin_apache'} || $module_config_directory)."/site";
|
||||
$httpd_info_cache = $module_config_directory."/httpd-info";
|
||||
$last_config_change_flag = $module_var_directory."/config-flag";
|
||||
$last_restart_time_flag = $module_var_directory."/restart-flag";
|
||||
|
||||
# Check if a list of supported modules needs to be built. This is done
|
||||
# if the Apache binary changes, when Webmin is upgraded, or once every five
|
||||
@@ -541,6 +543,7 @@ for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
%v = ( "line", $change->{'line'}+1,
|
||||
"eline", $change->{'line'}+1,
|
||||
"file", $change->{'file'},
|
||||
"indent", $change->{'indent'},
|
||||
"type", 0,
|
||||
"name", $_[0],
|
||||
"value", $v,
|
||||
@@ -550,7 +553,8 @@ for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
splice(@{$_[2]}, $j, 0, \%v);
|
||||
$lref = &read_file_lines($v{'file'});
|
||||
push(@files, $v{'file'});
|
||||
splice(@$lref, $v{'line'}, 0, "$_[0] $v");
|
||||
splice(@$lref, $v{'line'}, 0,
|
||||
(" " x $v{'indent'})."$_[0] $v");
|
||||
$change = \%v;
|
||||
}
|
||||
else {
|
||||
@@ -571,6 +575,7 @@ for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
%v = ( "line", $l,
|
||||
"eline", $l,
|
||||
"file", $f,
|
||||
"indent", $_[2]->[$j-1]->{'indent'},
|
||||
"type", 0,
|
||||
"name", $_[0],
|
||||
"value", $v,
|
||||
@@ -578,7 +583,8 @@ for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
&renumber($_[3], $l, $f, 1);
|
||||
splice(@{$_[2]}, $j, 0, \%v);
|
||||
push(@files, $f);
|
||||
splice(@$lref, $l, 0, "$_[0] $v");
|
||||
splice(@$lref, $l, 0,
|
||||
(" " x $v{'indent'})."$_[0] $v");
|
||||
}
|
||||
}
|
||||
elsif ($i >= @{$_[1]}) {
|
||||
@@ -606,6 +612,7 @@ for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
$change = $old[$i];
|
||||
}
|
||||
}
|
||||
&update_last_config_change();
|
||||
return &unique(@files);
|
||||
}
|
||||
|
||||
@@ -620,7 +627,15 @@ local $file = $olddir ? $olddir->{'file'} :
|
||||
$newdir->{'file'} ? $newdir->{'file'} : $pconf->[0]->{'file'};
|
||||
local $lref = &read_file_lines($file);
|
||||
local $oldlen = $olddir ? $olddir->{'eline'}-$olddir->{'line'}+1 : undef;
|
||||
local @newlines = $newdir ? &directive_lines($newdir) : ( );
|
||||
local @newlines;
|
||||
if ($newdir) {
|
||||
my $isrc = $olddir ? $olddir :
|
||||
@$pconf ? $pconf->[0] : undef;
|
||||
if ($isrc) {
|
||||
&recursive_set_indent($newdir, $isrc->{'indent'});
|
||||
}
|
||||
@newlines = &directive_lines($newdir);
|
||||
}
|
||||
if ($olddir && $newdir) {
|
||||
# Update in place
|
||||
if ($first) {
|
||||
@@ -686,6 +701,20 @@ elsif (!$olddir && $newdir) {
|
||||
$newdir->{'file'});
|
||||
}
|
||||
}
|
||||
&update_last_config_change();
|
||||
}
|
||||
|
||||
# recursive_set_indent(&directive, indent)
|
||||
# Set the indent to match another at the same level
|
||||
sub recursive_set_indent
|
||||
{
|
||||
my ($dir, $indent) = @_;
|
||||
$dir->{'indent'} = $indent if (!defined($dir->{'indent'}));
|
||||
if ($dir->{'type'}) {
|
||||
foreach my $m (@{$dir->{'members'}}) {
|
||||
&recursive_set_indent($m, $indent+4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# recursive_set_lines_files(&directives, first-line, file)
|
||||
@@ -1057,8 +1086,9 @@ foreach $f (@{$_[0]}) {
|
||||
push(@fl, $f) if (&indexof($f, @fl) < 0);
|
||||
}
|
||||
foreach $f (&unique(@fl)) {
|
||||
$rv .= &ui_checkbox($_[1], $f, $f, (&indexof($f, @{$_[0]}) < 0 ? 0 : 1 ) );
|
||||
$rv .= &ui_checkbox($_[1], $f, $f, (&indexof($f, @{$_[0]}) < 0 ? 0 : 1 ) );
|
||||
}
|
||||
$rv ||= &ui_textbox($_[1], "", 20);
|
||||
return $rv;
|
||||
}
|
||||
|
||||
@@ -1166,12 +1196,18 @@ print "<p>\n";
|
||||
# Returns HTML for a link to put in the top-right corner of every page
|
||||
sub restart_button
|
||||
{
|
||||
local $rv;
|
||||
$args = "redir=".&urlize(&this_url());
|
||||
local $args = "redir=".&urlize(&this_url());
|
||||
local @rv;
|
||||
if (&is_apache_running()) {
|
||||
if ($access{'apply'}) {
|
||||
push(@rv, &ui_link("restart.cgi?$args", $text{'apache_apply'}) );
|
||||
my $n = &needs_config_restart();
|
||||
if ($n) {
|
||||
push(@rv, &ui_link("restart.cgi?$args&newconfig=1",
|
||||
"<b>$text{'apache_apply'}</b>") );
|
||||
}
|
||||
else {
|
||||
push(@rv, &ui_link("restart.cgi?$args", $text{'apache_apply'}) );
|
||||
}
|
||||
}
|
||||
if ($access{'stop'}) {
|
||||
push(@rv, &ui_link("stop.cgi?$args", $text{'apache_stop'}) );
|
||||
@@ -1398,13 +1434,14 @@ sub directive_lines
|
||||
local @rv;
|
||||
foreach $d (@_) {
|
||||
next if ($d->{'name'} eq 'dummy');
|
||||
my $indent = (" " x $d->{'indent'});
|
||||
if ($d->{'type'}) {
|
||||
push(@rv, "<$d->{'name'} $d->{'value'}>");
|
||||
push(@rv, $indent."<$d->{'name'} $d->{'value'}>");
|
||||
push(@rv, &directive_lines(@{$d->{'members'}}));
|
||||
push(@rv, "</$d->{'name'}>");
|
||||
push(@rv, $indent."</$d->{'name'}>");
|
||||
}
|
||||
else {
|
||||
push(@rv, "$d->{'name'} $d->{'value'}");
|
||||
push(@rv, $indent."$d->{'name'} $d->{'value'}");
|
||||
}
|
||||
}
|
||||
return @rv;
|
||||
@@ -1585,6 +1622,7 @@ else {
|
||||
&kill_logged('HUP', $1) || return &text('restart_esig', $1);
|
||||
&wait_for_graceful();
|
||||
}
|
||||
&restart_last_restart_time();
|
||||
return undef;
|
||||
}
|
||||
|
||||
@@ -1717,6 +1755,7 @@ if (!&is_apache_running()) {
|
||||
return "$text{'start_eafter'} : <pre>$out</pre>";
|
||||
}
|
||||
}
|
||||
&restart_last_restart_time();
|
||||
return undef;
|
||||
}
|
||||
|
||||
@@ -2039,5 +2078,33 @@ local $d = &virtual_server::get_domain_by("dom", $n);
|
||||
return $d;
|
||||
}
|
||||
|
||||
# update_last_config_change()
|
||||
# Updates the flag file indicating when the config was changed
|
||||
sub update_last_config_change
|
||||
{
|
||||
&open_tempfile(FLAG, ">$last_config_change_flag", 0, 1);
|
||||
&close_tempfile(FLAG);
|
||||
}
|
||||
|
||||
# restart_last_restart_time()
|
||||
# Updates the flag file indicating when the config was changed
|
||||
sub restart_last_restart_time
|
||||
{
|
||||
&open_tempfile(FLAG, ">$last_restart_time_flag", 0, 1);
|
||||
&close_tempfile(FLAG);
|
||||
}
|
||||
|
||||
# needs_config_restart()
|
||||
# Returns 1 if a restart is needed for sure after a config change
|
||||
sub needs_config_restart
|
||||
{
|
||||
my @cst = stat($last_config_change_flag);
|
||||
my @rst = stat($last_restart_time_flag);
|
||||
if (@cst && @rst && $cst[9] > $rst[9]) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
do 'apache-lib.pl';
|
||||
require 'apache-lib.pl';
|
||||
|
||||
# backup_config_files()
|
||||
# Returns files and directories that can be backed up
|
||||
|
||||
@@ -41,6 +41,7 @@ else {
|
||||
}
|
||||
&flush_file_lines();
|
||||
&unlock_file($d->{'file'});
|
||||
&update_last_config_change();
|
||||
&after_changing();
|
||||
|
||||
&webmin_log("dir", $in{'delete'} ? 'delete' : 'save',
|
||||
|
||||
@@ -36,6 +36,7 @@ else {
|
||||
}
|
||||
&flush_file_lines();
|
||||
&unlock_file($d->{'file'});
|
||||
&update_last_config_change();
|
||||
&after_changing();
|
||||
|
||||
&webmin_log("files", $in{'delete'} ? 'delete' : 'save',
|
||||
|
||||
@@ -837,8 +837,8 @@ return &parse_opt("ForceType", '^\S+\/\S+$', $text{'mod_mime_etype'});
|
||||
sub edit_SetOutputFilter
|
||||
{
|
||||
local @vals = split(/[\s;]+/, $_[0]->{'value'});
|
||||
return (2, $text{'core_outfilter'},
|
||||
&filters_input(\@vals, "SetOutputFilter"));
|
||||
my $fi = &filters_input(\@vals, "SetOutputFilter");
|
||||
return (2, $text{'core_outfilter'}, $fi);
|
||||
}
|
||||
sub save_SetOutputFilter
|
||||
{
|
||||
@@ -848,8 +848,8 @@ return &parse_filters("SetOutputFilter");
|
||||
sub edit_SetInputFilter
|
||||
{
|
||||
local @vals = split(/[\s;]+/, $_[0]->{'value'});
|
||||
return (2, $text{'core_infilter'},
|
||||
&filters_input(\@vals, "SetInputFilter"));
|
||||
my $fi = &filters_input(\@vals, "SetInputFilter");
|
||||
return (2, $text{'core_infilter'}, $fi);
|
||||
}
|
||||
sub save_SetInputFilter
|
||||
{
|
||||
|
||||
@@ -37,6 +37,7 @@ else {
|
||||
# Add to file
|
||||
&save_directive_struct(undef, $dir, $vconf, $conf);
|
||||
&flush_file_lines();
|
||||
&update_last_config_change();
|
||||
&unlock_file($vconf->[0]->{'file'});
|
||||
|
||||
&after_changing();
|
||||
|
||||
@@ -31,6 +31,7 @@ else {
|
||||
# Add to file
|
||||
&save_directive_struct(undef, $dir, $hconf, $hconf);
|
||||
&flush_file_lines();
|
||||
&update_last_config_change();
|
||||
&unlock_file($in{'file'});
|
||||
|
||||
&after_changing();
|
||||
|
||||
@@ -235,11 +235,18 @@ if ($in{'adddir'} && $in{'root'}) {
|
||||
}
|
||||
push(@mems, $dirsect);
|
||||
}
|
||||
foreach my $m (@mems) {
|
||||
$m->{'indent'} = 4;
|
||||
}
|
||||
foreach my $m (@{$dirsect->{'members'}}) {
|
||||
$m->{'indent'} = 8;
|
||||
}
|
||||
|
||||
# Save to the file
|
||||
&save_directive_struct(undef, $virt, $conf, $conf);
|
||||
&flush_file_lines();
|
||||
&unlock_file($f);
|
||||
&update_last_config_change();
|
||||
&unlock_apache_files();
|
||||
|
||||
# Create a symlink from another dir, if requested (as in Debian)
|
||||
|
||||
@@ -26,6 +26,7 @@ foreach $vconf (@virts) {
|
||||
}
|
||||
&flush_file_lines();
|
||||
&unlock_all_files();
|
||||
&update_last_config_change();
|
||||
&after_changing();
|
||||
&webmin_log("virts", "delete", scalar(@virts));
|
||||
&redirect("");
|
||||
|
||||
@@ -75,6 +75,7 @@ if ($config{'test_manual'}) {
|
||||
}
|
||||
unlink($temp);
|
||||
&unlock_file($file);
|
||||
&update_last_config_change();
|
||||
&webmin_log($logtype, "manual", $logname, \%in);
|
||||
|
||||
foreach $h ('virt', 'idx', 'file') {
|
||||
|
||||
@@ -37,10 +37,12 @@ return &parse_choice("SSLEngine");
|
||||
sub get_sslprotos
|
||||
{
|
||||
my @sslprotos = ("SSLv2", "SSLv3", "TLSv1" );
|
||||
if ($httpd_modules{'core'} >= 2.215) {
|
||||
my $ver = $httpd_modules{'core'};
|
||||
$ver =~ s/^(\d+)\.(\d)(\d+)$/$1.$2.$3/;
|
||||
if (&compare_version_numbers($ver, '2.2.15') >= 0) {
|
||||
push(@sslprotos, "TLSv1.1", "TLSv1.2");
|
||||
}
|
||||
if ($httpd_modules{'core'} >= 2.437) {
|
||||
if (&compare_version_numbers($ver, '2.4.37') >= 0) {
|
||||
push(@sslprotos, "TLSv1.3");
|
||||
}
|
||||
return @sslprotos;
|
||||
|
||||
@@ -18,6 +18,7 @@ if ($in{'delete'}) {
|
||||
&delete_file_if_empty($vconf->{'file'});
|
||||
&flush_file_lines();
|
||||
&unlock_file($vconf->{'file'});
|
||||
&update_last_config_change();
|
||||
|
||||
&after_changing();
|
||||
|
||||
|
||||
@@ -9,12 +9,14 @@ do 'at-lib.pl';
|
||||
sub backup_config_files
|
||||
{
|
||||
my @rv;
|
||||
opendir(my $DIR, $config{'at_dir'});
|
||||
while(my $f = readdir($DIR)) {
|
||||
next if ($f eq "." || $f eq ".." || $f eq ".SEQ");
|
||||
if (!-d "$config{'at_dir'}/$f") {
|
||||
push(@rv, "$config{'at_dir'}/$f");
|
||||
if (opendir(my $DIR, $config{'at_dir'})) {
|
||||
while(my $f = readdir($DIR)) {
|
||||
next if ($f eq "." || $f eq ".." || $f eq ".SEQ");
|
||||
if (!-d "$config{'at_dir'}/$f") {
|
||||
push(@rv, "$config{'at_dir'}/$f");
|
||||
}
|
||||
}
|
||||
closedir($DIR);
|
||||
}
|
||||
return @rv;
|
||||
}
|
||||
|
||||
16
at/bootup.cgi
Executable file
16
at/bootup.cgi
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Enable or disable atd at boot time
|
||||
|
||||
require './at-lib.pl';
|
||||
&ReadParse();
|
||||
&foreign_require("init");
|
||||
$init = &get_init_name();
|
||||
if ($in{'boot'}) {
|
||||
&init::enable_at_boot($init);
|
||||
}
|
||||
else {
|
||||
&init::disable_at_boot($init);
|
||||
}
|
||||
&webmin_log($in{'boot'} ? "bootup" : "bootdown");
|
||||
&redirect("");
|
||||
|
||||
52
at/index.cgi
52
at/index.cgi
@@ -21,6 +21,11 @@ if (!&has_command("at")) {
|
||||
"../config.cgi?$module_name"));
|
||||
}
|
||||
|
||||
# Check if OS is supported
|
||||
if (!defined(&list_atjobs)) {
|
||||
&ui_print_endpage(&text('index_nostyle', "../config.cgi?$module_name"));
|
||||
}
|
||||
|
||||
# Show list of existing jobs
|
||||
my @jobs = &list_atjobs();
|
||||
@jobs = grep { &can_edit_user(\%access, $_->{'user'}) } @jobs;
|
||||
@@ -76,7 +81,7 @@ elsif ($access{'mode'} == 3) {
|
||||
else {
|
||||
$usel = &ui_user_textbox("user", $in{'ext_user'});
|
||||
}
|
||||
print &ui_table_row($text{'index_user'}, $usel, undef, ["valign=middle","valign=middle"]);
|
||||
print &ui_table_row($text{'index_user'}, $usel);
|
||||
|
||||
# Run date
|
||||
my @now = localtime(time());
|
||||
@@ -85,28 +90,28 @@ print &ui_table_row($text{'index_date'},
|
||||
&ui_select("month", $now[4],
|
||||
[ map { [ $_, $text{"smonth_".($_+1)} ] } ( 0 .. 11 ) ])."/".
|
||||
&ui_textbox("year", $now[5]+1900, 4).
|
||||
&date_chooser_button("day", "month", "year"), undef, ["valign=middle","valign=middle"]);
|
||||
&date_chooser_button("day", "month", "year"));
|
||||
|
||||
# Run time
|
||||
print &ui_table_row($text{'index_time'},
|
||||
&ui_textbox("hour", undef, 2).":".&ui_textbox("min", "00", 2), undef, ["valign=middle","valign=middle"]);
|
||||
&ui_textbox("hour", undef, 2).":".&ui_textbox("min", "00", 2));
|
||||
|
||||
# Current date and time
|
||||
my ($date, $time) = split(/\s+/, &make_date(time()));
|
||||
print &ui_table_row($text{'index_cdate'}, $date, undef, ["valign=middle","valign=middle"]);
|
||||
print &ui_table_row($text{'index_ctime'}, $time, undef, ["valign=middle","valign=middle"]);
|
||||
print &ui_table_row($text{'index_cdate'}, $date);
|
||||
print &ui_table_row($text{'index_ctime'}, $time);
|
||||
|
||||
# Run in directory
|
||||
print &ui_table_row($text{'index_dir'},
|
||||
&ui_textbox("dir", $dir, 50), undef, ["valign=middle","valign=middle"]);
|
||||
&ui_textbox("dir", $dir, 50));
|
||||
|
||||
# Commands to run
|
||||
print &ui_table_row($text{'index_cmd'},
|
||||
&ui_textarea("cmd", $in{'ext_cmd'}, 5, 50), undef, ["valign=top","valign=top"]);
|
||||
&ui_textarea("cmd", $in{'ext_cmd'}, 5, 50));
|
||||
|
||||
# Send email on completion
|
||||
print &ui_table_row($text{'index_mail'},
|
||||
&ui_yesno_radio("mail", 0), undef, ["valign=middle","valign=middle"]);
|
||||
&ui_yesno_radio("mail", 0));
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ undef, $text{'create'} ] ]);
|
||||
@@ -123,7 +128,7 @@ if ($access{'allow'} && $config{'allow_file'}) {
|
||||
@allow ? 1 : @deny ? 2 : 0,
|
||||
[ [ 0, $text{'index_amode0'} ],
|
||||
[ 1, $text{'index_amode1'} ],
|
||||
[ 2, $text{'index_amode2'} ] ]), undef, ["valign=middle","valign=middle"]);
|
||||
[ 2, $text{'index_amode2'} ] ]));
|
||||
print &ui_table_row("",
|
||||
&ui_textarea("ausers", @allow ? join("\n", @allow) :
|
||||
@deny ? join("\n", @deny) : undef,
|
||||
@@ -132,5 +137,34 @@ if ($access{'allow'} && $config{'allow_file'}) {
|
||||
print &ui_form_end([ [ "save", $text{'save'} ] ]);
|
||||
}
|
||||
|
||||
# If there is an init script that runs an atd server, show status
|
||||
&foreign_require("init");
|
||||
my $init = defined(&get_init_name) ? &get_init_name() : undef;
|
||||
if ($init) {
|
||||
print &ui_hr();
|
||||
print &ui_buttons_start();
|
||||
|
||||
# Running now?
|
||||
my $r = &init::status_action($init);
|
||||
if ($r == 1) {
|
||||
print &ui_buttons_row("stop.cgi", $text{'index_stop'},
|
||||
$text{'index_stopdesc'});
|
||||
}
|
||||
elsif ($r == 0) {
|
||||
print &ui_buttons_row("start.cgi", $text{'index_start'},
|
||||
$text{'index_startdesc'});
|
||||
}
|
||||
|
||||
# Start at boot?
|
||||
my $atboot = &init::action_status($init);
|
||||
print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
|
||||
$text{'index_bootdesc'}, undef,
|
||||
&ui_radio("boot", $atboot == 2 ? 1 : 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 0, $text{'no'} ] ]));
|
||||
|
||||
print &ui_buttons_end();
|
||||
}
|
||||
|
||||
&ui_print_footer("/", $text{'index'});
|
||||
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Slegs gelys gebruikers ..
|
||||
index_amode2=Almal behalwe gelys gebruikers ..
|
||||
index_delete=Kanselleer geselekteerde opdragte
|
||||
index_noat=Die opdrag $1 is nie op u stelsel gevind nie - dit is miskien nie geïnstalleer nie, of nie beskikbaar vir u bestuurstelsel nie.
|
||||
index_nostyle=Webmin weet nie hoe om skeduleopdragte vir hierdie bedryfstelsel te bestuur nie.
|
||||
index_stop=Stop die beplande bedienerbediener
|
||||
index_stopdesc=Skakel die <tt>atd</tt> agtergrondbedienerproses wat geskeduleerde opdragte uitvoer. Dit sal voorkom dat opdragte op hul bepaalde tye uitgevoer word.
|
||||
index_start=Begin die beplande bedienerbediener
|
||||
index_startdesc=Begin die <tt>atd</tt> agtergrondbedienerproses wat geskeduleerde opdragte uitvoer. Dit is nodig om opdragte op hul bepaalde tye uit te voer.
|
||||
index_boot=Begin bediener by opstart?
|
||||
index_bootdesc=Verander hierdie instelling om die geskeduleerde opdragbediener tydens die opstarttyd van die stelsel in of uit te skakel.
|
||||
edit_title=Geplande opdrag
|
||||
edit_cmd=Volledige skrif om uit te voer
|
||||
edit_shortcmd=Opdrag om uit te voer
|
||||
@@ -57,3 +64,9 @@ log_create_job=Die geskeduleerde opdrag vir $1 geskep
|
||||
log_delete_job=Die geskeduleerde opdrag vir $1 gekanselleer
|
||||
log_exec_job=Uitgevoer geskeduleerde opdrag vir $1
|
||||
log_delete_jobs=Kanselleer $1 geskeduleerde opdragte
|
||||
log_stop=Gestopte bediener met geskeduleerde opdragte gestop
|
||||
log_start=Die bediener vir geskeduleerde opdragte is begin
|
||||
log_bootup=Skakel die beplande bediener-bediener by die opstart aan
|
||||
log_bootdown=Gedeaktiveerde bediener vir geskeduleerde opdragte tydens die opstart
|
||||
stop_err=Kon nie bediener stop nie
|
||||
start_err=Kon nie bediener begin nie
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=المستخدمين المدرجين فقط ..
|
||||
index_amode2=كل ما عدا المستخدمين المدرجة ..
|
||||
index_delete=إلغاء الأوامر المحددة
|
||||
index_noat=لم يتم العثور على الأمر$1 على نظامك - ربما لم يتم تثبيته أو غير متوفر لنظام التشغيل الخاص بك.
|
||||
index_nostyle=لا يعرف Webmin كيفية إدارة أوامر الجدولة على نظام التشغيل هذا.
|
||||
index_stop=إيقاف خادم الأوامر المجدولة
|
||||
index_stopdesc=قم بإيقاف تشغيل عملية خادم الخلفية <tt>atd</tt> التي تقوم بتشغيل الأوامر المجدولة. سيمنع هذا الأوامر من التنفيذ في أوقاتها المحددة.
|
||||
index_start=بدء خادم الأوامر المجدولة
|
||||
index_startdesc=ابدأ عملية خادم الخلفية <tt>atd</tt> التي تشغل الأوامر المجدولة. هذا مطلوب من أجل تنفيذ الأوامر في أوقاتها المحددة.
|
||||
index_boot=بدء تشغيل الخادم عند التمهيد؟
|
||||
index_bootdesc=قم بتغيير هذا الإعداد لتمكين أو تعطيل بدء تشغيل خادم الأوامر المجدولة في وقت تمهيد النظام.
|
||||
edit_title=القيادة المجدولة
|
||||
edit_cmd=النصي الكامل للتنفيذ
|
||||
edit_shortcmd=قيادة لتنفيذ
|
||||
@@ -57,3 +64,9 @@ log_create_job=تم إنشاء أمر مجدول لـ$1
|
||||
log_delete_job=تم إلغاء الأمر المجدول لـ$1
|
||||
log_exec_job=تنفيذ الأمر المجدول لـ$1
|
||||
log_delete_jobs=الأوامر المجدولة$1 الملغاة
|
||||
log_stop=توقف خادم الأوامر المجدولة
|
||||
log_start=بدأ خادم الأوامر المجدولة
|
||||
log_bootup=تم تمكين خادم الأوامر المجدولة عند التمهيد
|
||||
log_bootdown=تم تعطيل خادم الأوامر المجدولة في التمهيد
|
||||
stop_err=فشل في إيقاف الخادم
|
||||
start_err=فشل بدء الخادم
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Толькі пералічаныя карыстальнікі ..
|
||||
index_amode2=Усе, акрамя пералічаных карыстальнікаў ..
|
||||
index_delete=Адмяніць выбраныя каманды
|
||||
index_noat=Каманда $1 не была знойдзена ў вашай сістэме - магчыма, яна не ўстаноўлена альбо недаступная для вашай аперацыйнай сістэмы.
|
||||
index_nostyle=Webmin не ведае, як кіраваць раскладам каманд у гэтай аперацыйнай сістэме.
|
||||
index_stop=Спыніць сервер запланаваных каманд
|
||||
index_stopdesc=Выключыце працэс фонавага сервера <tt>atd</tt>, які запускае запланаваныя каманды. Гэта прадухіліць выкананне каманд у вызначаны час.
|
||||
index_start=Запусціце сервер запланаваных каманд
|
||||
index_startdesc=Запусціце фонавы сервер <tt>atd</tt>, які запускае запланаваныя каманды. Гэта неабходна для выканання каманд у вызначаны час.
|
||||
index_boot=Запусціць сервер пры загрузцы?
|
||||
index_bootdesc=Зменіце гэты параметр, каб уключыць або адключыць запуск сервера запланаваных каманд падчас загрузкі сістэмы.
|
||||
edit_title=Запланаванае камандаванне
|
||||
edit_cmd=Поўны сцэнар для выканання
|
||||
edit_shortcmd=Каманду для выканання
|
||||
@@ -57,3 +64,9 @@ log_create_job=Створана запланаваная каманда для $
|
||||
log_delete_job=Адменена запланаваная каманда для $1
|
||||
log_exec_job=Выканана запланаваная каманда для $1
|
||||
log_delete_jobs=Адменены $1 запланаваныя каманды
|
||||
log_stop=Спынены сервер запланаваных каманд
|
||||
log_start=Пачаты сервер запланаваных каманд
|
||||
log_bootup=Уключаны сервер запланаваных каманд пры загрузцы
|
||||
log_bootdown=Адключаны сервер запланаваных каманд пры загрузцы
|
||||
stop_err=Не атрымалася спыніць сервер
|
||||
start_err=Не атрымалася запусціць сервер
|
||||
|
||||
13
at/lang/bg.auto
Normal file
13
at/lang/bg.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin не знае как да управлява команди за график в тази операционна система.
|
||||
index_stop=Спрете сървъра за планирани команди
|
||||
index_stopdesc=Изключете фоновия сървър <tt>atd</tt>, който изпълнява планирани команди. Това ще предотврати изпълнението на команди в определеното им време.
|
||||
index_start=Стартирайте сървър за планирани команди
|
||||
index_startdesc=Стартирайте процеса на фонов сървър <tt>atd</tt>, който изпълнява планирани команди. Това е необходимо за изпълнение на команди в определеното им време.
|
||||
index_boot=Стартиране на сървъра при зареждане?
|
||||
index_bootdesc=Променете тази настройка, за да разрешите или забраните стартирането на сървъра за планирани команди по време на зареждане на системата.
|
||||
log_stop=Спира сървъра за насрочени команди
|
||||
log_start=Стартиран сървър за насрочени команди
|
||||
log_bootup=Активиран сървър за насрочени команди при зареждане
|
||||
log_bootdown=Деактивиран сървър за насрочени команди при зареждане
|
||||
stop_err=Спирането на сървъра не бе успешно
|
||||
start_err=Стартирането на сървъра не бе успешно
|
||||
13
at/lang/ca.auto
Normal file
13
at/lang/ca.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin no sap com gestionar ordres de programació d’aquest sistema operatiu.
|
||||
index_stop=Atura el servidor d'ordres programats
|
||||
index_stopdesc=Apagueu el procés del servidor de fons <tt>atd</tt> que executa ordres programades. Això evitarà que les ordres s'executin a les hores especificades.
|
||||
index_start=Inicieu el servidor d'ordres programats
|
||||
index_startdesc=Inicieu el procés del servidor de fons <tt>atd</tt> que executa ordres programades. Això és necessari perquè les ordres s'executin a les hores especificades.
|
||||
index_boot=Voleu iniciar el servidor a l'arrencada?
|
||||
index_bootdesc=Canvieu aquest paràmetre per habilitar o desactivar l'inici del servidor d'ordres programades en arrencar el sistema.
|
||||
log_stop=S'ha aturat el servidor d'ordres programades
|
||||
log_start=S'ha iniciat el servidor d'ordres programades
|
||||
log_bootup=S'ha activat el servidor d'ordres programades a l'arrencada
|
||||
log_bootdown=S'ha desactivat el servidor d'ordres programades a l'arrencada
|
||||
stop_err=No s'ha pogut aturar el servidor
|
||||
start_err=No s'ha pogut iniciar el servidor
|
||||
@@ -1,7 +1,20 @@
|
||||
index_mail=Odeslat e-mail po dokončení?
|
||||
index_noat=Příkaz $1 nebyl ve vašem systému nalezen - možná není nainstalován nebo není pro váš operační systém k dispozici.
|
||||
index_nostyle=Webmin neví, jak spravovat příkazy plánu v tomto operačním systému.
|
||||
index_stop=Zastavit server naplánovaných příkazů
|
||||
index_stopdesc=Ukončete proces serveru na pozadí <tt>atd</tt>, který spouští naplánované příkazy. Tím se zabrání provádění příkazů v zadaných časech.
|
||||
index_start=Spusťte server Naplánované příkazy
|
||||
index_startdesc=Spusťte proces serveru na pozadí <tt>atd</tt>, který spouští naplánované příkazy. To je vyžadováno, aby se příkazy spouštěly v zadaných časech.
|
||||
index_boot=Spustit server při spuštění?
|
||||
index_bootdesc=Toto nastavení změňte, abyste povolili nebo zakázali spouštění serveru naplánovaných příkazů v době spuštění systému.
|
||||
log_allow=Změnili povolení uživatelé
|
||||
log_create_job=Byl vytvořen naplánovaný příkaz pro $1
|
||||
log_delete_job=Zrušený naplánovaný příkaz pro $1
|
||||
log_exec_job=Byl proveden naplánovaný příkaz pro $1
|
||||
log_delete_jobs=Zrušené $1 naplánované příkazy
|
||||
log_stop=Server plánovaných příkazů zastaven
|
||||
log_start=Spuštěn server naplánovaných příkazů
|
||||
log_bootup=Server při spuštění povolil naplánované příkazy
|
||||
log_bootdown=Zakázáno server naplánovaných příkazů při spuštění
|
||||
stop_err=Server se nepodařilo zastavit
|
||||
start_err=Server se nepodařilo spustit
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Kun listede brugere ..
|
||||
index_amode2=Alle undtagen listede brugere ..
|
||||
index_delete=Annuller valgte kommandoer
|
||||
index_noat=Kommandoen $1 blev ikke fundet på dit system - måske er den ikke installeret eller ikke tilgængelig for dit operativsystem.
|
||||
index_nostyle=Webmin ved ikke, hvordan man administrerer planlægningskommandoer på dette operativsystem.
|
||||
index_stop=Stop planlagte kommandoserver
|
||||
index_stopdesc=Luk <tt>atd</tt> baggrundsserverprocessen, der kører planlagte kommandoer. Dette forhindrer kommandoer i at udføres på deres angivne tidspunkter.
|
||||
index_start=Start planlagte kommandoserver
|
||||
index_startdesc=Start <tt>atd</tt> baggrundsserverprocessen, der kører planlagte kommandoer. Dette er nødvendigt for at kommandoer skal udføres på deres angivne tidspunkter.
|
||||
index_boot=Start server ved opstart?
|
||||
index_bootdesc=Skift denne indstilling for at aktivere eller deaktivere start af den planlagte kommandoserver på systemstarttidspunktet.
|
||||
edit_title=Planlagt kommando
|
||||
edit_cmd=Komplet script til at udføre
|
||||
edit_shortcmd=Kommando til at udføre
|
||||
@@ -57,3 +64,9 @@ log_create_job=Oprettet planlagt kommando til $1
|
||||
log_delete_job=Annulleret planlagt kommando for $1
|
||||
log_exec_job=Udført planlagt kommando for $1
|
||||
log_delete_jobs=Annulleret $1 planlagte kommandoer
|
||||
log_stop=Stoppet planlagte kommandoserver
|
||||
log_start=Startet planlagt kommandoserver
|
||||
log_bootup=Aktiveret planlagt kommandoserver ved opstart
|
||||
log_bootdown=Deaktiveret planlagt kommandoserver ved opstart
|
||||
stop_err=Serveren kunne ikke stoppes
|
||||
start_err=Serveren kunne ikke startes
|
||||
|
||||
13
at/lang/de.auto
Normal file
13
at/lang/de.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin weiß nicht, wie Zeitplanbefehle auf diesem Betriebssystem verwaltet werden.
|
||||
index_stop=Stoppen Sie den Server für geplante Befehle
|
||||
index_stopdesc=Fahren Sie den Hintergrundserverprozess <tt>atd</tt> herunter, der geplante Befehle ausführt. Dadurch wird verhindert, dass Befehle zu den angegebenen Zeiten ausgeführt werden.
|
||||
index_start=Starten Sie den Scheduled Commands Server
|
||||
index_startdesc=Starten Sie den Hintergrundserverprozess <tt>atd</tt>, der geplante Befehle ausführt. Dies ist erforderlich, damit Befehle zu den angegebenen Zeiten ausgeführt werden können.
|
||||
index_boot=Server beim Booten starten?
|
||||
index_bootdesc=Ändern Sie diese Einstellung, um das Starten des Servers für geplante Befehle beim Systemstart zu aktivieren oder zu deaktivieren.
|
||||
log_stop=Geplante Befehlsserver gestoppt
|
||||
log_start=Geplanter Befehlsserver gestartet
|
||||
log_bootup=Server für geplante Befehle beim Booten aktiviert
|
||||
log_bootdown=Server für geplante Befehle beim Booten deaktiviert
|
||||
stop_err=Server konnte nicht gestoppt werden
|
||||
start_err=Server konnte nicht gestartet werden
|
||||
13
at/lang/el.auto
Normal file
13
at/lang/el.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Το Webmin δεν γνωρίζει πώς να διαχειρίζεται τις εντολές χρονοδιαγράμματος σε αυτό το λειτουργικό σύστημα.
|
||||
index_stop=Διακοπή διακομιστή προγραμματισμένων εντολών
|
||||
index_stopdesc=Τερματίστε τη διαδικασία διακομιστή παρασκηνίου <tt>atd</tt> που εκτελεί προγραμματισμένες εντολές. Αυτό θα αποτρέψει την εκτέλεση εντολών στις καθορισμένες ώρες τους.
|
||||
index_start=Έναρξη διακομιστή προγραμματισμένων εντολών
|
||||
index_startdesc=Ξεκινήστε τη διαδικασία διακομιστή παρασκηνίου <tt>atd</tt> που εκτελεί προγραμματισμένες εντολές. Αυτό απαιτείται για την εκτέλεση εντολών στις καθορισμένες ώρες τους.
|
||||
index_boot=Εκκίνηση διακομιστή κατά την εκκίνηση;
|
||||
index_bootdesc=Αλλάξτε αυτήν τη ρύθμιση για να ενεργοποιήσετε ή να απενεργοποιήσετε την εκκίνηση του προγραμματισμένου διακομιστή εντολών κατά την εκκίνηση του συστήματος.
|
||||
log_stop=Διακοπή προγραμματισμένων εντολών διακομιστή
|
||||
log_start=Ξεκίνησε προγραμματισμένος διακομιστής εντολών
|
||||
log_bootup=Ενεργοποιήθηκε ο προγραμματισμένος διακομιστής εντολών κατά την εκκίνηση
|
||||
log_bootdown=Απενεργοποιήθηκε ο προγραμματισμένος διακομιστής εντολών κατά την εκκίνηση
|
||||
stop_err=Αποτυχία διακοπής διακομιστή
|
||||
start_err=Αποτυχία εκκίνησης διακομιστή
|
||||
15
at/lang/en
15
at/lang/en
@@ -19,6 +19,13 @@ index_amode1=Only listed users ..
|
||||
index_amode2=All except listed users ..
|
||||
index_delete=Cancel Selected Commands
|
||||
index_noat=The $1 command was not found on your system - maybe it is not installed, or not available for your operating system.
|
||||
index_nostyle=Webmin does not know how to manage schedule commands on this operating system.
|
||||
index_stop=Stop Scheduled Commands Server
|
||||
index_stopdesc=Shut down the <tt>atd</tt> background server process that runs scheduled commands. This will prevent commands from executing at their specified times.
|
||||
index_start=Start Scheduled Commands Server
|
||||
index_startdesc=Start up the <tt>atd</tt> background server process that runs scheduled commands. This is required for commands to execute at their specified times.
|
||||
index_boot=Start Server At Boot?
|
||||
index_bootdesc=Change this setting to enable or disable starting the scheduled commands server at system boot time.
|
||||
|
||||
edit_title=Scheduled Command
|
||||
edit_cmd=Full script to execute
|
||||
@@ -65,4 +72,12 @@ log_create_job=Created scheduled command for $1
|
||||
log_delete_job=Cancelled scheduled command for $1
|
||||
log_exec_job=Executed scheduled command for $1
|
||||
log_delete_jobs=Cancelled $1 scheduled commands
|
||||
log_stop=Stopped scheduled commands server
|
||||
log_start=Started scheduled commands server
|
||||
log_bootup=Enabled scheduled commands server at boot
|
||||
log_bootdown=Disabled scheduled commands server at boot
|
||||
|
||||
stop_err=Failed to stop server
|
||||
start_err=Failed to start server
|
||||
|
||||
__norefs=1
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
index_mail=¿Enviar correo electrónico al finalizar?
|
||||
index_delete=Cancelar comandos seleccionados
|
||||
index_noat=El comando $1 no se encontró en su sistema; tal vez no esté instalado o no esté disponible para su sistema operativo.
|
||||
index_nostyle=Webmin no sabe cómo administrar los comandos de programación en este sistema operativo.
|
||||
index_stop=Detener el servidor de comandos programados
|
||||
index_stopdesc=Cierre el proceso del servidor en segundo plano <tt>atd</tt> que ejecuta comandos programados. Esto evitará que los comandos se ejecuten en los momentos especificados.
|
||||
index_start=Iniciar el servidor de comandos programados
|
||||
index_startdesc=Inicie el proceso del servidor en segundo plano <tt>atd</tt> que ejecuta comandos programados. Esto es necesario para que los comandos se ejecuten en los momentos especificados.
|
||||
index_boot=¿Iniciar servidor en el arranque?
|
||||
index_bootdesc=Cambie esta configuración para habilitar o deshabilitar el inicio del servidor de comandos programados en el momento del inicio del sistema.
|
||||
edit_shortcmd=Comando para ejecutar
|
||||
edit_showfull=Mostrar guión completo.
|
||||
deletes_err=Error al cancelar comandos
|
||||
@@ -10,3 +17,9 @@ log_create_job=Comando programado creado para $1
|
||||
log_delete_job=Comando programado cancelado para $1
|
||||
log_exec_job=Comando programado ejecutado para $1
|
||||
log_delete_jobs=Se cancelaron $1 comandos programados
|
||||
log_stop=Servidor de comandos programados detenido
|
||||
log_start=Servidor de comandos programados iniciado
|
||||
log_bootup=Servidor de comandos programados habilitado en el arranque
|
||||
log_bootdown=Servidor de comandos programados deshabilitado en el arranque
|
||||
stop_err=No se pudo detener el servidor
|
||||
start_err=No se pudo iniciar el servidor
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Zerrendatutako erabiltzaileak bakarrik ..
|
||||
index_amode2=Zerrendatutako erabiltzaileak izan ezik ..
|
||||
index_delete=Utzi hautatutako aginduak
|
||||
index_noat=$1 komandoa ez da zure sisteman aurkitu - agian ez dago instalatuta edo ez dago zure sistema eragilea eskuragarri.
|
||||
index_nostyle=Webmin-ek ez daki sistema eragile honetako ordutegi komandoak nola kudeatu.
|
||||
index_stop=Gelditu programatutako komandoen zerbitzaria
|
||||
index_stopdesc=Itxi programatutako komandoak exekutatzen dituen <tt>atd</tt> atzeko planoko zerbitzariaren prozesua. Horrek aginduak zehaztutako orduetan exekutatzea ekidingo du.
|
||||
index_start=Hasi programatutako komandoen zerbitzaria
|
||||
index_startdesc=Hasi programatutako komandoak exekutatzen dituen <tt>atd</tt> atzeko planoko zerbitzariaren prozesua. Hori beharrezkoa da aginduak zehaztutako orduetan exekutatzeko.
|
||||
index_boot=Zerbitzaria abiarazi nahi al duzu?
|
||||
index_bootdesc=Aldatu ezarpen hau programatutako komandoen zerbitzaria abiaraztean gaitzeko edo desgaitzeko.
|
||||
edit_title=Programatutako Agindua
|
||||
edit_cmd=Gidoi osoa exekutatu
|
||||
edit_shortcmd=Exekutatzeko agindua
|
||||
@@ -57,3 +64,9 @@ log_create_job=Komando programatua sortu da $1 erako
|
||||
log_delete_job=$1 programaren agindua bertan behera utzi da
|
||||
log_exec_job=$1 erako aurreikusitako komando exekutatua
|
||||
log_delete_jobs=Programa $1 aginduak bertan behera utzi ditu
|
||||
log_stop=Programatutako komandoen zerbitzaria gelditu da
|
||||
log_start=Programatutako komandoen zerbitzaria hasi da
|
||||
log_bootup=Programatutako komandoen zerbitzaria gaituta dago abioan
|
||||
log_bootdown=Desgaituta dago programatutako komandoen zerbitzaria abioan
|
||||
stop_err=Ezin izan da zerbitzaria gelditu
|
||||
start_err=Ezin izan da zerbitzaria abiarazi
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=فقط کاربران ذکر شده ..
|
||||
index_amode2=همه به جز کاربران ذکر شده ..
|
||||
index_delete=دستورات منتخب را لغو کنید
|
||||
index_noat=دستور$1 روی سیستم شما یافت نشد - شاید برای سیستم عامل شما نصب نشده باشد یا در دسترس نباشد.
|
||||
index_nostyle=Webmin نمی داند که چگونه دستورات برنامه را در این سیستم عامل مدیریت کند.
|
||||
index_stop=سرور دستورات برنامه ریزی شده را متوقف کنید
|
||||
index_stopdesc=فرآیند سرور پس زمینه <tt>atd</tt> را خاموش کنید که دستورات برنامه ریزی شده را اجرا می کند. این از اجرای دستورات در زمان مشخص خود جلوگیری می کند.
|
||||
index_start=سرور دستورات برنامه ریزی شده را شروع کنید
|
||||
index_startdesc=فرایند سرور پس زمینه <tt>atd</tt> را اجرا کنید که دستورات برنامه ریزی شده را اجرا می کند. این مورد برای اجرای دستورات در زمان مشخص شده آنها لازم است.
|
||||
index_boot=سرور را از طریق بوت شروع کنید؟
|
||||
index_bootdesc=برای فعال یا غیرفعال کردن شروع سرور دستورات برنامه ریزی شده در زمان راه اندازی سیستم ، این تنظیم را تغییر دهید.
|
||||
edit_title=فرمان برنامه ریزی شده
|
||||
edit_cmd=اسکریپت کامل برای اجرای
|
||||
edit_shortcmd=دستور اجرای
|
||||
@@ -57,3 +64,9 @@ log_create_job=دستور برنامه ریزی شده برای$1 ایجاد ش
|
||||
log_delete_job=دستور برنامه ریزی شده برای$1 لغو شد
|
||||
log_exec_job=دستور برنامه ریزی شده برای$1 اجرا شد
|
||||
log_delete_jobs=دستورات برنامه ریزی شده$1 لغو شد
|
||||
log_stop=سرور دستورات برنامه ریزی شده متوقف شد
|
||||
log_start=سرور دستورات برنامه ریزی شده را شروع کرد
|
||||
log_bootup=هنگام راه اندازی سرور دستورات برنامه ریزی شده فعال است
|
||||
log_bootdown=هنگام راه اندازی سرور دستورات برنامه ریزی شده غیرفعال است
|
||||
stop_err=سرور متوقف نشد
|
||||
start_err=سرور شروع نشد
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Vain luettelossa olevat käyttäjät ..
|
||||
index_amode2=Kaikki paitsi luetellut käyttäjät ..
|
||||
index_delete=Peruuta valitut komennot
|
||||
index_noat=Komentoa $1 ei löydy järjestelmästäsi. Ehkä sitä ei ole asennettu tai se ei ole käytettävissä käyttöjärjestelmässäsi.
|
||||
index_nostyle=Webmin ei osaa hallita aikataulukomentoja tässä käyttöjärjestelmässä.
|
||||
index_stop=Pysäytä ajoitetut komentopalvelimet
|
||||
index_stopdesc=Sammuta <tt>atd</tt> -palvelinprosessi, joka suorittaa ajoitetut komennot. Tämä estää komentoja suorittamasta määrättyinä aikoina.
|
||||
index_start=Käynnistä ajoitetut komentopalvelimet
|
||||
index_startdesc=Käynnistä <tt>atd</tt> -palvelinprosessi, joka suorittaa ajoitetut komennot. Tätä vaaditaan, jotta komennot voidaan suorittaa määrättyinä aikoina.
|
||||
index_boot=Käynnistetäänkö palvelin käynnistettäessä?
|
||||
index_bootdesc=Muuta tätä asetusta, jos haluat ottaa ajastetun komentopalvelimen käynnistämisen käyttöön tai poistaa sen käytöstä järjestelmän käynnistyksen yhteydessä.
|
||||
edit_title=Ajoitettu komento
|
||||
edit_cmd=Täysi suoritettava komentosarja
|
||||
edit_shortcmd=Komento suorittaa
|
||||
@@ -57,3 +64,9 @@ log_create_job=Luotu komento $1 : lle
|
||||
log_delete_job=Peruutettu ajoitettu komento kohteelle $1
|
||||
log_exec_job=Suoritettu ajoitettu komento $1 : lle
|
||||
log_delete_jobs=Peruutettiin $1 ajoitetut komennot
|
||||
log_stop=Ajastettujen komentojen palvelin pysäytetty
|
||||
log_start=Aloitettu ajoitetut komentopalvelimet
|
||||
log_bootup=Ota ajoitetut komentopalvelimet käyttöön käynnistyksen yhteydessä
|
||||
log_bootdown=Poistettu ajoitetut komentopalvelimet käynnistyksen yhteydessä
|
||||
stop_err=Palvelimen pysäyttäminen epäonnistui
|
||||
start_err=Palvelimen käynnistäminen epäonnistui
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
index_noat=La commande $1 est introuvable sur votre système - elle n'est peut-être pas installée ou n'est pas disponible pour votre système d'exploitation.
|
||||
index_nostyle=Webmin ne sait pas comment gérer les commandes de planification sur ce système d'exploitation.
|
||||
index_stop=Arrêter le serveur de commandes programmées
|
||||
index_stopdesc=Arrêtez le processus du serveur d'arrière-plan <tt>atd</tt> qui exécute les commandes planifiées. Cela empêchera les commandes de s'exécuter aux heures spécifiées.
|
||||
index_start=Démarrer le serveur de commandes programmées
|
||||
index_startdesc=Démarrez le processus du serveur d'arrière-plan <tt>atd</tt> qui exécute les commandes planifiées. Ceci est nécessaire pour que les commandes s'exécutent aux heures spécifiées.
|
||||
index_boot=Démarrer le serveur au démarrage?
|
||||
index_bootdesc=Modifiez ce paramètre pour activer ou désactiver le démarrage du serveur de commandes planifiées au moment du démarrage du système.
|
||||
log_allow=Utilisateurs autorisés modifiés
|
||||
log_create_job=Commande planifiée créée pour $1
|
||||
log_delete_job=Commande planifiée annulée pour $1
|
||||
log_exec_job=Commande planifiée exécutée pour $1
|
||||
log_delete_jobs=Commandes programmées $1 annulées
|
||||
log_stop=Serveur de commandes planifiées arrêté
|
||||
log_start=Démarrage du serveur de commandes planifiées
|
||||
log_bootup=Serveur de commandes planifiées activé au démarrage
|
||||
log_bootdown=Serveur de commandes planifiées désactivé au démarrage
|
||||
stop_err=Échec de l'arrêt du serveur
|
||||
start_err=Échec du démarrage du serveur
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=משתמשים רשומים בלבד ..
|
||||
index_amode2=כולם למעט משתמשים רשומים ..
|
||||
index_delete=בטל פקודות שנבחרו
|
||||
index_noat=הפקודה $1 לא נמצאה במערכת שלך - אולי היא לא מותקנת, או לא זמינה עבור מערכת ההפעלה שלך.
|
||||
index_nostyle=Webmin לא יודע לנהל פקודות לוח זמנים במערכת הפעלה זו.
|
||||
index_stop=הפסק את שרת הפקודות המתוזמן
|
||||
index_stopdesc=כבה את תהליך שרת הרקע <tt>atd</tt> שמריץ פקודות מתוזמנות. זה ימנע ביצוע של פקודות בזמנים שצוינו.
|
||||
index_start=הפעל שרת פקודות מתוזמן
|
||||
index_startdesc=התחל את תהליך שרת הרקע <tt>atd</tt> שמריץ פקודות מתוזמנות. זה נדרש כדי לבצע פקודות בזמנים שצוינו.
|
||||
index_boot=להתחיל שרת בעת אתחול?
|
||||
index_bootdesc=שנה הגדרה זו כדי להפעיל או להשבית את הפעלת שרת הפקודות המתוזמן בזמן אתחול המערכת.
|
||||
edit_title=פיקוד מתוזמן
|
||||
edit_cmd=סקריפט מלא לביצוע
|
||||
edit_shortcmd=פקודה לביצוע
|
||||
@@ -57,3 +64,9 @@ log_create_job=נוצר פקודה מתוזמנת עבור $1
|
||||
log_delete_job=הפקודה המתוזמנת בוטלה עבור $1
|
||||
log_exec_job=בוצעה הפקודה המתוזמנת עבור $1
|
||||
log_delete_jobs=ביטול $1 פקודות מתוזמנות
|
||||
log_stop=הופסק שרת הפקודות המתוזמן
|
||||
log_start=החל שרת פקודות מתוזמן
|
||||
log_bootup=מופעלת שרת פקודות מתוזמן בעת האתחול
|
||||
log_bootdown=הושבת שרת פקודות מתוזמן בעת האתחול
|
||||
stop_err=עצירת השרת נכשלה
|
||||
start_err=הפעלת השרת נכשלה
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
index_mail=Pošalji e-poštu po završetku?
|
||||
index_noat=Naredba $1 nije pronađena u vašem sustavu - možda nije instalirana ili nije dostupna za vaš operativni sustav.
|
||||
index_nostyle=Webmin ne zna upravljati naredbama rasporeda na ovom operativnom sustavu.
|
||||
index_stop=Zaustavite poslužitelj zakazanih naredbi
|
||||
index_stopdesc=Isključite postupak pozadinskog poslužitelja <tt>atd</tt> koji pokreće planirane naredbe. To će spriječiti izvršavanje naredbi u određeno vrijeme.
|
||||
index_start=Pokrenite poslužitelj zakazanih naredbi
|
||||
index_startdesc=Pokrenite postupak pozadinskog poslužitelja <tt>atd</tt> koji pokreće planirane naredbe. To je potrebno za izvršavanje naredbi u određeno vrijeme.
|
||||
index_boot=Pokrenuti poslužitelj pri pokretanju?
|
||||
index_bootdesc=Promijenite ovu postavku da biste omogućili ili onemogućili pokretanje poslužitelja zakazanih naredbi u vrijeme pokretanja sustava.
|
||||
edit_shortcmd=Naredba za izvršenje
|
||||
edit_showfull=Prikaži cijelu skriptu.
|
||||
log_allow=Promijenjeni dopušteni korisnici
|
||||
@@ -7,3 +14,9 @@ log_create_job=Napravljena je zakazana naredba za $1
|
||||
log_delete_job=Otkazana zakazana naredba za $1
|
||||
log_exec_job=Izvršena zakazana naredba za $1
|
||||
log_delete_jobs=Otkazane $1 zakazane naredbe
|
||||
log_stop=Zaustavljen poslužitelj zakazanih naredbi
|
||||
log_start=Započeo poslužitelj zakazanih naredbi
|
||||
log_bootup=Omogućen poslužitelj zakazanih naredbi prilikom pokretanja
|
||||
log_bootdown=Onemogućen poslužitelj zakazanih naredbi prilikom pokretanja
|
||||
stop_err=Zaustavljanje poslužitelja nije uspjelo
|
||||
start_err=Pokretanje poslužitelja nije uspjelo
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
index_mail=E-mailt küld a befejezéskor?
|
||||
index_delete=A kiválasztott parancsok törlése
|
||||
index_noat=A (z) $1 parancs nem található a rendszeren - talán nincs telepítve, vagy nem érhető el az operációs rendszer számára.
|
||||
index_nostyle=A Webmin nem ismeri az ütemezési parancsok kezelését ezen az operációs rendszeren.
|
||||
index_stop=Az ütemezett parancsok kiszolgálójának leállítása
|
||||
index_stopdesc=Állítsa le az ütemezett parancsokat futtató <tt>atd</tt> háttérszerver folyamatot. Ez megakadályozza a parancsok végrehajtását a megadott időpontban.
|
||||
index_start=Indítsa el az Ütemezett parancsok kiszolgálót
|
||||
index_startdesc=Indítsa el az ütemezett parancsokat futtató <tt>atd</tt> háttérszerver folyamatot. Erre a parancsok megadott időpontban történő végrehajtásához van szükség.
|
||||
index_boot=Indítsa el a szervert indításkor?
|
||||
index_bootdesc=Módosítsa ezt a beállítást, hogy engedélyezze vagy letiltsa az ütemezett parancskiszolgáló indítását a rendszer indításakor.
|
||||
edit_shortcmd=Végrehajtási parancs
|
||||
edit_showfull=A teljes szkript megjelenítése.
|
||||
deletes_err=A parancsok megszakítása nem sikerült
|
||||
@@ -10,3 +17,9 @@ log_create_job=Létrehozott ütemezett parancsot a (z) $1 számára
|
||||
log_delete_job=A (z) $1 ütemezett parancsát törölték
|
||||
log_exec_job=Végrehajtott ütemezett parancs a (z) $1 számára
|
||||
log_delete_jobs=$1 ütemezett parancsok törölve
|
||||
log_stop=Az ütemezett parancskiszolgáló leállt
|
||||
log_start=Elindította az ütemezett parancskiszolgálót
|
||||
log_bootup=Engedélyezte az ütemezett parancsok szerverét indításkor
|
||||
log_bootdown=Az ütemezett parancskiszolgáló letiltva indításkor
|
||||
stop_err=Nem sikerült leállítani a szervert
|
||||
start_err=Nem sikerült elindítani a szervert
|
||||
|
||||
13
at/lang/it.auto
Normal file
13
at/lang/it.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin non sa come gestire i comandi di pianificazione su questo sistema operativo.
|
||||
index_stop=Arresta il server dei comandi pianificati
|
||||
index_stopdesc=Arresta il processo del server in background <tt>atd</tt> che esegue i comandi pianificati. Ciò impedirà l'esecuzione dei comandi agli orari specificati.
|
||||
index_start=Avvia il server dei comandi pianificati
|
||||
index_startdesc=Avvia il processo del server in background <tt>atd</tt> che esegue i comandi pianificati. Ciò è necessario affinché i comandi vengano eseguiti agli orari specificati.
|
||||
index_boot=Avviare il server all'avvio?
|
||||
index_bootdesc=Modificare questa impostazione per abilitare o disabilitare l'avvio del server dei comandi pianificati all'avvio del sistema.
|
||||
log_stop=Server dei comandi pianificati arrestato
|
||||
log_start=Avviato il server dei comandi pianificati
|
||||
log_bootup=Abilitato il server dei comandi pianificati all'avvio
|
||||
log_bootdown=Server dei comandi pianificati disabilitato all'avvio
|
||||
stop_err=Impossibile arrestare il server
|
||||
start_err=Impossibile avviare il server
|
||||
@@ -19,6 +19,13 @@ index_amode1=リストされたユーザーのみ ..
|
||||
index_amode2=リストされたユーザーを除くすべて ..
|
||||
index_delete=選択したコマンドをキャンセル
|
||||
index_noat=$1コマンドがシステムで見つかりませんでした-インストールされていないか、オペレーティングシステムで使用できない可能性があります。
|
||||
index_nostyle=Webminは、このオペレーティングシステムでスケジュールコマンドを管理する方法を知りません。
|
||||
index_stop=スケジュールされたコマンドサーバーを停止する
|
||||
index_stopdesc=スケジュールされたコマンドを実行する<tt>atd</tt>バックグラウンドサーバープロセスをシャットダウンします。これにより、コマンドが指定された時間に実行されなくなります。
|
||||
index_start=スケジュールされたコマンドサーバーを起動します
|
||||
index_startdesc=スケジュールされたコマンドを実行する<tt>atd</tt>バックグラウンドサーバープロセスを起動します。これは、コマンドを指定された時間に実行するために必要です。
|
||||
index_boot=起動時にサーバーを起動しますか?
|
||||
index_bootdesc=この設定を変更して、システムの起動時にスケジュールされたコマンドサーバーの起動を有効または無効にします。
|
||||
edit_title=スケジュールされたコマンド
|
||||
edit_cmd=実行する完全なスクリプト
|
||||
edit_shortcmd=実行するコマンド
|
||||
@@ -57,3 +64,9 @@ log_create_job=$1のスケジュールされたコマンドを作成しました
|
||||
log_delete_job=$1のスケジュールされたコマンドをキャンセルしました
|
||||
log_exec_job=$1のスケジュールされたコマンドを実行しました
|
||||
log_delete_jobs=キャンセルされた $1のスケジュールされたコマンド
|
||||
log_stop=スケジュールされたコマンドサーバーを停止しました
|
||||
log_start=スケジュールされたコマンドサーバーを開始しました
|
||||
log_bootup=起動時にスケジュールされたコマンドサーバーを有効にする
|
||||
log_bootdown=起動時にスケジュールされたコマンドサーバーを無効にする
|
||||
stop_err=サーバーの停止に失敗しました
|
||||
start_err=サーバーの起動に失敗しました
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=나열된 사용자 만 ..
|
||||
index_amode2=나열된 사용자를 제외한 모든 ..
|
||||
index_delete=선택된 명령 취소
|
||||
index_noat=시스템에서 $1 명령을 찾을 수 없습니다. 운영 체제에서 설치되지 않았거나 사용할 수 없습니다.
|
||||
index_nostyle=Webmin은이 운영 체제에서 일정 명령을 관리하는 방법을 모릅니다.
|
||||
index_stop=예약 된 명령 서버 중지
|
||||
index_stopdesc=예약 된 명령을 실행하는 <tt>atd</tt> 백그라운드 서버 프로세스를 종료합니다. 이렇게하면 명령이 지정된 시간에 실행되지 않습니다.
|
||||
index_start=예약 된 명령 서버 시작
|
||||
index_startdesc=예약 된 명령을 실행하는 <tt>atd</tt> 백그라운드 서버 프로세스를 시작합니다. 이는 명령이 지정된 시간에 실행되는 데 필요합니다.
|
||||
index_boot=부팅시 서버를 시작 하시겠습니까?
|
||||
index_bootdesc=시스템 부팅시 예약 된 명령 서버 시작을 활성화 또는 비활성화하려면이 설정을 변경합니다.
|
||||
edit_title=예약 된 명령
|
||||
edit_cmd=실행할 전체 스크립트
|
||||
edit_shortcmd=실행할 명령
|
||||
@@ -57,3 +64,9 @@ log_create_job=$1 에 대한 예약 된 명령 생성
|
||||
log_delete_job=$1 에 대한 예약 된 명령이 취소되었습니다.
|
||||
log_exec_job=$1 에 대해 예약 된 명령을 실행했습니다
|
||||
log_delete_jobs=예약 된 $1 개의 예약 된 명령
|
||||
log_stop=예약 된 명령 서버를 중지했습니다.
|
||||
log_start=예약 된 명령 서버 시작
|
||||
log_bootup=부팅시 예약 된 명령 서버 활성화
|
||||
log_bootdown=부팅시 예약 된 명령 서버 비활성화
|
||||
stop_err=서버를 중지하지 못했습니다.
|
||||
start_err=서버를 시작하지 못했습니다.
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Tik išvardyti vartotojai ..
|
||||
index_amode2=Visi, išskyrus išvardytus vartotojus ..
|
||||
index_delete=Atšaukti pasirinktas komandas
|
||||
index_noat=Komanda $1 nerasta jūsų sistemoje - galbūt ji neįdiegta arba jos negalima jūsų operacinei sistemai.
|
||||
index_nostyle=„Webmin“ nežino, kaip valdyti tvarkaraščio komandas šioje operacinėje sistemoje.
|
||||
index_stop=Sustabdyti planuojamų komandų serverį
|
||||
index_stopdesc=Išjunkite <tt>atd</tt> foninio serverio procesą, vykdantį suplanuotas komandas. Tai neleis komandoms vykdyti nurodytu laiku.
|
||||
index_start=Paleiskite suplanuotų komandų serverį
|
||||
index_startdesc=Paleiskite foninio serverio procesą <tt>atd</tt>, vykdantį suplanuotas komandas. Tai reikalinga komandoms vykdyti nurodytu laiku.
|
||||
index_boot=Paleisti serverį įkrovos metu?
|
||||
index_bootdesc=Pakeiskite šį parametrą, jei norite įjungti arba išjungti suplanuotų komandų serverio paleidimą sistemos paleidimo metu.
|
||||
edit_title=Suplanuota komanda
|
||||
edit_cmd=Visas scenarijus vykdyti
|
||||
edit_shortcmd=Įsakymas vykdyti
|
||||
@@ -57,3 +64,9 @@ log_create_job=Sukurta suplanuota komanda $1
|
||||
log_delete_job=Atšaukta suplanuota komanda $1
|
||||
log_exec_job=Vykdyta suplanuota komanda $1
|
||||
log_delete_jobs=Atšauktos $1 suplanuotos komandos
|
||||
log_stop=Sustabdytas suplanuotų komandų serveris
|
||||
log_start=Paleistas suplanuotų komandų serveris
|
||||
log_bootup=Įjungus suplanuotų komandų serverį įgalintas
|
||||
log_bootdown=Įkrovimo metu išjungtas suplanuotų komandų serveris
|
||||
stop_err=Nepavyko sustabdyti serverio
|
||||
start_err=Nepavyko paleisti serverio
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Tikai uzskaitītie lietotāji ..
|
||||
index_amode2=Visi, izņemot uzskaitītos lietotājus ..
|
||||
index_delete=Atcelt atlasītās komandas
|
||||
index_noat=Komanda $1 jūsu sistēmā netika atrasta - varbūt tā nav instalēta vai nav pieejama jūsu operētājsistēmai.
|
||||
index_nostyle=Webmin nezina, kā pārvaldīt grafika komandas šajā operētājsistēmā.
|
||||
index_stop=Pārtraukt ieplānoto komandu serveri
|
||||
index_stopdesc=Izslēdziet <tt>atd</tt> fona servera procesu, kas izpilda ieplānotās komandas. Tas novērsīs komandu izpildi noteiktajā laikā.
|
||||
index_start=Startējiet ieplānoto komandu serveri
|
||||
index_startdesc=Sāciet <tt>atd</tt> fona servera procesu, kas izpilda ieplānotās komandas. Tas ir nepieciešams, lai komandas varētu izpildīt noteiktajā laikā.
|
||||
index_boot=Vai sākt serveri palaišanas laikā?
|
||||
index_bootdesc=Mainiet šo iestatījumu, lai iespējotu vai atspējotu ieplānoto komandu servera palaišanu sistēmas sāknēšanas laikā.
|
||||
edit_title=Plānotā komanda
|
||||
edit_cmd=Pilns izpildāmais skripts
|
||||
edit_shortcmd=Komanda izpildīt
|
||||
@@ -57,3 +64,9 @@ log_create_job=Izveidota plānota komanda $1
|
||||
log_delete_job=Atcelta plānotā komanda $1
|
||||
log_exec_job=Izpildīta plānotā komanda $1
|
||||
log_delete_jobs=Atceltas $1 plānotās komandas
|
||||
log_stop=Apturēts ieplānoto komandu serveris
|
||||
log_start=Sācis ieplānoto komandu serveris
|
||||
log_bootup=Iespējojot ieplānoto komandu serveri
|
||||
log_bootdown=Sāknēšanas laikā atspējots ieplānoto komandu serveris
|
||||
stop_err=Neizdevās apturēt serveri
|
||||
start_err=Neizdevās palaist serveri
|
||||
|
||||
13
at/lang/ms.auto
Normal file
13
at/lang/ms.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin tidak tahu bagaimana menguruskan arahan jadual pada sistem operasi ini.
|
||||
index_stop=Hentikan Pelayan Perintah Berjadual
|
||||
index_stopdesc=Matikan proses pelayan latar belakang <tt>atd</tt> yang menjalankan perintah berjadual. Ini akan menghalang perintah daripada dilaksanakan pada waktu yang ditentukan.
|
||||
index_start=Mulakan Pelayan Perintah Berjadual
|
||||
index_startdesc=Mulakan proses pelayan latar belakang <tt>atd</tt> yang menjalankan perintah berjadual. Ini diperlukan agar perintah dapat dilaksanakan pada waktu yang ditentukan.
|
||||
index_boot=Mulakan Pelayan Semasa Boot?
|
||||
index_bootdesc=Ubah tetapan ini untuk mengaktifkan atau melumpuhkan memulakan pelayan perintah yang dijadualkan pada waktu boot sistem.
|
||||
log_stop=Pelayan arahan berjadual dihentikan
|
||||
log_start=Memulakan pelayan arahan berjadual
|
||||
log_bootup=Diaktifkan pelayan arahan berjadual semasa boot
|
||||
log_bootdown=Pelayan perintah berjadual dilumpuhkan semasa boot
|
||||
stop_err=Gagal menghentikan pelayan
|
||||
start_err=Gagal memulakan pelayan
|
||||
@@ -19,6 +19,13 @@ index_amode1=Utenti elenkati biss ..
|
||||
index_amode2=Kollha minbarra l-utenti elenkati ..
|
||||
index_delete=Ikkanċella l-Kmandi magħżula
|
||||
index_noat=Il-kmand $1 ma nstabx fis-sistema tiegħek - forsi mhux installat, jew mhux disponibbli għas-sistema operattiva tiegħek.
|
||||
index_nostyle=Webmin ma jafx kif jimmaniġġja l-iskedi ta 'kmandi fuq din is-sistema operattiva.
|
||||
index_stop=Waqqaf is-Server tal-Kmandijiet Skedati
|
||||
index_stopdesc=Agħlaq il-proċess ta 'l-isfond <tt>atd</tt> li jmexxi kmandi skedati. Dan jimpedixxi l-eżekuzzjoni tal-kmandi fil-ħinijiet speċifikati tagħhom.
|
||||
index_start=Ibda Server tal-Kmandijiet Skedati
|
||||
index_startdesc=Ibda l-proċess ta 'l-isfond ta' <tt>atd</tt> li jmexxi kmandi skedati. Dan huwa meħtieġ biex il-kmandi jiġu eżegwiti fil-ħinijiet speċifikati tagħhom.
|
||||
index_boot=Ibda Server Fuq l-Ibbutjar?
|
||||
index_bootdesc=Ibdel dan l-issettjar biex tippermetti jew tiddiżattiva l-bidu tas-server tal-kmandi skedati fil-ħin tal-ibbutjar tas-sistema.
|
||||
edit_title=Skedat Kmand
|
||||
edit_cmd=Skrittura sħiħa biex tesegwixxi
|
||||
edit_shortcmd=Kmand biex tesegwixxi
|
||||
@@ -57,3 +64,9 @@ log_create_job=Inħoloq kmand skedat għal $1
|
||||
log_delete_job=Ikkanċella l-kmand skedat għal $1
|
||||
log_exec_job=Eżegwit kmand skedat għal $1
|
||||
log_delete_jobs=Ikkanċellat $1 kmandi skedati
|
||||
log_stop=Server tal-kmand skedat imwaqqaf
|
||||
log_start=Server tal-kmand skedat beda
|
||||
log_bootup=Server tal-kmand skedat attivat waqt l-ibbutjar
|
||||
log_bootdown=Server tal-kmand skedat b'diżabilità fil-but
|
||||
stop_err=Naqas milli twaqqaf is-server
|
||||
start_err=Ma rnexxilux jibda s-server
|
||||
|
||||
13
at/lang/nl.auto
Normal file
13
at/lang/nl.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin weet niet hoe hij schema-opdrachten op dit besturingssysteem moet beheren.
|
||||
index_stop=Stop geplande commandoserver
|
||||
index_stopdesc=Sluit het <tt>atd</tt> serverproces op de achtergrond af dat geplande opdrachten uitvoert. Dit voorkomt dat opdrachten op de opgegeven tijden worden uitgevoerd.
|
||||
index_start=Start Scheduled Commands Server
|
||||
index_startdesc=Start het <tt>atd</tt> -achtergrondserverproces dat geplande opdrachten uitvoert. Dit is vereist om opdrachten op de opgegeven tijden uit te voeren.
|
||||
index_boot=Server starten bij opstarten?
|
||||
index_bootdesc=Wijzig deze instelling om het starten van de server met geplande opdrachten tijdens het opstarten van het systeem in of uit te schakelen.
|
||||
log_stop=Geplande commandoserver gestopt
|
||||
log_start=Gestart geplande commandoserver
|
||||
log_bootup=Ingeschakelde server met geplande opdrachten bij opstarten
|
||||
log_bootdown=Uitgeschakelde server met geplande opdrachten bij opstarten
|
||||
stop_err=De server kan niet worden gestopt
|
||||
start_err=Kan server niet starten
|
||||
13
at/lang/no.auto
Normal file
13
at/lang/no.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin vet ikke hvordan de skal administrere tidsplankommandoer på dette operativsystemet.
|
||||
index_stop=Stopp planlagte kommandoserver
|
||||
index_stopdesc=Slå av <tt>atd</tt> bakgrunnsserverprosessen som kjører planlagte kommandoer. Dette forhindrer at kommandoer kjøres til de angitte tidene.
|
||||
index_start=Start planlagte kommandoserver
|
||||
index_startdesc=Start opp <tt>atd</tt> bakgrunnsserverprosessen som kjører planlagte kommandoer. Dette er nødvendig for at kommandoer skal kjøres til de angitte tidene.
|
||||
index_boot=Start server ved oppstart?
|
||||
index_bootdesc=Endre denne innstillingen for å aktivere eller deaktivere start av den planlagte kommandoserveren ved systemstart.
|
||||
log_stop=Stoppet server for planlagte kommandoer
|
||||
log_start=Startet planlagt kommandoserver
|
||||
log_bootup=Aktivert planlagte kommandoserver ved oppstart
|
||||
log_bootdown=Deaktivert planlagt kommandoserver ved oppstart
|
||||
stop_err=Kunne ikke stoppe serveren
|
||||
start_err=Kunne ikke starte serveren
|
||||
13
at/lang/pl.auto
Normal file
13
at/lang/pl.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin nie wie, jak zarządzać poleceniami harmonogramu w tym systemie operacyjnym.
|
||||
index_stop=Zatrzymaj serwer zaplanowanych poleceń
|
||||
index_stopdesc=Zamknij proces serwera w tle <tt>atd</tt>, który wykonuje zaplanowane polecenia. Zapobiegnie to wykonywaniu poleceń w określonym czasie.
|
||||
index_start=Uruchom serwer poleceń zaplanowanych
|
||||
index_startdesc=Uruchom proces serwera w tle <tt>atd</tt>, który wykonuje zaplanowane polecenia. Jest to wymagane, aby polecenia były wykonywane w określonym czasie.
|
||||
index_boot=Uruchomić serwer podczas rozruchu?
|
||||
index_bootdesc=Zmień to ustawienie, aby włączyć lub wyłączyć uruchamianie zaplanowanego serwera poleceń podczas rozruchu systemu.
|
||||
log_stop=Zatrzymano serwer poleceń zaplanowanych
|
||||
log_start=Uruchomiono serwer poleceń zaplanowanych
|
||||
log_bootup=Włączono serwer poleceń zaplanowanych podczas rozruchu
|
||||
log_bootdown=Wyłączono serwer poleceń zaplanowanych podczas rozruchu
|
||||
stop_err=Nie udało się zatrzymać serwera
|
||||
start_err=Nie udało się uruchomić serwera
|
||||
@@ -19,6 +19,13 @@ index_amode1=Somente usuários listados ..
|
||||
index_amode2=Todos, exceto os usuários listados.
|
||||
index_delete=Cancelar comandos selecionados
|
||||
index_noat=O comando $1 não foi encontrado no seu sistema - talvez não esteja instalado ou não esteja disponível para o seu sistema operacional.
|
||||
index_nostyle=O Webmin não sabe como gerenciar comandos de agendamento neste sistema operacional.
|
||||
index_stop=Parar servidor de comandos programados
|
||||
index_stopdesc=Desligue o processo do servidor de segundo plano <tt>atd</tt> que executa comandos programados. Isso impedirá que os comandos sejam executados nos horários especificados.
|
||||
index_start=Iniciar servidor de comandos agendados
|
||||
index_startdesc=Inicie o processo do servidor de segundo plano <tt>atd</tt> que executa comandos programados. Isso é necessário para que os comandos sejam executados em seus horários especificados.
|
||||
index_boot=Iniciar o servidor na inicialização?
|
||||
index_bootdesc=Altere esta configuração para habilitar ou desabilitar a inicialização do servidor de comandos programados no momento da inicialização do sistema.
|
||||
edit_title=Comando agendado
|
||||
edit_cmd=Script completo para executar
|
||||
edit_shortcmd=Comando para executar
|
||||
@@ -57,3 +64,9 @@ log_create_job=Comando agendado criado para $1
|
||||
log_delete_job=Comando agendado cancelado para $1
|
||||
log_exec_job=Comando agendado executado para $1
|
||||
log_delete_jobs=$1 comandos agendados cancelados
|
||||
log_stop=Servidor de comandos programados parado
|
||||
log_start=Servidor de comandos programados iniciado
|
||||
log_bootup=Servidor de comandos agendados habilitado na inicialização
|
||||
log_bootdown=Servidor de comandos programados desativado na inicialização
|
||||
stop_err=Falha ao parar o servidor
|
||||
start_err=Falha ao iniciar o servidor
|
||||
|
||||
@@ -6,6 +6,13 @@ index_amode1=Somente usuários listados ..
|
||||
index_amode2=Todos, exceto os usuários listados.
|
||||
index_delete=Cancelar comandos selecionados
|
||||
index_noat=O comando $1 não foi encontrado no seu sistema - talvez não esteja instalado ou não esteja disponível para o seu sistema operacional.
|
||||
index_nostyle=O Webmin não sabe como gerenciar comandos de agendamento neste sistema operacional.
|
||||
index_stop=Parar servidor de comandos programados
|
||||
index_stopdesc=Desligue o processo do servidor de segundo plano <tt>atd</tt> que executa comandos programados. Isso impedirá que os comandos sejam executados nos horários especificados.
|
||||
index_start=Iniciar servidor de comandos agendados
|
||||
index_startdesc=Inicie o processo do servidor de segundo plano <tt>atd</tt> que executa comandos programados. Isso é necessário para que os comandos sejam executados em seus horários especificados.
|
||||
index_boot=Iniciar o servidor na inicialização?
|
||||
index_bootdesc=Altere esta configuração para habilitar ou desabilitar a inicialização do servidor de comandos programados no momento da inicialização do sistema.
|
||||
edit_shortcmd=Comando para executar
|
||||
edit_run=Corra agora
|
||||
edit_showfull=Mostrar script completo.
|
||||
@@ -24,3 +31,9 @@ log_create_job=Comando agendado criado para $1
|
||||
log_delete_job=Comando agendado cancelado para $1
|
||||
log_exec_job=Comando agendado executado para $1
|
||||
log_delete_jobs=$1 comandos agendados cancelados
|
||||
log_stop=Servidor de comandos programados parado
|
||||
log_start=Servidor de comandos programados iniciado
|
||||
log_bootup=Servidor de comandos agendados habilitado na inicialização
|
||||
log_bootdown=Servidor de comandos programados desativado na inicialização
|
||||
stop_err=Falha ao parar o servidor
|
||||
start_err=Falha ao iniciar o servidor
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Numai utilizatorii enumerați ..
|
||||
index_amode2=Toți, cu excepția utilizatorilor enumerați ..
|
||||
index_delete=Anulați comenzile selectate
|
||||
index_noat=Comanda $1 nu a fost găsită pe sistemul dvs. - poate că nu este instalată sau nu este disponibilă pentru sistemul dvs. de operare.
|
||||
index_nostyle=Webmin nu știe cum să gestioneze comenzile de programare pe acest sistem de operare.
|
||||
index_stop=Opriți serverul de comenzi programate
|
||||
index_stopdesc=Opriți procesul serverului de fundal <tt>atd</tt> care execută comenzi programate. Acest lucru va împiedica executarea comenzilor la orele specificate.
|
||||
index_start=Porniți serverul de comenzi programate
|
||||
index_startdesc=Porniți procesul de server de fundal <tt>atd</tt> care rulează comenzi programate. Acest lucru este necesar pentru executarea comenzilor la orele specificate.
|
||||
index_boot=Porniți serverul la pornire?
|
||||
index_bootdesc=Modificați această setare pentru a activa sau a dezactiva pornirea serverului de comenzi programate la momentul pornirii sistemului.
|
||||
edit_title=Comandare programată
|
||||
edit_cmd=Script complet pentru a executa
|
||||
edit_shortcmd=Comanda de executare
|
||||
@@ -57,3 +64,9 @@ log_create_job=Crearea comenzii programate pentru $1
|
||||
log_delete_job=A fost anulată comanda programată pentru $1
|
||||
log_exec_job=Execută comanda programată pentru $1
|
||||
log_delete_jobs=Anulează $1 comenzi programate
|
||||
log_stop=Server de comenzi programate oprit
|
||||
log_start=A pornit serverul de comenzi programate
|
||||
log_bootup=Activat serverul de comenzi programate la pornire
|
||||
log_bootdown=Server de comenzi programate dezactivate la pornire
|
||||
stop_err=Nu s-a putut opri serverul
|
||||
start_err=Nu a putut porni serverul
|
||||
|
||||
13
at/lang/ru.auto
Normal file
13
at/lang/ru.auto
Normal file
@@ -0,0 +1,13 @@
|
||||
index_nostyle=Webmin не знает, как управлять командами расписания в этой операционной системе.
|
||||
index_stop=Остановить сервер запланированных команд
|
||||
index_stopdesc=Завершите работу фонового серверного процесса <tt>atd</tt>, который выполняет запланированные команды. Это предотвратит выполнение команд в указанное время.
|
||||
index_start=Запустить сервер запланированных команд
|
||||
index_startdesc=Запустите фоновый серверный процесс <tt>atd</tt>, который выполняет запланированные команды. Это необходимо для выполнения команд в указанное время.
|
||||
index_boot=Запустить сервер при загрузке?
|
||||
index_bootdesc=Измените этот параметр, чтобы включить или отключить запуск сервера запланированных команд во время загрузки системы.
|
||||
log_stop=Остановлен сервер запланированных команд
|
||||
log_start=Запущен сервер запланированных команд
|
||||
log_bootup=Включен сервер запланированных команд при загрузке
|
||||
log_bootdown=Отключен сервер запланированных команд при загрузке
|
||||
stop_err=Не удалось остановить сервер
|
||||
start_err=Не удалось запустить сервер
|
||||
@@ -1,6 +1,13 @@
|
||||
index_mail=Poslať e-mail po dokončení?
|
||||
index_delete=Zrušiť vybrané príkazy
|
||||
index_noat=Príkaz $1 nebol vo vašom systéme nájdený - možno nie je nainštalovaný alebo nie je k dispozícii pre váš operačný systém.
|
||||
index_nostyle=Webmin nevie, ako spravovať príkazy plánovania v tomto operačnom systéme.
|
||||
index_stop=Zastavte server naplánovaných príkazov
|
||||
index_stopdesc=Ukončite proces servera na pozadí <tt>atd</tt>, ktorý spúšťa naplánované príkazy. Toto zabráni vykonaniu príkazov v zadanom čase.
|
||||
index_start=Spustite server Naplánované príkazy
|
||||
index_startdesc=Spustite proces servera na pozadí <tt>atd</tt>, ktorý spúšťa naplánované príkazy. Toto je potrebné na to, aby sa príkazy mohli vykonávať v zadaných časoch.
|
||||
index_boot=Spustiť server pri štarte?
|
||||
index_bootdesc=Toto nastavenie zmeňte, aby ste povolili alebo zakázali spustenie servera naplánovaných príkazov v čase zavádzania systému.
|
||||
edit_shortcmd=Príkaz na vykonanie
|
||||
edit_showfull=Zobraziť celý skript.
|
||||
deletes_err=Nepodarilo sa zrušiť príkazy
|
||||
@@ -10,3 +17,9 @@ log_create_job=Bol vytvorený naplánovaný príkaz pre $1
|
||||
log_delete_job=Zrušený naplánovaný príkaz pre $1
|
||||
log_exec_job=Vykonal sa naplánovaný príkaz pre $1
|
||||
log_delete_jobs=Zrušené $1 naplánované príkazy
|
||||
log_stop=Server plánovaných príkazov bol zastavený
|
||||
log_start=Server spustených naplánovaných príkazov
|
||||
log_bootup=Server povolených naplánovaných príkazov pri štarte
|
||||
log_bootdown=Zakázaný server naplánovaných príkazov pri štarte
|
||||
stop_err=Server sa nepodarilo zastaviť
|
||||
start_err=Server sa nepodarilo spustiť
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Samo našteti uporabniki ..
|
||||
index_amode2=Vsi razen naštetih uporabnikov ..
|
||||
index_delete=Prekliči izbrane ukaze
|
||||
index_noat=Ukaza $1 v vašem sistemu ni bilo mogoče - morda ni nameščen ali pa ni na voljo za vaš operacijski sistem.
|
||||
index_nostyle=Webmin ne ve, kako upravljati ukaze razporeda v tem operacijskem sistemu.
|
||||
index_stop=Ustavite strežnik načrtovanih ukazov
|
||||
index_stopdesc=Zaustavite postopek strežnika v ozadju <tt>atd</tt>, ki izvaja načrtovane ukaze. To bo preprečilo izvajanje ukazov ob določenem času.
|
||||
index_start=Zaženite strežnik Scheduled Commands
|
||||
index_startdesc=Zaženite postopek strežnika <tt>atd</tt> v ozadju, ki izvaja načrtovane ukaze. To je potrebno za izvajanje ukazov ob določenem času.
|
||||
index_boot=Želite zagnati strežnik ob zagonu?
|
||||
index_bootdesc=Spremenite to nastavitev, da omogočite ali onemogočite zagon strežnika z načrtovanimi ukazi ob zagonu sistema.
|
||||
edit_title=Načrtovani ukaz
|
||||
edit_cmd=Celoten scenarij za izvedbo
|
||||
edit_shortcmd=Ukaz za izvedbo
|
||||
@@ -57,3 +64,9 @@ log_create_job=Ustvarjen načrtovan ukaz za $1
|
||||
log_delete_job=Preklic načrtovanega ukaza za $1
|
||||
log_exec_job=Izveden načrtovani ukaz za $1
|
||||
log_delete_jobs=Preklicani $1 razporejeni ukazi
|
||||
log_stop=Ustavljen strežnik za načrtovane ukaze
|
||||
log_start=Začel strežnik načrtovanih ukazov
|
||||
log_bootup=Omogočen strežnik za načrtovane ukaze ob zagonu
|
||||
log_bootdown=Onemogočen strežnik načrtovanih ukazov ob zagonu
|
||||
stop_err=Strežnika ni bilo mogoče ustaviti
|
||||
start_err=Strežnika ni bilo mogoče zagnati
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
index_mail=Skicka e-post när du är klar?
|
||||
index_nostyle=Webmin vet inte hur man hanterar schemaläggskommandon för detta operativsystem.
|
||||
index_stop=Stoppa schemalagda kommandoserver
|
||||
index_stopdesc=Stäng av <tt>atd</tt> bakgrundsserverprocessen som kör schemalagda kommandon. Detta förhindrar att kommandon körs vid de angivna tiderna.
|
||||
index_start=Starta schemalagda kommandoserver
|
||||
index_startdesc=Starta <tt>atd</tt> bakgrundsserverprocessen som kör schemalagda kommandon. Detta krävs för att kommandon ska kunna köras vid de angivna tiderna.
|
||||
index_boot=Starta server vid start?
|
||||
index_bootdesc=Ändra denna inställning för att aktivera eller inaktivera start av den schemalagda kommandoservern vid systemstarttid.
|
||||
log_allow=Ändrade tillåtna användare
|
||||
log_create_job=Skapat schemalagd kommando för $1
|
||||
log_delete_job=Avbruten schemalagd kommando för $1
|
||||
log_exec_job=Utfört schemalagd kommando för $1
|
||||
log_delete_jobs=Avbruten $1 schemalagda kommandon
|
||||
log_stop=Stoppade schemalagda kommandoserver
|
||||
log_start=Startade schemalagda kommandoserver
|
||||
log_bootup=Aktiverad schemalagd kommandoserver vid start
|
||||
log_bootdown=Inaktiverad schemalagd kommandoserver vid start
|
||||
stop_err=Det gick inte att stoppa servern
|
||||
start_err=Det gick inte att starta servern
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=เฉพาะผู้ใช้ที่ระบุไว้ ..
|
||||
index_amode2=ทั้งหมดยกเว้นผู้ใช้ที่ระบุไว้ ..
|
||||
index_delete=ยกเลิกคำสั่งที่เลือก
|
||||
index_noat=ไม่พบคำสั่ง $1 บนระบบของคุณ - อาจจะไม่ได้ติดตั้งหรือไม่สามารถใช้ได้กับระบบปฏิบัติการของคุณ
|
||||
index_nostyle=Webmin ไม่ทราบวิธีจัดการคำสั่งกำหนดการบนระบบปฏิบัติการนี้
|
||||
index_stop=หยุดเซิร์ฟเวอร์คำสั่งตามกำหนดการ
|
||||
index_stopdesc=ปิดกระบวนการเซิร์ฟเวอร์พื้นหลัง <tt>atd</tt> ที่รันคำสั่งตามกำหนดเวลา วิธีนี้จะป้องกันไม่ให้คำสั่งดำเนินการตามเวลาที่กำหนด
|
||||
index_start=เริ่มเซิร์ฟเวอร์คำสั่งตามกำหนดการ
|
||||
index_startdesc=เริ่มต้นกระบวนการเซิร์ฟเวอร์พื้นหลัง <tt>atd</tt> ที่รันคำสั่งตามกำหนดเวลา สิ่งนี้จำเป็นสำหรับคำสั่งเพื่อดำเนินการตามเวลาที่กำหนด
|
||||
index_boot=เริ่มเซิร์ฟเวอร์เมื่อเริ่มระบบหรือไม่
|
||||
index_bootdesc=เปลี่ยนการตั้งค่านี้เพื่อเปิดหรือปิดใช้งานการเริ่มต้นเซิร์ฟเวอร์คำสั่งที่กำหนดเวลาไว้ในเวลาบูตระบบ
|
||||
edit_title=คำสั่งตามกำหนดการ
|
||||
edit_cmd=สคริปต์เต็มรูปแบบในการดำเนินการ
|
||||
edit_shortcmd=คำสั่งเพื่อดำเนินการ
|
||||
@@ -57,3 +64,9 @@ log_create_job=สร้างคำสั่งที่กำหนดเว
|
||||
log_delete_job=ยกเลิกคำสั่งที่กำหนดเวลาไว้สำหรับ $1
|
||||
log_exec_job=ดำเนินการคำสั่งตามกำหนดการสำหรับ $1
|
||||
log_delete_jobs=ยกเลิกคำสั่งที่กำหนดไว้ $1
|
||||
log_stop=หยุดเซิร์ฟเวอร์คำสั่งตามกำหนดเวลา
|
||||
log_start=เริ่มต้นเซิร์ฟเวอร์คำสั่งตามกำหนดการ
|
||||
log_bootup=เปิดใช้งานเซิร์ฟเวอร์คำสั่งตามกำหนดเวลาเมื่อบูต
|
||||
log_bootdown=ปิดใช้งานเซิร์ฟเวอร์คำสั่งตามกำหนดการเมื่อบูต
|
||||
stop_err=หยุดเซิร์ฟเวอร์ไม่สำเร็จ
|
||||
start_err=ไม่สามารถเริ่มเซิร์ฟเวอร์ได้
|
||||
|
||||
@@ -6,6 +6,13 @@ index_amode1=Sadece listelenen kullanıcılar ..
|
||||
index_amode2=Listelenen kullanıcılar hariç tümü.
|
||||
index_delete=Seçilen Komutları İptal Et
|
||||
index_noat=$1 komutu sisteminizde bulunamadı - belki yüklü değil veya işletim sisteminizde kullanılamıyor.
|
||||
index_nostyle=Webmin, bu işletim sisteminde zamanlama komutlarını nasıl yöneteceğini bilmiyor.
|
||||
index_stop=Planlanmış Komutlar Sunucusunu Durdur
|
||||
index_stopdesc=Zamanlanmış komutları çalıştıran <tt>atd</tt> arka plan sunucusu işlemini kapatın. Bu, komutların belirtilen zamanlarda yürütülmesini engelleyecektir.
|
||||
index_start=Planlanmış Komutlar Sunucusunu Başlat
|
||||
index_startdesc=Zamanlanmış komutları çalıştıran <tt>atd</tt> arka plan sunucusu işlemini başlatın. Bu, komutların belirtilen zamanlarda çalıştırılması için gereklidir.
|
||||
index_boot=Önyüklemede Sunucu Başlatılsın mı?
|
||||
index_bootdesc=Sistem önyükleme zamanında zamanlanmış komut sunucusunu başlatmayı etkinleştirmek veya devre dışı bırakmak için bu ayarı değiştirin.
|
||||
edit_shortcmd=Yürütme komutu
|
||||
edit_showfull=Komut dosyasının tamamını göster.
|
||||
create_eallow=Belirtilen kullanıcının zamanlanmış komutları çalıştırmasına izin verilmiyor
|
||||
@@ -20,3 +27,9 @@ log_create_job=$1 için zamanlanmış komut oluşturuldu
|
||||
log_delete_job=$1 için zamanlanmış komut iptal edildi
|
||||
log_exec_job=$1 için zamanlanmış komut yürütüldü
|
||||
log_delete_jobs=$1 zamanlanmış komut iptal edildi
|
||||
log_stop=Programlanmış komut sunucusu durduruldu
|
||||
log_start=Zamanlanmış komut sunucusu başlatıldı
|
||||
log_bootup=Önyüklemede zamanlanmış komut sunucusu etkinleştirildi
|
||||
log_bootdown=Önyüklemede devre dışı bırakılan zamanlanmış komut sunucusu
|
||||
stop_err=Sunucu durdurulamadı
|
||||
start_err=Sunucu başlatılamadı
|
||||
|
||||
@@ -6,6 +6,13 @@ index_amode1=Лише перелічені користувачі ..
|
||||
index_amode2=Усі, крім перерахованих користувачів ..
|
||||
index_delete=Скасувати вибрані команди
|
||||
index_noat=Команда $1 не знайдена у вашій системі - можливо, вона не встановлена або недоступна для вашої операційної системи.
|
||||
index_nostyle=Webmin не знає, як керувати командами розкладу в цій операційній системі.
|
||||
index_stop=Зупиніть сервер запланованих команд
|
||||
index_stopdesc=Вимкніть фоновий сервер <tt>atd</tt>, який запускає заплановані команди. Це запобіжить виконанню команд у зазначений час.
|
||||
index_start=Запустіть сервер запланованих команд
|
||||
index_startdesc=Запустіть фоновий сервер <tt>atd</tt>, який запускає заплановані команди. Це потрібно для виконання команд у зазначений час.
|
||||
index_boot=Запустити сервер при завантаженні?
|
||||
index_bootdesc=Змініть цей параметр, щоб увімкнути або вимкнути запуск сервера запланованих команд під час завантаження системи.
|
||||
edit_shortcmd=Команда для виконання
|
||||
edit_run=Виконати зараз
|
||||
edit_showfull=Показати повний сценарій.
|
||||
@@ -24,3 +31,9 @@ log_create_job=Створено заплановану команду для $1
|
||||
log_delete_job=Скасовано заплановану команду для $1
|
||||
log_exec_job=Виконана планова команда для $1
|
||||
log_delete_jobs=Скасовано $1 заплановані команди
|
||||
log_stop=Зупинено сервер запланованих команд
|
||||
log_start=Розпочато сервер запланованих команд
|
||||
log_bootup=Увімкнено сервер запланованих команд під час завантаження
|
||||
log_bootdown=Вимкнено сервер запланованих команд під час завантаження
|
||||
stop_err=Не вдалося зупинити сервер
|
||||
start_err=Не вдалося запустити сервер
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=صرف درج صارفین ..
|
||||
index_amode2=سوائے درج فہرست صارفین کے ..
|
||||
index_delete=منتخب احکامات منسوخ کریں
|
||||
index_noat=آپ کے سسٹم پر$1 کمانڈ نہیں ملا تھا - ہوسکتا ہے کہ یہ انسٹال نہیں ہوا ہے ، یا آپ کے آپریٹنگ سسٹم کے لئے دستیاب نہیں ہے۔
|
||||
index_nostyle=ویبمین نہیں جانتا ہے کہ اس آپریٹنگ سسٹم پر شیڈول کمانڈز کا انتظام کیسے کریں۔
|
||||
index_stop=شیڈول کمانڈز سرور بند کرو
|
||||
index_stopdesc=Shut down the <tt>atd</tt> background server process that runs scheduled commands. This will prevent commands from executing at their specified times.
|
||||
index_start=شیڈول کمانڈز سرور شروع کریں
|
||||
index_startdesc=Start up the <tt>atd</tt> background server process that runs scheduled commands. This is required for commands to execute at their specified times.
|
||||
index_boot=بوٹ میں سرور شروع کریں؟
|
||||
index_bootdesc=سسٹم بوٹ وقت شیڈول کمانڈز سرور کو شروع کرنے کے قابل یا غیر فعال کرنے کے لئے اس ترتیب کو تبدیل کریں۔
|
||||
edit_title=شیڈول کمانڈ
|
||||
edit_cmd=عمل کرنے کے لئے مکمل اسکرپٹ
|
||||
edit_shortcmd=پھانسی دینے کا حکم
|
||||
@@ -57,3 +64,9 @@ log_create_job=$1 کیلئے شیڈول کمانڈ تشکیل دیا گیا
|
||||
log_delete_job=$1 کے لئے شیڈول کمانڈ منسوخ کردیا گیا
|
||||
log_exec_job=$1 کے لئے شیڈول کمانڈ پر عمل درآمد کیا گیا
|
||||
log_delete_jobs=منسوخ کردہ$1 شیڈول کمانڈز
|
||||
log_stop=شیڈول کمانڈز سرور رک گیا
|
||||
log_start=شیڈول کمانڈز سرور شروع کیا
|
||||
log_bootup=بوٹ پر شیڈول کمانڈز سرور کو فعال کردیا
|
||||
log_bootdown=بوٹ کے وقت غیر فعال شیڈول کمانڈز سرور
|
||||
stop_err=سرور کو روکنے میں ناکام
|
||||
start_err=سرور شروع کرنے میں ناکام
|
||||
|
||||
@@ -19,6 +19,13 @@ index_amode1=Chỉ người dùng được liệt kê ..
|
||||
index_amode2=Tất cả ngoại trừ người dùng được liệt kê ..
|
||||
index_delete=Hủy bỏ các lệnh đã chọn
|
||||
index_noat=Lệnh $1 không được tìm thấy trên hệ thống của bạn - có thể nó chưa được cài đặt hoặc không có sẵn cho hệ điều hành của bạn.
|
||||
index_nostyle=Webmin không biết cách quản lý các lệnh lịch trình trên hệ điều hành này.
|
||||
index_stop=Dừng máy chủ lệnh đã lên lịch
|
||||
index_stopdesc=Tắt quá trình máy chủ nền <tt>atd</tt> chạy các lệnh đã lên lịch. Điều này sẽ ngăn không cho các lệnh thực thi vào những thời điểm cụ thể của chúng.
|
||||
index_start=Khởi động máy chủ lệnh đã lên lịch
|
||||
index_startdesc=Khởi động quy trình máy chủ nền <tt>atd</tt> chạy các lệnh đã lên lịch. Điều này là bắt buộc để các lệnh thực thi tại thời điểm xác định của chúng.
|
||||
index_boot=Khởi động máy chủ lúc khởi động?
|
||||
index_bootdesc=Thay đổi cài đặt này để bật hoặc tắt khởi động máy chủ lệnh đã lên lịch tại thời điểm khởi động hệ thống.
|
||||
edit_title=Lệnh theo lịch trình
|
||||
edit_cmd=Kịch bản đầy đủ để thực thi
|
||||
edit_shortcmd=Lệnh thực thi
|
||||
@@ -57,3 +64,9 @@ log_create_job=Tạo lệnh theo lịch trình cho $1
|
||||
log_delete_job=Lệnh đã hủy theo lịch trình cho $1
|
||||
log_exec_job=Đã thực hiện lệnh theo lịch trình cho $1
|
||||
log_delete_jobs=Đã hủy $1 lệnh theo lịch
|
||||
log_stop=Máy chủ lệnh đã lên lịch đã dừng
|
||||
log_start=Đã khởi động máy chủ lệnh theo lịch trình
|
||||
log_bootup=Đã bật máy chủ lệnh được lập lịch khi khởi động
|
||||
log_bootdown=Đã tắt máy chủ lệnh đã lên lịch khi khởi động
|
||||
stop_err=Không dừng được máy chủ
|
||||
start_err=Không khởi động được máy chủ
|
||||
|
||||
@@ -6,6 +6,13 @@ index_amode1=仅列出的用户 ..
|
||||
index_amode2=除列出的用户外的所有 ..
|
||||
index_delete=取消选择的命令
|
||||
index_noat=在您的系统上找不到 $1命令-可能尚未安装,或者对您的操作系统不可用。
|
||||
index_nostyle=Webmin不知道如何在此操作系统上管理调度命令。
|
||||
index_stop=停止计划的命令服务器
|
||||
index_stopdesc=关闭运行计划的命令的<tt>atd</tt>后台服务器进程。这将阻止命令在其指定时间执行。
|
||||
index_start=启动计划的命令服务器
|
||||
index_startdesc=启动运行计划的命令的<tt>atd</tt>后台服务器进程。这是命令在指定时间执行所需的。
|
||||
index_boot=在启动时启动服务器?
|
||||
index_bootdesc=更改此设置以启用或禁用在系统引导时启动计划的命令服务器。
|
||||
edit_shortcmd=执行命令
|
||||
edit_run=现在跑步
|
||||
edit_showfull=显示完整脚本。
|
||||
@@ -24,3 +31,9 @@ log_create_job=为 $1创建了计划的命令
|
||||
log_delete_job=已取消 $1的预定命令
|
||||
log_exec_job=已为 $1执行计划的命令
|
||||
log_delete_jobs=已取消 $1个计划的命令
|
||||
log_stop=停止调度的命令服务器
|
||||
log_start=启动计划的命令服务器
|
||||
log_bootup=引导时启用计划的命令服务器
|
||||
log_bootdown=引导时禁用调度的命令服务器
|
||||
stop_err=无法停止服务器
|
||||
start_err=无法启动服务器
|
||||
|
||||
@@ -6,6 +6,13 @@ index_amode1=僅列出的用戶 ..
|
||||
index_amode2=除列出的用戶外的所有 ..
|
||||
index_delete=取消選擇的命令
|
||||
index_noat=在您的系統上找不到 $1命令-可能尚未安裝,或者對您的操作系統不可用。
|
||||
index_nostyle=Webmin不知道如何在此操作系統上管理調度命令。
|
||||
index_stop=停止計劃的命令服務器
|
||||
index_stopdesc=關閉運行計劃的命令的<tt>atd</tt>後台服務器進程。這將阻止命令在其指定時間執行。
|
||||
index_start=啟動計劃的命令服務器
|
||||
index_startdesc=啟動運行計劃的命令的<tt>atd</tt>後台服務器進程。這是命令在其指定時間執行所必需的。
|
||||
index_boot=在啟動時啟動服務器?
|
||||
index_bootdesc=更改此設置以啟用或禁用在系統引導時啟動計劃的命令服務器。
|
||||
edit_shortcmd=執行命令
|
||||
edit_run=現在跑步
|
||||
edit_showfull=顯示完整腳本。
|
||||
@@ -24,3 +31,9 @@ log_create_job=為 $1創建了計劃的命令
|
||||
log_delete_job=已取消 $1的預定命令
|
||||
log_exec_job=已為 $1執行計劃的命令
|
||||
log_delete_jobs=已取消 $1個計劃的命令
|
||||
log_stop=停止調度的命令服務器
|
||||
log_start=啟動計劃的命令服務器
|
||||
log_bootup=引導時啟用計劃的命令服務器
|
||||
log_bootdown=引導時禁用調度的命令服務器
|
||||
stop_err=無法停止服務器
|
||||
start_err=無法啟動服務器
|
||||
|
||||
@@ -30,25 +30,27 @@ closedir($DIR);
|
||||
return @rv;
|
||||
}
|
||||
|
||||
# create_atjob(user, time, commands, directory, send-email)
|
||||
# create_atjob(user, time, command, directory, send-email)
|
||||
# Create a new at job that runs the given command at the given time
|
||||
sub create_atjob
|
||||
{
|
||||
my @tm = localtime($_[1]);
|
||||
my ($user, $attime, $cmd, $dir, $email) = @_;
|
||||
my @tm = localtime($attime);
|
||||
my $date = sprintf "%2.2d:%2.2d %d.%d.%d",
|
||||
$tm[2], $tm[1], $tm[3], $tm[4]+1, $tm[5]+1900;
|
||||
my $mailflag = $_[4] ? "-m" : "";
|
||||
my $cmd = "cd ".quotemeta($_[3])." ; at $mailflag $date";
|
||||
my @uinfo = getpwnam($_[0]);
|
||||
my $mailflag = $email ? "-m" : "";
|
||||
my $atcmd = "cd ".quotemeta($dir)." ; at $mailflag $date";
|
||||
my @uinfo = getpwnam($user);
|
||||
if ($uinfo[2] != $<) {
|
||||
# Only SU if we are not already the user
|
||||
$cmd = &command_as_user($_[0], 0, $cmd);
|
||||
$atcmd = &command_as_user($user, 0, $atcmd);
|
||||
}
|
||||
no strict "subs";
|
||||
&open_execute_command(AT, "$cmd >/dev/null 2>&1", 0);
|
||||
print AT $_[2];
|
||||
&open_execute_command(AT, "$atcmd >/dev/null 2>&1", 0);
|
||||
print AT $cmd,"\n";
|
||||
close(AT);
|
||||
use strict "subs";
|
||||
&additional_log('exec', undef, $cmd);
|
||||
&additional_log('exec', undef, $atcmd);
|
||||
}
|
||||
|
||||
# delete_atjob(id)
|
||||
@@ -57,3 +59,14 @@ sub delete_atjob
|
||||
&system_logged("atrm ".quotemeta($_[0])." >/dev/null 2>&1");
|
||||
}
|
||||
|
||||
# get_init_name()
|
||||
# Returns the name of the bootup action for atd, if there is one
|
||||
sub get_init_name
|
||||
{
|
||||
&foreign_require("init");
|
||||
if (&init::action_status("atd") != 0) {
|
||||
return "atd";
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,11 +18,8 @@ if ($type eq "job") {
|
||||
elsif ($type eq "jobs") {
|
||||
return &text('log_'.$action.'_jobs', $object);
|
||||
}
|
||||
elsif ($action eq 'allow') {
|
||||
return $text{'log_allow'};
|
||||
}
|
||||
else {
|
||||
return undef;
|
||||
return $text{'log_'.$action};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
13
at/start.cgi
Executable file
13
at/start.cgi
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Start the atd server
|
||||
|
||||
require './at-lib.pl';
|
||||
&error_setup($text{'start_err'});
|
||||
&foreign_require("init");
|
||||
my $init = &get_init_name();
|
||||
my ($ok, $err) = &init::start_action($init);
|
||||
&error($err) if (!$ok);
|
||||
&webmin_log("start");
|
||||
&redirect("");
|
||||
|
||||
|
||||
13
at/stop.cgi
Executable file
13
at/stop.cgi
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Stop the atd server
|
||||
|
||||
require './at-lib.pl';
|
||||
&error_setup($text{'stop_err'});
|
||||
&foreign_require("init");
|
||||
my $init = &get_init_name();
|
||||
my ($ok, $err) = &init::stop_action($init);
|
||||
&error($err) if (!$ok);
|
||||
&webmin_log("stop");
|
||||
&redirect("");
|
||||
|
||||
|
||||
@@ -299,7 +299,8 @@ if ($mode == 0) {
|
||||
$file = &date_subs($path);
|
||||
}
|
||||
else {
|
||||
$file = &transname();
|
||||
my $ext = &has_command("gzip") ? '.tar.gz' : '.tar';
|
||||
$file = &transname_timestamped("backup", $ext);
|
||||
}
|
||||
|
||||
# Get module descriptions
|
||||
|
||||
@@ -67,12 +67,12 @@ our @dnssec_dlv_key = ( 257, 3, 5, '"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWE
|
||||
|
||||
my $rand_flag;
|
||||
if ($gconfig{'os_type'} =~ /-linux$/ &&
|
||||
-r "/dev/urandom" &&
|
||||
!$config{'force_random'} &&
|
||||
|
||||
-r "/dev/urandom" &&
|
||||
!$config{'force_random'} &&
|
||||
$bind_version &&
|
||||
&compare_version_numbers($bind_version, '9.14') < 0) {
|
||||
# Version: 9.14.2 deprecated the use of -r option
|
||||
# in favor of using /dev/random [bugs:#5370]
|
||||
$bind_version < '9.14') {
|
||||
$rand_flag = "-r /dev/urandom";
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ sub get_bind_version
|
||||
{
|
||||
if (&has_command($config{'named_path'})) {
|
||||
my $out = &backquote_command("$config{'named_path'} -v 2>&1");
|
||||
if ($out =~ /(bind|named)\s+([0-9\.]+)/i) {
|
||||
if ($out && $out =~ /(bind|named)\s+([0-9\.]+)/i) {
|
||||
return $2;
|
||||
}
|
||||
}
|
||||
@@ -3600,7 +3600,8 @@ foreach my $f (readdir(ZONEDIR)) {
|
||||
$rv->{'public'} = $pub->{'values'}->[3];
|
||||
$rv->{'values'} = $pub->{'values'};
|
||||
$rv->{'publictext'} = &read_file_contents("$dir/$f");
|
||||
while($rv->{'publictext'} =~ s/^;.*\r?\n//) { }
|
||||
while($rv->{'publictext'} =~ s/^;.*\r?\n//) { };
|
||||
$rv->{'publictext'} = format_dnssec_public_key($rv->{'publictext'});
|
||||
}
|
||||
elsif ($f =~ /^K\Q$dom\E\.\+(\d+)\+(\d+)\.private$/) {
|
||||
# Found the private key file
|
||||
@@ -4279,5 +4280,16 @@ my $view = $zone->{'view'};
|
||||
return $view ? &text('master_inview', $desc, $view) : $desc;
|
||||
}
|
||||
|
||||
# format_dnssec_public_key(pubkey)
|
||||
# Format public dnssec public key, each on new line
|
||||
sub format_dnssec_public_key
|
||||
{
|
||||
my ($pubkey) = @_;
|
||||
my @krvalues = split(/\s+/, $pubkey);
|
||||
my @kvalues = @krvalues[0..5];
|
||||
my $kvspace = " " x length("@kvalues");
|
||||
return join(" ", @kvalues) . " " . join("\n$kvspace ", splice(@krvalues, 6));
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ my $desc = &ip6int_to_net(&arpa_to_ip($zone->{'name'}));
|
||||
&ui_print_header($desc, $text{'check_title'}, "",
|
||||
undef, undef, undef, undef, &restart_links($zone));
|
||||
|
||||
my $file = &make_chroot($zone->{'file'});
|
||||
my $file = &make_chroot(&absolute_path($zone->{'file'}));
|
||||
my @errs = &check_zone_records($zone);
|
||||
if (@errs) {
|
||||
# Show list of errors
|
||||
|
||||
@@ -39,3 +39,4 @@ checkconf=named-checkconf
|
||||
other_slaves=1
|
||||
force_random=0
|
||||
spf_record=0
|
||||
pid_file=/var/run/named/pid
|
||||
|
||||
@@ -38,20 +38,20 @@ if (@keyrecs) {
|
||||
my $kt = $key->{'ksk'} ? 'ksk' : 'zone';
|
||||
my ($keyrec) = grep { $_->{'values'}->[0] ==
|
||||
($key->{'ksk'} ? 257 : 256) } @keyrecs;
|
||||
my $keyline = join(" ", $keyrec->{'name'}, $keyrec->{'class'},
|
||||
$keyrec->{'type'},
|
||||
join("", @{$keyrec->{'values'}}));
|
||||
my $keyline = format_dnssec_public_key(
|
||||
join(" ", $keyrec->{'name'}, $keyrec->{'class'},
|
||||
$keyrec->{'type'}, @{$keyrec->{'values'}}));
|
||||
print &ui_hidden_start($text{'zonekey_expand'.$kt},
|
||||
$kt, 0, "edit_zonekey.cgi?$in");
|
||||
print $text{'zonekey_public'},"<br>\n";
|
||||
print &ui_textarea("keyline", $keyline, 2, 80, "off", 0,
|
||||
print &ui_textarea("keyline", $keyline, 4, 80, "off", 0,
|
||||
"readonly style='width:90%'"),"<br>\n";
|
||||
print &text('zonekey_publicfile',
|
||||
"<tt>$key->{'publicfile'}</tt>"),"<p>\n";
|
||||
|
||||
print $text{'zonekey_private'},"<br>\n";
|
||||
print &ui_textarea(
|
||||
"private", $key->{'privatetext'}, 8, 80,
|
||||
"private", $key->{'privatetext'}, 14, 80,
|
||||
"off", 0, "readonly style='width:90%'"),"<br>\n";
|
||||
print &text('zonekey_privatefile',
|
||||
"<tt>$key->{'privatefile'}</tt>"),"<br>\n";
|
||||
@@ -101,7 +101,7 @@ else {
|
||||
|
||||
# Key algorithm
|
||||
print &ui_table_row($text{'zonekey_alg'},
|
||||
&ui_select("alg", "RSASHA1",
|
||||
&ui_select("alg", "RSASHA256",
|
||||
[ &list_dnssec_algorithms() ]));
|
||||
|
||||
# Key size
|
||||
|
||||
@@ -86,6 +86,8 @@ else {
|
||||
|
||||
&flush_file_lines();
|
||||
|
||||
&set_ownership($config{'rndc_conf'});
|
||||
|
||||
# MacOS specific fix - remove include for /etc/rndc.key , which we don't need
|
||||
my $lref = &read_file_lines($cfile);
|
||||
for(my $i=0; $i<@$lref; $i++) {
|
||||
|
||||
@@ -24,6 +24,7 @@ else {
|
||||
}
|
||||
|
||||
&ui_print_header(undef, $text{'add_title'}, "");
|
||||
|
||||
print "<b>$msg</b><p>\n";
|
||||
|
||||
# Setup error handler for down hosts
|
||||
|
||||
@@ -13,23 +13,23 @@ use WebminCore;
|
||||
# Returns a list of all hosts whose users are being managed by this module
|
||||
sub list_useradmin_hosts
|
||||
{
|
||||
local %smap = map { $_->{'id'}, $_ } &list_servers();
|
||||
local $hdir = "$module_config_directory/hosts";
|
||||
opendir(DIR, $hdir);
|
||||
local ($h, @rv);
|
||||
foreach $h (readdir(DIR)) {
|
||||
my %smap = map { $_->{'id'}, $_ } &list_servers();
|
||||
my $hdir = "$module_config_directory/hosts";
|
||||
my @rv;
|
||||
opendir(DIR, $hdir) || return ();
|
||||
foreach my $h (readdir(DIR)) {
|
||||
next if ($h eq "." || $h eq ".." || !-d "$hdir/$h");
|
||||
local %host = ( 'id', $h );
|
||||
my %host = ( 'id', $h );
|
||||
next if (!$smap{$h}); # underlying server was deleted
|
||||
opendir(UDIR, "$hdir/$h");
|
||||
foreach $f (readdir(UDIR)) {
|
||||
if ($f =~ /^(\S+)\.user$/) {
|
||||
local %user;
|
||||
my %user;
|
||||
&read_file("$hdir/$h/$f", \%user);
|
||||
push(@{$host{'users'}}, \%user);
|
||||
}
|
||||
elsif ($f =~ /^(\S+)\.group$/) {
|
||||
local %group;
|
||||
my %group;
|
||||
&read_file("$hdir/$h/$f", \%group);
|
||||
push(@{$host{'groups'}}, \%group);
|
||||
}
|
||||
@@ -44,32 +44,34 @@ return @rv;
|
||||
# save_useradmin_host(&host)
|
||||
sub save_useradmin_host
|
||||
{
|
||||
local $hdir = "$module_config_directory/hosts";
|
||||
local %oldfile;
|
||||
my ($host) = @_;
|
||||
my $hdir = "$module_config_directory/hosts";
|
||||
my %oldfile;
|
||||
mkdir($hdir, 0700);
|
||||
if (-d "$hdir/$_[0]->{'id'}") {
|
||||
opendir(DIR, "$hdir/$_[0]->{'id'}");
|
||||
map { $oldfile{$_}++ } readdir(DIR);
|
||||
if (-d "$hdir/$host->{'id'}") {
|
||||
opendir(DIR, "$hdir/$host->{'id'}");
|
||||
%oldfile = map { $_, 1 } readdir(DIR);
|
||||
closedir(DIR);
|
||||
}
|
||||
else {
|
||||
mkdir("$hdir/$_[0]->{'id'}", 0700);
|
||||
mkdir("$hdir/$host->{'id'}", 0700);
|
||||
}
|
||||
foreach $u (@{$_[0]->{'users'}}) {
|
||||
&write_file("$hdir/$_[0]->{'id'}/$u->{'user'}.user", $u);
|
||||
foreach my $u (@{$host->{'users'}}) {
|
||||
&write_file("$hdir/$host->{'id'}/$u->{'user'}.user", $u);
|
||||
delete($oldfile{"$u->{'user'}.user"});
|
||||
}
|
||||
foreach $g (@{$_[0]->{'groups'}}) {
|
||||
&write_file("$hdir/$_[0]->{'id'}/$g->{'group'}.group", $g);
|
||||
foreach my $g (@{$host->{'groups'}}) {
|
||||
&write_file("$hdir/$host->{'id'}/$g->{'group'}.group", $g);
|
||||
delete($oldfile{"$g->{'group'}.group"});
|
||||
}
|
||||
unlink(map { "$hdir/$_[0]->{'id'}/$_" } keys %oldfile);
|
||||
unlink(map { "$hdir/$host->{'id'}/$_" } keys %oldfile);
|
||||
}
|
||||
|
||||
# delete_useradmin_host(&host)
|
||||
sub delete_useradmin_host
|
||||
{
|
||||
system("rm -rf '$module_config_directory/hosts/$_[0]->{'id'}'");
|
||||
my ($host) = @_;
|
||||
&unlink_file("$module_config_directory/hosts/$host->{'id'}");
|
||||
}
|
||||
|
||||
# list_servers()
|
||||
@@ -77,7 +79,7 @@ system("rm -rf '$module_config_directory/hosts/$_[0]->{'id'}'");
|
||||
# managed, plus this server
|
||||
sub list_servers
|
||||
{
|
||||
local @servers = &servers::list_servers_sorted();
|
||||
my @servers = &servers::list_servers_sorted();
|
||||
return ( &servers::this_server(), grep { $_->{'user'} } @servers );
|
||||
}
|
||||
|
||||
@@ -86,6 +88,7 @@ return ( &servers::this_server(), grep { $_->{'user'} } @servers );
|
||||
# parent dirs
|
||||
sub auto_home_dir
|
||||
{
|
||||
my ($base, $user) = @_;
|
||||
if ($uconfig{'home_style'} == 0) {
|
||||
return $_[0]."/".$_[1];
|
||||
}
|
||||
@@ -105,99 +108,90 @@ elsif ($uconfig{'home_style'} == 3) {
|
||||
# server_name(&server)
|
||||
sub server_name
|
||||
{
|
||||
return $_[0]->{'desc'} ? $_[0]->{'desc'} : $_[0]->{'host'};
|
||||
my ($server) = @_;
|
||||
return $server->{'desc'} || $server->{'host'};
|
||||
}
|
||||
|
||||
# supports_gothers(&server)
|
||||
# Returns 1 if some server supports group syncing, 0 if not
|
||||
sub supports_gothers
|
||||
{
|
||||
local $vers = $remote_server_version{$_[0]->{'host'}} ||
|
||||
&remote_foreign_call($_[0]->{'host'}, "useradmin",
|
||||
"get_webmin_version");
|
||||
my ($server) = @_;
|
||||
my $vers = $remote_server_version{$server->{'host'}} ||
|
||||
&remote_foreign_call($server->{'host'}, "useradmin",
|
||||
"get_webmin_version");
|
||||
return $vers >= 1.090;
|
||||
}
|
||||
|
||||
# create_on_input(desc, [no-donthave], [multiple])
|
||||
# create_on_input([no-donthave], [multiple])
|
||||
# Returns a selector for a server or group to create users on
|
||||
sub create_on_input
|
||||
{
|
||||
local @hosts = &list_useradmin_hosts();
|
||||
local @servers = &list_servers();
|
||||
if ($_[0]) {
|
||||
print "<tr> <td><b>$_[0]</b></td>\n";
|
||||
print "<td colspan=2>\n";
|
||||
}
|
||||
if ($_[2]) {
|
||||
print "<select name=server size=5 multiple>\n";
|
||||
}
|
||||
else {
|
||||
print "<select name=server>\n";
|
||||
}
|
||||
print "<option value=-1>$text{'uedit_all'}</option>\n";
|
||||
print "<option value=-2>$text{'uedit_donthave'}</option>\n" if (!$_[1]);
|
||||
local @groups = &servers::list_all_groups(\@servers);
|
||||
local $h;
|
||||
my ($nodont, $mul) = @_;
|
||||
my @hosts = &list_useradmin_hosts();
|
||||
my @servers = &list_servers();
|
||||
my @opts = ( [ -1, $text{'uedit_all'} ] );
|
||||
push(@opts, [ -2, $text{'uedit_donthave'} ] ) if (!$nodont);
|
||||
my @groups = &servers::list_all_groups(\@servers);
|
||||
my $h;
|
||||
foreach $h (@hosts) {
|
||||
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
|
||||
my ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
|
||||
if ($s) {
|
||||
print "<option value='$s->{'id'}'>",
|
||||
$s->{'desc'} ? $s->{'desc'} : $s->{'host'},"</option>\n";
|
||||
push(@opts, [ $s->{'id'}, &server_name($s) ]);
|
||||
$gothost{$s->{'host'}}++;
|
||||
}
|
||||
}
|
||||
local $g;
|
||||
foreach $g (@groups) {
|
||||
local ($found, $m);
|
||||
foreach my $g (@groups) {
|
||||
my ($found, $m);
|
||||
foreach $m (@{$g->{'members'}}) {
|
||||
($found++, last) if ($gothost{$m});
|
||||
$found++ if ($gothost{$m});
|
||||
}
|
||||
print "<option value='group_$g->{'name'}'>",
|
||||
&text('uedit_group', $g->{'name'}),"</option>\n" if ($found);
|
||||
push(@opts, [ "group_$g->{'name'}",
|
||||
&text('uedit_group', $g->{'name'}) ]) if ($found);
|
||||
}
|
||||
print "</select>\n";
|
||||
if ($_[0]) {
|
||||
print "</td> </tr>\n";
|
||||
}
|
||||
return &ui_select("server", undef, \@opts, $mul ? 5 : 1, $mul);
|
||||
}
|
||||
|
||||
# create_on_parse(prefix, &already, name, [no-print])
|
||||
# Returns a list of selected hosts from an input created by create_on_input
|
||||
sub create_on_parse
|
||||
{
|
||||
local @allhosts = &list_useradmin_hosts();
|
||||
local @servers = &list_servers();
|
||||
local @hosts;
|
||||
local $server;
|
||||
my ($pfx, $already, $name, $noprint) = @_;
|
||||
my @allhosts = &list_useradmin_hosts();
|
||||
my @servers = &list_servers();
|
||||
my @hosts;
|
||||
my $server;
|
||||
foreach $server (split(/\0/, $in{'server'})) {
|
||||
if ($server == -2) {
|
||||
# Check who has it already
|
||||
local %already = map { $_->{'id'}, 1 } @{$_[1]};
|
||||
my %already = map { $_->{'id'}, 1 } @$already;
|
||||
push(@hosts, grep { !$already{$_->{'id'}} } @allhosts);
|
||||
print "<b>",&text($_[0].'3', $_[2]),"</b><p>\n" if (!$_[3]);
|
||||
print "<b>",&text($pfx.'3', $name),"</b><p>\n" if (!$noprint);
|
||||
}
|
||||
elsif ($server =~ /^group_(.*)/) {
|
||||
# Install on members of some group
|
||||
local ($group) = grep { $_->{'name'} eq $1 }
|
||||
my ($group) = grep { $_->{'name'} eq $1 }
|
||||
&servers::list_all_groups(\@servers);
|
||||
push(@hosts, grep { local $hid = $_->{'id'};
|
||||
local ($s) = grep { $_->{'id'} == $hid } @servers;
|
||||
push(@hosts, grep { my $hid = $_->{'id'};
|
||||
my ($s) = grep { $_->{'id'} == $hid } @servers;
|
||||
&indexof($s->{'host'}, @{$group->{'members'}}) >= 0 }
|
||||
@allhosts);
|
||||
print "<b>",&text($_[0].'4', $_[2], $group->{'name'}),
|
||||
"</b><p>\n" if (!$_[3]);
|
||||
print "<b>",&text($pfx.'4', $name, $group->{'name'}),
|
||||
"</b><p>\n" if (!$noprint);
|
||||
}
|
||||
elsif ($server != -1) {
|
||||
# Just install on one host
|
||||
local ($onehost) = grep { $_->{'id'} == $server } @allhosts;
|
||||
my ($onehost) = grep { $_->{'id'} == $server } @allhosts;
|
||||
push(@hosts, $onehost);
|
||||
local ($s) = grep { $_->{'id'} == $onehost->{'id'} } @servers;
|
||||
print "<b>",&text($_[0].'5', $_[2],
|
||||
&server_name($s)),"</b><p>\n" if (!$_[3]);
|
||||
my ($s) = grep { $_->{'id'} == $onehost->{'id'} } @servers;
|
||||
print "<b>",&text($pfx.'5', $name,
|
||||
&server_name($s)),"</b><p>\n" if (!$noprint);
|
||||
}
|
||||
else {
|
||||
# Installing on every host
|
||||
push(@hosts, @allhosts);
|
||||
print "<b>",&text($_[0], join(" ", @names)),
|
||||
"</b><p>\n" if (!$_[3]);
|
||||
print "<b>",&text($pfx, join(" ", @names)),
|
||||
"</b><p>\n" if (!$noprint);
|
||||
}
|
||||
}
|
||||
return &unique(@hosts);
|
||||
|
||||
@@ -1,11 +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
|
||||
conf_host_links=Provide a link to modify hosts?,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
|
||||
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
|
||||
|
||||
@@ -12,83 +12,63 @@ $server = &foreign_call("servers", "get_server", $in{'id'});
|
||||
@packages = @{$host->{'packages'}};
|
||||
|
||||
# Show host details
|
||||
print "<table border width=100%>\n";
|
||||
print "<tr $tb> <td><b>$text{'host_header'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table width=100%>\n";
|
||||
print &ui_table_start($text{'host_header'}, undef, 4);
|
||||
|
||||
print "<tr> <td><b>$text{'host_name'}</b></td>\n";
|
||||
my $hmsg;
|
||||
if ($server->{'id'}) {
|
||||
print "<td>";
|
||||
printf &ui_link("/servers/link.cgi/%s/","%s"),
|
||||
$server->{'id'},
|
||||
$hmsg = &ui_link("/servers/link.cgi/$server->{'id'}/",
|
||||
$server->{'desc'} ?
|
||||
"$server->{'desc'} ($server->{'host'}:$server->{'port'})" :
|
||||
"$server->{'host'}:$server->{'port'}";
|
||||
print "</td>";
|
||||
"$server->{'desc'} ($server->{'host'}:$server->{'port'})" :
|
||||
"$server->{'host'}:$server->{'port'}");
|
||||
}
|
||||
else {
|
||||
print "<td colspan=3><a href=/>$text{'this_server'}</a></td>\n";
|
||||
$hmsg = &ui_link("/", $text{'this_server'});
|
||||
}
|
||||
print &ui_table_row($text{'host_name'}, $hmsg, 3);
|
||||
|
||||
if ($server->{'id'}) {
|
||||
print "<td><b>$text{'host_type'}</b></td> <td>\n";
|
||||
foreach $t (@servers::server_types) {
|
||||
print $t->[1] if ($t->[0] eq $server->{'type'});
|
||||
}
|
||||
print "</td>\n";
|
||||
my ($t) = grep { $_->[0] eq $server->{'type'} } @servers::server_types;
|
||||
print &ui_table_row($text{'host_type'}, $t ? $t->[1] : "");
|
||||
}
|
||||
print "</tr>\n";
|
||||
|
||||
print "<tr> <td><b>$text{'host_users'}</b></td>\n";
|
||||
printf "<td>%d</td>\n", scalar(@{$host->{'users'}});
|
||||
print &ui_table_row($text{'host_users'},
|
||||
scalar(@{$host->{'users'}}));
|
||||
|
||||
print "<td><b>$text{'host_groups'}</b></td>\n";
|
||||
printf "<td>%d</td> </tr>\n", scalar(@{$host->{'groups'}});
|
||||
print &ui_table_row($text{'host_groups'},
|
||||
scalar(@{$host->{'groups'}}));
|
||||
|
||||
print "</table></td></tr></table>\n";
|
||||
print &ui_table_end();
|
||||
|
||||
# Show delete and refresh buttons
|
||||
print "<p><table width=100%><tr>\n";
|
||||
print &ui_buttons_start();
|
||||
|
||||
print "<td><form action=delete_host.cgi>\n";
|
||||
print "<input type=hidden name=id value=$in{'id'}>\n";
|
||||
print "<input type=submit value='$text{'host_delete'}'>\n";
|
||||
print "</form></td>\n";
|
||||
print &ui_buttons_row("delete_host.cgi", $text{'host_delete'}, undef,
|
||||
[ [ "id", $in{'id'} ] ]);
|
||||
|
||||
print "<td align=right><form action=refresh.cgi>\n";
|
||||
print "<input type=hidden name=id value=$in{'id'}>\n";
|
||||
print "<input type=submit value='$text{'host_refresh'}'>\n";
|
||||
print "</form></td>\n";
|
||||
print &ui_buttons_row("refresh.cgi", $text{'host_refresh'}, undef,
|
||||
[ [ "id", $in{'id'} ] ]);
|
||||
|
||||
print "</tr></table>\n";
|
||||
print &ui_buttons_end();
|
||||
|
||||
# Show users and groups
|
||||
print &ui_hr();
|
||||
print &ui_subheading($text{'host_ulist'});
|
||||
print "<table width=100% border>\n";
|
||||
print "<tr $tb> <td><b>$text{'index_users'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table width=100%>\n";
|
||||
foreach $u (@{$host->{'users'}}) {
|
||||
if ($i%4 == 0) { print "<tr>\n"; }
|
||||
print "<td><a href=\"edit_user.cgi?user=$u->{'user'}&",
|
||||
"host=$server->{'id'}\">$u->{'user'}</a></td>\n";
|
||||
if ($i%4 == 3) { print "</tr>\n"; }
|
||||
$i++;
|
||||
print &ui_table_start($text{'host_users'}, undef, 2);
|
||||
my @ugrid;
|
||||
foreach my $u (@{$host->{'users'}}) {
|
||||
push(@ugrid, &ui_link("edit_user.cgi?user=".&urlize($u->{'user'}).
|
||||
"&host=".&urlize($server->{'id'}), $u->{'user'}));
|
||||
}
|
||||
print "</table></td> </tr></table>\n";
|
||||
print &ui_table_row(undef, &ui_grid_table(\@ugrid, 4), 2);
|
||||
print &ui_table_end();
|
||||
|
||||
print &ui_subheading($text{'host_glist'});
|
||||
print "<table width=100% border>\n";
|
||||
print "<tr $tb> <td><b>$text{'index_groups'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table width=100%>\n";
|
||||
print &ui_table_start($text{'host_groups'}, undef, 2);
|
||||
my @ggrid;
|
||||
foreach $g (@{$host->{'groups'}}) {
|
||||
if ($j%4 == 0) { print "<tr>\n"; }
|
||||
print "<td><a href=\"edit_group.cgi?group=$g->{'group'}&",
|
||||
"host=$server->{'id'}\">$g->{'group'}</a></td>\n";
|
||||
if ($j%4 == 3) { print "</tr>\n"; }
|
||||
$j++;
|
||||
push(@ggrid, &ui_link("edit_group.cgi?group=".&urlize($g->{'group'}).
|
||||
"&host=".&urlize($server->{'id'}), $g->{'group'}));
|
||||
}
|
||||
print "</table></td> </tr></table>\n";
|
||||
print &ui_table_row(undef, &ui_grid_table(\@ggrid, 4), 2);
|
||||
print &ui_table_end();
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
|
||||
|
||||
@@ -50,7 +50,8 @@ print "<td><input type=radio name=others value=1 checked> $text{'yes'}</td>\n";
|
||||
print "<td><input type=radio name=others value=0> $text{'no'}</td> </tr>\n";
|
||||
|
||||
# Show server selection input
|
||||
&create_on_input($text{'uedit_servers'});
|
||||
print "<tr> <td>$text{'uedit_servers'}</td> ",
|
||||
"<td>",&create_on_input(),"</td> </tr>\n";
|
||||
|
||||
print "</table></td> </tr></table><p></p><p></p>\n";
|
||||
|
||||
|
||||
@@ -27,9 +27,8 @@ foreach $h (@hosts) {
|
||||
push(@titles, $s->{'desc'} ? $s->{'desc'}
|
||||
: "$s->{'host'}:$s->{'port'}");
|
||||
push(@links, $link);
|
||||
push(@icons, $gconfig{'webprefix'} ?
|
||||
($gconfig{'webprefix'}."/servers/images/".$s->{'type'}.".gif") :
|
||||
("../servers/images/".$s->{'type'}.".gif"));
|
||||
push(@icons, $gconfig{'webprefix'}."/servers/images/".
|
||||
$s->{'type'}.".gif");
|
||||
push(@installed, @{$h->{'packages'}});
|
||||
$gothost{$h->{'id'}}++;
|
||||
}
|
||||
@@ -47,7 +46,8 @@ if (@links) {
|
||||
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())) :
|
||||
&ui_link("edit_host.cgi?id=$h->{'id'}",
|
||||
($s->{'host'} || &get_system_hostname())) :
|
||||
($s->{'host'} || &get_system_hostname());
|
||||
print &ui_columns_row([
|
||||
$link,
|
||||
@@ -67,39 +67,40 @@ if (@links) {
|
||||
else {
|
||||
print "<b>$text{'index_nohosts'}</b><p>\n";
|
||||
}
|
||||
|
||||
$formno++;
|
||||
print "<form data-post-icon-row-submit action=add.cgi>\n";
|
||||
print "<table width=100%><tr>\n";
|
||||
@addservers = grep { !$gothost{$_->{'id'}} } @servers;
|
||||
|
||||
print &ui_buttons_start();
|
||||
|
||||
# Add one server
|
||||
my @addservers = grep { !$gothost{$_->{'id'}} } @servers;
|
||||
if (@addservers) {
|
||||
print "<td><input type=submit name=add value='$text{'index_add'}'>\n";
|
||||
print "<select name=server>\n";
|
||||
foreach $s (@addservers) {
|
||||
print "<option value=$s->{'id'}>",
|
||||
$s->{'desc'} ? $s->{'desc'} : $s->{'host'},"</option>\n";
|
||||
}
|
||||
print "</select></td>\n";
|
||||
print &ui_buttons_row("add.cgi", $text{'index_add'}, undef,
|
||||
[ [ "add", 1 ] ],
|
||||
&ui_select("server", undef,
|
||||
[ map { [ $_->{'id'}, &server_name($_) ] }
|
||||
@addservers ]));
|
||||
}
|
||||
|
||||
# Add one group
|
||||
@groups = &servers::list_all_groups(\@servers);
|
||||
if (@groups) {
|
||||
print "<td align=right><input type=submit name=gadd ",
|
||||
"value='$text{'index_gadd'}'>\n";
|
||||
print "<select name=group>\n";
|
||||
foreach $g (@groups) {
|
||||
print "<option>$g->{'name'}</option>\n";
|
||||
}
|
||||
print "</select></td>\n";
|
||||
print &ui_buttons_row("add.cgi", $text{'index_gadd'}, undef,
|
||||
[ [ "gadd", 1 ] ],
|
||||
&ui_select("group", undef,
|
||||
[ map { $_->{'name'} } @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 don't show
|
||||
# the header/horizontal-rule/etc...
|
||||
print &ui_buttons_end();
|
||||
|
||||
if (!$config{'conf_add_user'} &&
|
||||
!$config{'conf_add_group'} &&
|
||||
!$config{'conf_allow_refresh'} &&
|
||||
!$config{'conf_allow_sync'} &&
|
||||
!$config{'conf_find_user'} &&
|
||||
!$config{'conf_find_group'}) {
|
||||
# If we have configured EVERY possible 'host' action off, then don't
|
||||
# show the header/horizontal-rule/etc...
|
||||
@hosts = ();
|
||||
}
|
||||
|
||||
@@ -108,126 +109,73 @@ if (@hosts) {
|
||||
print &ui_hr();
|
||||
print &ui_subheading($text{'index_users'});
|
||||
|
||||
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";
|
||||
}
|
||||
print &ui_buttons_start();
|
||||
|
||||
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_user'}) {
|
||||
print &ui_buttons_row(
|
||||
"search_user.cgi",
|
||||
$text{'index_finduser'},
|
||||
undef,
|
||||
undef,
|
||||
&ui_select("field", "user",
|
||||
[ [ "user", $text{'user'} ],
|
||||
[ "real", $text{'real'} ],
|
||||
[ "shell", $text{'shell'} ],
|
||||
[ "home", $text{'home'} ],
|
||||
[ "uid", $text{'uid'} ] ])." ".
|
||||
&ui_select("match", 0,
|
||||
[ [ 0, $text{'index_equals'} ],
|
||||
[ 4, $text{'index_contains'} ],
|
||||
[ 1, $text{'index_matches'} ],
|
||||
[ 5, $text{'index_ncontains'} ],
|
||||
[ 3, $text{'index_nmatches'} ] ])." ".
|
||||
&ui_textbox("what", undef, 15));
|
||||
}
|
||||
|
||||
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_find_group'}) {
|
||||
print &ui_buttons_row(
|
||||
"search_group.cgi",
|
||||
$text{'index_findgroup'},
|
||||
undef,
|
||||
undef,
|
||||
&ui_select("field", "group",
|
||||
[ [ "group", $text{'gedit_group'} ],
|
||||
[ "members", $text{'gedit_members'} ],
|
||||
[ "gid", $text{'gid'} ] ])." ".
|
||||
&ui_select("match", 0,
|
||||
[ [ 0, $text{'index_equals'} ],
|
||||
[ 4, $text{'index_contains'} ],
|
||||
[ 1, $text{'index_matches'} ],
|
||||
[ 5, $text{'index_ncontains'} ],
|
||||
[ 3, $text{'index_nmatches'} ] ])." ".
|
||||
&ui_textbox("what", undef, 15));
|
||||
}
|
||||
|
||||
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_add_user'}) {
|
||||
print &ui_buttons_row("user_form.cgi",
|
||||
$text{'index_newuser'},
|
||||
undef,
|
||||
[ [ "new", 1 ] ]);
|
||||
}
|
||||
|
||||
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_add_group'}) {
|
||||
print &ui_buttons_row("group_form.cgi",
|
||||
$text{'index_newgroup'},
|
||||
undef,
|
||||
[ [ "new", 1 ] ]);
|
||||
}
|
||||
|
||||
if ($config{'conf_allow_refresh'} == 1 &&
|
||||
$config{'conf_allow_sync'} == 1) {
|
||||
print "<td align=right>";
|
||||
if ($config{'conf_allow_refresh'}) {
|
||||
print &ui_buttons_row("refresh.cgi",
|
||||
$text{'index_refresh'}, undef, undef,
|
||||
&create_on_input(1));
|
||||
}
|
||||
|
||||
if ($config{'conf_allow_sync'}) {
|
||||
print &ui_buttons_row("sync_form.cgi", $text{'index_sync'});
|
||||
}
|
||||
|
||||
print &ui_buttons_end();
|
||||
}
|
||||
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'});
|
||||
|
||||
@@ -29,16 +29,16 @@ add_egft=Server $1 does not use the same group file format as this host
|
||||
add_ok=Added $1 with $2 users and $3 groups.
|
||||
|
||||
host_title=Managed Server
|
||||
host_header=Software managed server details
|
||||
host_header=Users and groups managed server details
|
||||
host_name=Host name
|
||||
host_type=Server type
|
||||
host_delete=Remove From Managed List
|
||||
host_refresh=Refresh Users and Groups
|
||||
host_users=Number of users
|
||||
host_groups=Number of groups
|
||||
host_ulist=Users on Server
|
||||
host_glist=Groups on Server
|
||||
host_return=server details
|
||||
host_users=Users on Server
|
||||
host_groups=Groups on Server
|
||||
|
||||
refresh_title=Refresh Users and Groups
|
||||
refresh_header=Re-requesting user and group lists from all servers ..
|
||||
|
||||
@@ -7,68 +7,55 @@ require './cluster-useradmin-lib.pl';
|
||||
&ui_print_header(undef, $text{'sync_title'}, "");
|
||||
|
||||
print "$text{'sync_desc'}<p>\n";
|
||||
print "<form action=sync.cgi>\n";
|
||||
print "<table width='100%'>\n";
|
||||
|
||||
print "<tr> <td valign=top><b>$text{'sync_hosts'}</b></td> <td>\n";
|
||||
&create_on_input(undef, 1, 1);
|
||||
print "</td> </tr>\n";
|
||||
print &ui_form_start("sync.cgi", "post");
|
||||
print &ui_table_start($text{'sync_hosts'}, undef, 2);
|
||||
|
||||
print "<tr> <td valign=top><b>$text{'sync_users'}</b></td> <td>\n";
|
||||
print "<input type=radio name=users_mode value=1> ",
|
||||
"$text{'sync_uall'} \n";
|
||||
print "<input type=radio name=users_mode value=0 checked> ",
|
||||
"$text{'sync_unone'}<br>\n";
|
||||
print "<input type=radio name=users_mode value=2> ",
|
||||
"$text{'sync_usel'}\n";
|
||||
print "<input name=usel size=30> ",&user_chooser_button("usel", 1),"<br>\n";
|
||||
print "<input type=radio name=users_mode value=3> ",
|
||||
"$text{'sync_unot'}\n";
|
||||
print "<input name=unot size=30> ",&user_chooser_button("unot", 1),"<br>\n";
|
||||
print "<input type=radio name=users_mode value=4> ",
|
||||
"$text{'sync_uuid'}\n";
|
||||
print "<input name=uuid1 size=6> - <input name=uuid2 size=6><br>\n";
|
||||
print "<input type=radio name=users_mode value=5> ",
|
||||
"$text{'sync_ugid'}\n";
|
||||
print &unix_group_input("ugid"),"<br>\n";
|
||||
print "</td> </tr>\n";
|
||||
# Hosts to sync
|
||||
print &ui_table_row($text{'sync_hosts'},
|
||||
&create_on_input(1, 1));
|
||||
|
||||
print "<tr> <td valign=top><b>$text{'sync_groups'}</b></td> <td>\n";
|
||||
print "<input type=radio name=groups_mode value=1> ",
|
||||
"$text{'sync_gall'} \n";
|
||||
print "<input type=radio name=groups_mode value=0 checked> ",
|
||||
"$text{'sync_gnone'}<br>\n";
|
||||
print "<input type=radio name=groups_mode value=2> ",
|
||||
"$text{'sync_gsel'}\n";
|
||||
print "<input name=gsel size=30> ",&group_chooser_button("gsel", 1),"<br>\n";
|
||||
print "<input type=radio name=groups_mode value=3> ",
|
||||
"$text{'sync_gnot'}\n";
|
||||
print "<input name=gnot size=30> ",&group_chooser_button("gnot", 1),"<br>\n";
|
||||
print "<input type=radio name=groups_mode value=4> ",
|
||||
"$text{'sync_ggid'}\n";
|
||||
print "<input name=ggid1 size=6> - <input name=ggid2 size=6><br>\n";
|
||||
print "</td> </tr>\n";
|
||||
# Users to sync
|
||||
print &ui_table_row($text{'sync_users'},
|
||||
&ui_radio_table("users_mode", 0,
|
||||
[ [ 1, $text{'sync_uall'} ],
|
||||
[ 0, $text{'sync_unone'} ],
|
||||
[ 2, $text{'sync_usel'}, &ui_users_textbox("usel") ],
|
||||
[ 3, $text{'sync_unot'}, &ui_users_textbox("unot") ],
|
||||
[ 4, $text{'sync_uuid'}, &ui_textbox("uuid1", "", 6)." - ".
|
||||
&ui_textbox("uuid2", "", 6) ],
|
||||
[ 5, $text{'sync_ugid'}, &ui_group_textbox("ugid") ],
|
||||
]));
|
||||
|
||||
print "<tr> <td><b>$text{'sync_test'}</b></td>\n";
|
||||
print "<td><input type=radio name=test value=1> $text{'yes'}\n";
|
||||
print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
|
||||
# Groups to sync
|
||||
print &ui_table_row($text{'sync_groups'},
|
||||
&ui_radio_table("groups_mode", 0,
|
||||
[ [ 1, $text{'sync_gall'} ],
|
||||
[ 0, $text{'sync_gnone'} ],
|
||||
[ 2, $text{'sync_gsel'}, &ui_groups_textbox("gsel") ],
|
||||
[ 3, $text{'sync_gnot'}, &ui_groups_textbox("gnot") ],
|
||||
[ 4, $text{'sync_ggid'}, &ui_textbox("ggid1", "", 6)." - ".
|
||||
&ui_textbox("ggid2", "", 6) ],
|
||||
]));
|
||||
|
||||
print "<tr> <td><b>$text{'sync_makehome'}</b></td>\n";
|
||||
print "<td><input type=radio name=makehome value=1 checked> $text{'yes'}\n";
|
||||
print "<input type=radio name=makehome value=0> $text{'no'}</td>\n";
|
||||
print "</tr>\n";
|
||||
# Test mode?
|
||||
print &ui_table_row($text{'sync_test'},
|
||||
&ui_yesno_radio("test", 0));
|
||||
|
||||
print "<tr> <td><b>$text{'sync_copy'}</b></td>\n";
|
||||
print "<td><input type=radio name=copy_files value=1 checked> $text{'yes'}\n";
|
||||
print "<input type=radio name=copy_files value=0> $text{'no'}</td>\n";
|
||||
print "</tr>\n";
|
||||
# Create home dir?
|
||||
print &ui_table_row($text{'sync_makehome'},
|
||||
&ui_yesno_radio("makehome", 1));
|
||||
|
||||
print "<tr> <td><b>$text{'sync_others'}</b></td>\n";
|
||||
print "<td><input type=radio name=others value=1 checked> $text{'yes'}\n";
|
||||
print "<input type=radio name=others value=0> $text{'no'}</td> </tr>\n";
|
||||
# Copy home dir files?
|
||||
print &ui_table_row($text{'sync_copy'},
|
||||
&ui_yesno_radio("copy_files", 1));
|
||||
|
||||
print "</table><p></p><p></p>\n";
|
||||
print "<input type=submit value='$text{'sync_ok'}'></form>\n";
|
||||
# Create in other modules?
|
||||
print &ui_table_row($text{'sync_others'},
|
||||
&ui_yesno_radio("others", 1));
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ undef, $text{'sync_ok'} ] ]);
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
|
||||
|
||||
@@ -29,243 +29,182 @@ while(<SHELLS>) {
|
||||
}
|
||||
close(SHELLS);
|
||||
|
||||
print "<form action=create_user.cgi method=post>\n";
|
||||
print "<table border width=100%>\n";
|
||||
print "<tr $tb> <td><b>$text{'uedit_details'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table width=100%>\n";
|
||||
print &ui_form_start("save_user.cgi", "post");
|
||||
print &ui_table_start($text{'uedit_details'}, "width=100%", 2);
|
||||
|
||||
print "<tr> <td><b>$text{'user'}</b></td>\n";
|
||||
print "<td><input name=user size=10></td>\n";
|
||||
# Username
|
||||
print &ui_table_row($text{'user'},
|
||||
&ui_textbox("user", undef, 40));
|
||||
|
||||
# Find the first free UID above the base
|
||||
print "<td><b>$text{'uid'}</b></td>\n";
|
||||
$newuid = int($uconfig{'base_uid'});
|
||||
while($used{$newuid}) {
|
||||
$newuid++;
|
||||
}
|
||||
print "<td><input name=uid size=10 value='$newuid'></td> </tr>\n";
|
||||
print &ui_table_row($text{'uid'},
|
||||
&ui_textbox("uid", $newuid, 10));
|
||||
|
||||
# Real name and possibly other fields
|
||||
if ($uconfig{'extra_real'}) {
|
||||
print "<tr> <td><b>$text{'real'}</b></td>\n";
|
||||
print "<td><input name=real size=20></td>\n";
|
||||
print &ui_table_row($text{'real'},
|
||||
&ui_textbox("real", undef, 40));
|
||||
|
||||
print "<td><b>$text{'office'}</b></td>\n";
|
||||
print "<td><input name=office size=20 value=\"$real[1]\"></td> </tr>\n";
|
||||
print &ui_table_row($text{'office'},
|
||||
&ui_textbox("office", undef, 20));
|
||||
|
||||
print "<tr> <td><b>$text{'workph'}</b></td>\n";
|
||||
print "<td><input name=workph size=20></td>\n";
|
||||
print &ui_table_row($text{'workph'},
|
||||
&ui_textbox("workph", undef, 20));
|
||||
|
||||
print "<td><b>$text{'homeph'}</b></td>\n";
|
||||
print "<td><input name=homeph size=20></td> </tr>\n";
|
||||
print &ui_table_row($text{'homeph'},
|
||||
&ui_textbox("homeph", undef, 20));
|
||||
|
||||
print "<tr> <td><b>$text{'extra'}</b></td>\n";
|
||||
print "<td><input name=extra size=20></td>\n";
|
||||
print &ui_table_row($text{'extra'},
|
||||
&ui_textbox("extra", undef, 20));
|
||||
}
|
||||
else {
|
||||
print "<tr> <td><b>$text{'real'}</b></td>\n";
|
||||
print "<td><input name=real size=20></td>\n";
|
||||
print &ui_table_row($text{'real'},
|
||||
&ui_textbox("real", undef, 40));
|
||||
}
|
||||
|
||||
print "<td><b>$text{'home'}</b></td>\n";
|
||||
print "<td>\n";
|
||||
if ($uconfig{'home_base'}) {
|
||||
printf "<input type=radio name=home_base value=1 checked> %s\n",
|
||||
$text{'uedit_auto'};
|
||||
printf "<input type=radio name=home_base value=0>\n";
|
||||
printf "<input name=home size=25> %s\n",
|
||||
&file_chooser_button("home", 1);
|
||||
}
|
||||
else {
|
||||
print "<input name=home size=25>\n",
|
||||
&file_chooser_button("home", 1);
|
||||
}
|
||||
print "</td> </tr>\n";
|
||||
# Home directory
|
||||
print &ui_table_row($text{'home'},
|
||||
$uconfig{'home_base'} ?
|
||||
&ui_radio("home_base", 1,
|
||||
[ [ 1, $text{'uedit_auto'} ],
|
||||
[ 0, &ui_filebox("home", "", 40) ] ]) :
|
||||
&ui_filebox("home", "", 40));
|
||||
|
||||
print "<tr> <td valign=top><b>$text{'shell'}</b></td>\n";
|
||||
print "<td valign=top><select name=shell>\n";
|
||||
# Login shell
|
||||
@shlist = &unique(@shlist);
|
||||
foreach $s (@shlist) {
|
||||
printf "<option value='%s'>%s</option>\n", $s,
|
||||
$s eq "" ? "<None>" : $s;
|
||||
}
|
||||
print "<option value=*>$text{'uedit_other'}</option>\n";
|
||||
print "</select></td>\n";
|
||||
push(@shlist, [ "*", $text{'uedit_other'} ]);
|
||||
print &ui_table_row($text{'shell'},
|
||||
&ui_select("shell", undef, \@shlist)." ".
|
||||
&ui_filebox("othersh", undef, 25));
|
||||
|
||||
&seed_random();
|
||||
foreach (1 .. 15) {
|
||||
$random_password .= $random_password_chars[
|
||||
rand(scalar(@random_password_chars))];
|
||||
}
|
||||
print "<td valign=top rowspan=3><b>$text{'pass'}</b>",
|
||||
"</td> <td rowspan=3 valign=top>\n";
|
||||
printf "<input type=radio name=passmode value=0> %s<br>\n",
|
||||
$uconfig{'empty_mode'} ? $text{'none1'} : $text{'none2'};
|
||||
printf "<input type=radio name=passmode value=1 checked> %s<br>\n",
|
||||
$text{'nologin'};
|
||||
printf "<input type=radio name=passmode value=3> %s\n",
|
||||
$text{'clear'};
|
||||
printf "<input %s name=pass size=15 value='%s'><br>\n",
|
||||
$uconfig{'passwd_stars'} ? "type=password" : "",
|
||||
$uconfig{'random_password'} ? $random_password : "";
|
||||
printf "<input type=radio name=passmode value=2> $text{'encrypted'}\n";
|
||||
printf "<input name=encpass size=13>\n";
|
||||
print "</td> </tr>\n";
|
||||
# Password or locked account
|
||||
$rp = $uconfig{'random_password'} ? &useradmin::generate_random_password() : "";
|
||||
$pfield = $uconfig{'passwd_stars'} ? &ui_password("pass", $rp, 40)
|
||||
: &ui_textbox("pass", $rp, 40);
|
||||
print &ui_table_row($text{'pass'},
|
||||
&ui_radio_table("passmode", 1,
|
||||
[ [ 0, $uconfig{'empty_mode'} ? $text{'none1'} : $text{'none2'} ],
|
||||
[ 1, $text{'nologin'} ],
|
||||
[ 3, $text{'clear'}, $pfield ],
|
||||
[ 2, &ui_textbox("encpass", undef, 40) ] ]));
|
||||
|
||||
print "<tr> <td valign=top>$text{'uedit_other'}</td>\n";
|
||||
print "<td valign=top><input size=25 name=othersh>\n";
|
||||
print &file_chooser_button("othersh", 0),"</td> </tr>\n";
|
||||
print "<tr> <td colspan=2><br></td> </tr>\n";
|
||||
print "</table></td></tr></table><p>\n";
|
||||
print &ui_table_end();
|
||||
|
||||
$pft = &foreign_call("useradmin", "passfiles_type");
|
||||
if ($pft == 1 || $pft == 6) {
|
||||
# This is a BSD system.. a few extra password options are supported
|
||||
print "<table border width=100%>\n";
|
||||
print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table width=100%>\n";
|
||||
print "<tr> <td><b>$text{'change2'}</b></td>\n";
|
||||
print "<td>";
|
||||
&date_input("", "", "", 'change');
|
||||
print " <input name=changeh size=3>";
|
||||
print ":<input name=changemi size=3></td>\n";
|
||||
print &ui_table_start($text{'uedit_passopts'}, undef, 2);
|
||||
|
||||
print "<td colspan=1><b>$text{'expire2'}</b></td>\n";
|
||||
print "<td colspan=3>";
|
||||
&date_input("", "", "", 'expire');
|
||||
print " <input name=expireh size=3>";
|
||||
print ":<input name=expiremi size=3></td> </tr>\n";
|
||||
print &ui_table_row($text{'change2'},
|
||||
&useradmin::date_input("", "", "", 'change')." ".
|
||||
&ui_textbox("changeh", "", 3).":".
|
||||
&ui_textbox("changemi", "", 3));
|
||||
|
||||
print "<tr> <td><b>$text{'class'}</b></td>\n";
|
||||
print "<td><input name=class size=10></td>\n";
|
||||
print "</tr>\n";
|
||||
print "</table></td></tr></table><p>\n";
|
||||
print &ui_table_row($text{'expire2'},
|
||||
&useradmin::date_input("", "", "", 'expire')." ".
|
||||
&ui_textbox("expireh", "", 3).":".
|
||||
&ui_textbox("expiremi", "", 3));
|
||||
|
||||
print &ui_table_row($text{'class'},
|
||||
&ui_textbox("class", "", 10));
|
||||
|
||||
print &ui_table_end();
|
||||
}
|
||||
elsif ($pft == 2) {
|
||||
# System has a shadow password file as well.. which means it supports
|
||||
# password expiry and so on
|
||||
print "<table border width=100%>\n";
|
||||
print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table width=100%>\n";
|
||||
print &ui_table_start($text{'uedit_passopts'}, undef, 2);
|
||||
|
||||
print "<td colspan=1><b>$text{'expire'}</b></td>\n";
|
||||
print "<td colspan=3>";
|
||||
&date_input($eday, $emon, $eyear, 'expire');
|
||||
print "</td> </tr>\n";
|
||||
print &ui_table_row($text{'expire'},
|
||||
&useradmin::date_input($eday, $emon, $eyear, 'expire'));
|
||||
|
||||
print "<tr> <td><b>$text{'min'}</b></td>\n";
|
||||
print "<td><input size=5 name=min></td>\n";
|
||||
print &ui_table_row($text{'min'},
|
||||
&ui_textbox("min", undef, 5));
|
||||
|
||||
print "<td><b>$text{'max'}</b></td>\n";
|
||||
print "<td><input size=5 name=max></td></tr>\n";
|
||||
print &ui_table_row($text{'max'},
|
||||
&ui_textbox("max", undef, 5));
|
||||
|
||||
print "<tr> <td><b>$text{'warn'}</b></td>\n";
|
||||
print "<td><input size=5 name=warn></td>\n";
|
||||
print &ui_table_row($text{'warn'},
|
||||
&ui_textbox("warn", undef, 5));
|
||||
|
||||
print "<td><b>$text{'inactive'}</b></td>\n";
|
||||
print "<td><input size=5 name=inactive></td></tr>\n";
|
||||
print &ui_table_row($text{'inactive'},
|
||||
&ui_textbox("inactive", undef, 5));
|
||||
|
||||
print "</table></td></tr></table><p>\n";
|
||||
print &ui_table_end();
|
||||
}
|
||||
elsif ($pft == 4) {
|
||||
# This is an AIX system
|
||||
print "<table border width=100%>\n";
|
||||
print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table width=100%>\n";
|
||||
print &ui_table_start($text{'uedit_passopts'}, undef, 2);
|
||||
|
||||
print "<tr> <td><b>$text{'expire'}</b></td>\n";
|
||||
print "<td>";
|
||||
&date_input("", "", "", 'expire');
|
||||
print " <input name=expireh size=3>";
|
||||
print "<b>:</b><input name=expiremi size=3></td> </tr>\n";
|
||||
print &ui_table_row($text{'expire'},
|
||||
&useradmin::date_input("", "", "", 'expire')." ".
|
||||
&ui_textbox("expireh", undef, 3).":".
|
||||
&ui_textbox("expiremi", undef, 3));
|
||||
|
||||
print "<tr> <td><b>$text{'min_weeks'}</b></td>\n";
|
||||
print "<td><input size=5 name=min></td>\n";
|
||||
print &ui_table_row($text{'min_weeks'},
|
||||
&ui_textbox("min", undef, 5));
|
||||
|
||||
print "<td><b>$text{'max_weeks'}</b></td>\n";
|
||||
print "<td><input size=5 name=max></td></tr>\n";
|
||||
print &ui_table_row($text{'max_weeks'},
|
||||
&ui_textbox("max", undef, 5));
|
||||
|
||||
print "<tr> <td valign=top><b>$text{'warn'}</b></td>\n";
|
||||
print "<td valign=top><input size=5 name=warn></td>\n";
|
||||
print &ui_table_row($text{'warn'},
|
||||
&ui_textbox("warn", undef, 5));
|
||||
|
||||
print "<td valign=top><b>$text{'flags'}</b></td> <td>\n";
|
||||
printf "<input type=checkbox name=flags value=admin> %s<br>\n",
|
||||
$text{'uedit_admin'};
|
||||
printf "<input type=checkbox name=flags value=admchg> %s<br>\n",
|
||||
$text{'uedit_admchg'};
|
||||
printf "<input type=checkbox name=flags value=nocheck> %s\n",
|
||||
$text{'uedit_nocheck'};
|
||||
print "</td> </tr>\n";
|
||||
print &ui_table_row($text{'flags'},
|
||||
&ui_checkbox("flags", "admin", $text{'uedit_admin'})." ".
|
||||
&ui_checkbox("flags", "admchg", $text{'uedit_admchg'})." ".
|
||||
&ui_checkbox("flags", "nocheck", $text{'uedit_nocheck'}));
|
||||
|
||||
print "</table></td></tr></table><p>\n";
|
||||
print &ui_table_end();
|
||||
}
|
||||
|
||||
# Output group memberships
|
||||
print "<table border width=100%>\n";
|
||||
print "<tr $tb> <td><b>$text{'uedit_gmem'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table width=100%>\n";
|
||||
print "<tr> <td valign=top><b>$text{'group'}</b></td> <td valign=top>\n";
|
||||
printf "<input name=gid size=15 value=\"%s\">\n",
|
||||
$uconfig{'default_group'};
|
||||
print "<input type=button onClick='ifield = document.forms[0].gid; chooser = window.open(\"/useradmin/my_group_chooser.cgi?multi=0&group=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=300,height=200\"); chooser.ifield = ifield' value=\"...\"></td>\n";
|
||||
print &ui_table_start($text{'uedit_gmem'}, "width=100%", 2);
|
||||
|
||||
print "<td valign=top><b>$text{'uedit_2nd'}</b></td>\n";
|
||||
print "<td><select name=sgid multiple size=5>\n";
|
||||
# Primary group
|
||||
print &ui_table_row($text{'group'},
|
||||
&ui_group_textbox("gid", $uconfig{'default_group'}));
|
||||
|
||||
# Secondary groups
|
||||
@glist = sort { $a->{'group'} cmp $b->{'group'} } @glist
|
||||
if ($uconfig{'sort_mode'});
|
||||
foreach $g (@glist) {
|
||||
@mems = split(/,/ , $g->{'members'});
|
||||
print "<option value=\"$g->{'gid'}\">$g->{'group'} ($g->{'gid'})</option>\n";
|
||||
}
|
||||
print "</select></td> </tr>\n";
|
||||
print "</table></td></tr></table><p>\n";
|
||||
print &ui_table_row($text{'uedit_2nd'},
|
||||
&ui_select("sgid", undef,
|
||||
[ map { [ $_->{'gid'}, $_->{'group'} ] } @glist ],
|
||||
5, 1));
|
||||
|
||||
print "<table border width=100%>\n";
|
||||
print "<tr $tb> <td><b>$text{'uedit_oncreate'}</b></td> </tr>\n";
|
||||
print "<tr $cb> <td><table>\n";
|
||||
print &ui_table_end();
|
||||
|
||||
print "<tr> <td><b>$text{'uedit_makehome'}</b></td>\n";
|
||||
print "<td><input type=radio name=makehome value=1 checked> $text{'yes'}</td>\n";
|
||||
print "<td><input type=radio name=makehome value=0> $text{'no'}</td> </tr>\n";
|
||||
print &ui_table_start($text{'uedit_oncreate'}, "width=100%", 2);
|
||||
|
||||
# Create home dir?
|
||||
print &ui_table_row($text{'uedit_makehome'},
|
||||
&ui_yesno_radio("makehome", 1));
|
||||
|
||||
# Copy home dir files?
|
||||
if ($uconfig{'user_files'} =~ /\S/) {
|
||||
print "<tr> <td><b>$text{'uedit_copy'}<b></td>\n";
|
||||
print "<td><input type=radio name=copy_files ",
|
||||
"value=1 checked> $text{'yes'}</td>\n";
|
||||
print "<td><input type=radio name=copy_files ",
|
||||
"value=0> $text{'no'}</td> </tr>\n";
|
||||
print &ui_table_row($text{'uedit_copy'},
|
||||
&ui_yesno_radio("copy_files", 1));
|
||||
}
|
||||
|
||||
# Show make home on all servers option
|
||||
print "<tr> <td><b>$text{'uedit_servs'}</b></td>\n";
|
||||
print "<td><input type=radio name=servs value=1> $text{'uedit_mall'}</td>\n";
|
||||
print "<td><input type=radio name=servs value=0 checked> $text{'uedit_mthis'}</td> </tr>\n";
|
||||
# Create home dir on all servers?
|
||||
print &ui_table_row($text{'uedit_servs'},
|
||||
&ui_radio("servs", 0, [ [ 1, $text{'uedit_mall'} ],
|
||||
[ 0, $text{'uedit_mthis'} ] ]));
|
||||
|
||||
# Show other modules option
|
||||
print "<tr> <td><b>$text{'uedit_others'}</b></td>\n";
|
||||
print "<td><input type=radio name=others value=1 checked> $text{'yes'}</td>\n";
|
||||
print "<td><input type=radio name=others value=0> $text{'no'}</td> </tr>\n";
|
||||
print &ui_table_row($text{'uedit_others'},
|
||||
&ui_yesno_radio("others", 1));
|
||||
|
||||
# Show selector for hosts to create on
|
||||
&create_on_input($text{'uedit_servers'});
|
||||
print &ui_table_row($text{'uedit_servers'},
|
||||
&create_on_input());
|
||||
|
||||
print "</table></td> </tr></table><p></p><p></p>\n";
|
||||
|
||||
print "<input type=submit value=\"$text{'create'}\"></form>\n";
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ undef, $text{'create'} ] ]);
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
|
||||
# date_input(day, month, year, prefix)
|
||||
sub date_input
|
||||
{
|
||||
print "<input name=$_[3]d size=3 value='$_[0]'>";
|
||||
print "/<select name=$_[3]m>\n";
|
||||
local $m;
|
||||
foreach $m (1..12) {
|
||||
printf "<option value=%d %s>%s</option>\n",
|
||||
$m, $_[1] eq $m ? 'selected' : '', $text{"smonth_$m"};
|
||||
}
|
||||
print "</select>";
|
||||
print "/<input name=$_[3]y size=5 value='$_[2]'>";
|
||||
print &date_chooser_button("$_[3]d", "$_[3]m", "$_[3]y");
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ foreach $d (&expand_usr64($Config{'privlib'}),
|
||||
&expand_usr64($Config{'vendorlib_stem'} ? $Config{'vendorlib_stem'} :
|
||||
$Config{'vendorlib'}),
|
||||
&expand_usr64($Config{'installprivlib'})) {
|
||||
next if (!$d);
|
||||
next if (!$d || !-d $d);
|
||||
next if ($donedir{$d});
|
||||
local $f;
|
||||
open(FIND, "find ".quotemeta($d)." -name .packlist -print |");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
do 'cron-lib.pl';
|
||||
require 'cron-lib.pl';
|
||||
|
||||
# backup_config_files()
|
||||
# Returns files and directories that can be backed up
|
||||
|
||||
@@ -943,7 +943,7 @@ return &theme_show_times_input(@_) if (defined(&theme_show_times_input));
|
||||
local $job = $_[0];
|
||||
if ($config{'vixie_cron'} && (!$_[1] || $_[0]->{'special'})) {
|
||||
# Allow selection of special @ times
|
||||
print "<tr $cb> <td colspan=6>\n";
|
||||
print "<tr data-schedule-tr $cb> <td colspan=6>\n";
|
||||
printf "<input type=radio name=special_def value=1 %s> %s\n",
|
||||
$job->{'special'} ? "checked" : "", $text{'edit_special1'};
|
||||
print "<select name=special onChange='change_special_mode(form, 1)'>\n";
|
||||
|
||||
@@ -1 +1 @@
|
||||
desc_ja=<EFBFBD><EFBFBD>遜<EFBFBD><EFBFBD>棚尊<EFBFBD><EFBFBD>造<EFBFBD><EFBFBD> Cron 尊樽其<E6A8BD><E585B6>
|
||||
desc_ja=cron ジョブのスケジュール
|
||||
|
||||
@@ -1 +1 @@
|
||||
desc_ko=쩔쨔쩐<EFBFBD><EFBFBD>쨉<EFBFBD><EFBFBD> Cron <20><><EFBFBD><EFBFBD>쩐첨
|
||||
desc_ko=예약된 cron 작업
|
||||
|
||||
@@ -1 +1 @@
|
||||
desc_zh=Cron <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>帽碌梅露<E6A285><E99CB2>
|
||||
desc_zh=定时自动作业 (Cron)
|
||||
|
||||
@@ -1 +1 @@
|
||||
desc_zh_TW=穢w簧<EFBFBD><EFBFBD>簞繭礎疆瞻u禮@ (Cron)
|
||||
desc_zh_TW=定時執行工作 (Cron)
|
||||
|
||||
@@ -308,7 +308,9 @@ if ($file !~ /^\// && $file !~ /\|\s*$/) {
|
||||
$file = "$uinfo[7]/$file";
|
||||
}
|
||||
}
|
||||
open(FILE, "<".$file);
|
||||
my $h;
|
||||
$h = "<" if ($file =~ /^\// && $file !~ /\|\s*$/);
|
||||
open(FILE, "$h".$file);
|
||||
while(<FILE>) {
|
||||
s/\r|\n//g;
|
||||
next if (/^#/);
|
||||
|
||||
@@ -92,7 +92,7 @@ run_eopt=Ungültige Option ausgewählt
|
||||
run_eupload=Keine Datei zum Hochladen ausgewählt
|
||||
run_emust=Fehlender Wert für Parameter '$1'
|
||||
run_timeout=Die Ausführung wurde nach einem Zeitablauf von $1 Sekunden terminiert.
|
||||
run_failed=Befehl mit Fehercode $1 fehlgeschlagen
|
||||
run_failed=Befehl mit Fehlercode $1 fehlgeschlagen
|
||||
log_modify=Befehl $1 geändert
|
||||
log_create=Befehl $1 angelegt
|
||||
log_delete=Befehl $1 gelöscht
|
||||
|
||||
@@ -197,9 +197,9 @@ else {
|
||||
print "<td><b>$text{'eopt_custom'}</b></td>\n";
|
||||
print "<td nowrap>$text{'eopt_cnum'}\n";
|
||||
my ($ov, @v) = @{$o->{'values'}};
|
||||
print &ui_textbox("cnum_".$i, ( $ov =~ /^option-(\S+)$/ ? $1 : '' ), 4);
|
||||
print &ui_textbox("cnum_".$i, ( $ov =~ /^option-(\S+)$/ ? $1 : '' ), 4);
|
||||
print "$text{'eopt_cval'}\n";
|
||||
print &ui_textbox("cval_".$i, join(" ", @v), 15);
|
||||
print &ui_textbox("cval_".$i, join(" ", @v), 15);
|
||||
print "</tr>\n" if ($i%2 != 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD ACL-substelsel </h1></center><h3> TEIKENS: </h3> Die hoofdoelstellings van die sub-stelsel ACL is die verskaffing van 'n kragtige, buigsame en uitbreidbare meganisme vir toegangsbeheer van verskillende voorwerpe in dhcpd-konfigurasie. Hierdie voorwerpe is gedeelde netwerke, subnette, groepe gashere en gashere. <br> Met acl-substelsel kan u ook ander funksies beheer, soos: unieke objekname, toepassing van veranderde konfigurasie, besigtiging en skrapping van dhcp-leasures. <h3> KONSEPTE: </h3> Dhcpd konfigurasie lêer wat ons as 'n boomstruktuur kan vertoon. Elke knooppunt van hierdie boom verteenwoordig 'n konfigurasie van verskillende dhcp-voorwerpe (fig. 0). <p> Acl-substelsel het twee vlakke van regte: <ul><li> globaal: lees, skryf, skep; </li><li> per-objek: lees, skryf. </li></ul> Daar bestaan wêreldwye toestemmings vir elke tipe voorwerpe (gashere, groepe, subnette, gedeelde netwerke) en beheer bedrywighede met 'n volledige objekstel van 'n gegewe tipe. <br> Wêreldwyd skep <br> Globale lees <br> Globale skryf <br> Toestemmings per objek gee u 'n meer buigsame manier van toegangsbeheer. Toestemmings per objek acl bestaan vir elke individuele objek. Vandag word slegs gashere en subnette per objek-slyn geïmplementeer. <br> Per-objek gelees <br> Per-objek skryf <br> Acl-substelsel kan in vier verskillende veiligheidsvlakke (of modusse) werk. <br><img SRC="ctree0.gif" alt="dhcpd-konfigurasieboom, veiligheidsvlak 0, kontroleer subnetX-regte" height=229 width=314><br><p><img SRC="ctree1.gif" alt="dhcpd-konfigurasieboom, veiligheidsvlak 1, kontroleer subnetX-toestemmings" height=229 width=314><p><img SRC="ctree2.gif" alt="dhcpd-konfigurasieboom, sekuriteitsvlak 2, kontroleer subnetX-regte" height=229 width=314><p><img SRC="ctree3.gif" alt="dhcpd-konfigurasieboom, veiligheidsvlak 3, kontroleer subnetX-regte" height=229 width=314><h3> GEBRUIKERSANTEKENINGE: </h3><h3> ONTWIKKELNOTAS: </h3></body></html>
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD ACL-substelsel </h1></center><h3> TEIKENS: </h3> Die hoofdoelstellings van die sub-stelsel ACL is die verskaffing van 'n kragtige, buigsame en uitbreidbare meganisme vir toegangsbeheer van verskillende voorwerpe in dhcpd-konfigurasie. Hierdie voorwerpe is gedeelde netwerke, subnette, groepe gashere en gashere. <br> Met acl-substelsel kan u ook ander funksies beheer, soos: unieke objekname, toepassing van veranderde konfigurasie, besigtiging en skrapping van dhcp-leasures. <h3> KONSEPTE: </h3> Dhcpd konfigurasie lêer wat ons as 'n boomstruktuur kan vertoon. Elke knooppunt van hierdie boom verteenwoordig 'n konfigurasie van verskillende dhcp-voorwerpe (fig. 0). <p> Acl-substelsel het twee vlakke van regte: <ul><li> globaal: lees, skryf, skep; </li><li> per-objek: lees, skryf. </li></ul> Daar bestaan wêreldwye toestemmings vir elke tipe voorwerpe (gashere, groepe, subnette, gedeelde netwerke) en beheer bedrywighede met 'n volledige objekstel van 'n gegewe tipe. <br> Wêreldwyd skep <br> Globale lees <br> Globale skryf <br> Toestemmings per objek gee u 'n meer buigsame manier van toegangsbeheer. Toestemmings per objek acl bestaan vir elke individuele objek. Vandag word slegs gashere en subnette per objek-slyn geïmplementeer. <br> Per-objek gelees <br> Per-objek skryf <br> Acl-substelsel kan in vier verskillende veiligheidsvlakke (of modusse) werk. <br><img SRC="ctree0.gif" alt="dhcpd-konfigurasieboom, veiligheidsvlak 0, kontroleer subnetX-regte" height=229 width=314><br><p><img SRC="ctree1.gif" alt="dhcpd-konfigurasieboom, veiligheidsvlak 1, kontroleer subnetX-toestemmings" height=229 width=314><p><img SRC="ctree2.gif" alt="dhcpd-konfigurasieboom, sekuriteitsvlak 2, kontroleer subnetX-regte" height=229 width=314><p><img SRC="ctree3.gif" alt="dhcpd-konfigurasieboom, veiligheidsvlak 3, kontroleer subnetX-regte" height=229 width=314><h3> GEBRUIKERSANTEKENINGE: </h3><h3> ONTWIKKELNOTAS: </h3></body></html>
|
||||
@@ -1 +1 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body style=";text-align:right;direction:rtl"><center style=";text-align:right;direction:rtl"><h1 style=";text-align:right;direction:rtl"> DHCPD ACL الفرعي </h1></center><h3 style=";text-align:right;direction:rtl"> الأهداف: </h3> تتمثل الأهداف الرئيسية لنظام فرعي ACL في توفير آلية قوية ومرنة وقابلة للتمديد للتحكم في الوصول إلى كائنات مختلفة في تكوين DHCP. هذه الكائنات هي شبكات مشتركة وشبكات فرعية ومجموعات من المضيفين والمضيفين. <br> كما يسمح لك النظام الفرعي ACL بالتحكم في بعض الميزات الأخرى ، مثل: أسماء الكائنات الفريدة وتطبيق التكوين المتغير وعرض وحذف مقاييس dhcp. <h3 style=";text-align:right;direction:rtl"> المفاهيم: </h3> يمكننا عرض ملف تكوين Dhcpd كهيكل شجرة. تمثل كل عقدة في هذه الشجرة تكوينًا لكائنات dhcp مختلفة (الشكل 0). <p style=";text-align:right;direction:rtl"> يحتوي نظام Acl الفرعي على مستويين من الأذونات: <ul style=";text-align:right;direction:rtl"><li style=";text-align:right;direction:rtl"> عالمي: قراءة ، كتابة ، إنشاء ؛ </li><li style=";text-align:right;direction:rtl"> لكل كائن: قراءة وكتابة. </li></ul> توجد أذونات عامة لكل نوع من الكائنات (المضيفين والمجموعات والشبكات الفرعية والشبكات المشتركة) وتتحكم في العمليات باستخدام مجموعة كائنات كاملة من نوع معين. <br> إنشاء عالمي <br> قراءة عالمية <br> الكتابة العالمية <br> تمنحك أذونات لكل كائن طريقة أكثر مرونة للتحكم في الوصول. أذونات لكل كائن موجودة لكل كائن كائن فردي. اليوم ، يتم فقط استضافة المضيفين والشبكات الفرعية لكل كائن تحكم. <br> قراءة لكل كائن <br> الكتابة لكل كائن <br> يمكن أن يعمل النظام الفرعي Acl في 4 مستويات أمان (أو أوضاع) مختلفة. <br><img SRC="ctree0.gif" alt="شجرة تكوين dhcpd ، مستوى الأمان 0 ، تحقق من أذونات subnetX" height=229 width=314><br><p style=";text-align:right;direction:rtl"><img SRC="ctree1.gif" alt="شجرة تكوين dhcpd ، مستوى الأمان 1 ، تحقق من أذونات subnetX" height=229 width=314><p style=";text-align:right;direction:rtl"><img SRC="ctree2.gif" alt="شجرة تكوين dhcpd ، مستوى الأمان 2 ، تحقق من أذونات subnetX" height=229 width=314><p style=";text-align:right;direction:rtl"><img SRC="ctree3.gif" alt="شجرة تكوين dhcpd ، مستوى الأمان 3 ، تحقق من أذونات subnetX" height=229 width=314><h3 style=";text-align:right;direction:rtl"> ملاحظات المستخدم: </h3><h3 style=";text-align:right;direction:rtl"> ملاحظات المطور: </h3></body></html>
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body style=";text-align:right;direction:rtl"><center style=";text-align:right;direction:rtl"><h1 style=";text-align:right;direction:rtl"> DHCPD ACL الفرعي </h1></center><h3 style=";text-align:right;direction:rtl"> الأهداف: </h3> تتمثل الأهداف الرئيسية لنظام فرعي ACL في توفير آلية قوية ومرنة وقابلة للتمديد للتحكم في الوصول إلى كائنات مختلفة في تكوين DHCP. هذه الكائنات هي شبكات مشتركة وشبكات فرعية ومجموعات من المضيفين والمضيفين. <br> كما يسمح لك النظام الفرعي ACL بالتحكم في بعض الميزات الأخرى ، مثل: أسماء الكائنات الفريدة وتطبيق التكوين المتغير وعرض وحذف مقاييس dhcp. <h3 style=";text-align:right;direction:rtl"> المفاهيم: </h3> يمكننا عرض ملف تكوين Dhcpd كهيكل شجرة. تمثل كل عقدة في هذه الشجرة تكوينًا لكائنات dhcp مختلفة (الشكل 0). <p style=";text-align:right;direction:rtl"> يحتوي نظام Acl الفرعي على مستويين من الأذونات: <ul style=";text-align:right;direction:rtl"><li style=";text-align:right;direction:rtl"> عالمي: قراءة ، كتابة ، إنشاء ؛ </li><li style=";text-align:right;direction:rtl"> لكل كائن: قراءة وكتابة. </li></ul> توجد أذونات عامة لكل نوع من الكائنات (المضيفين والمجموعات والشبكات الفرعية والشبكات المشتركة) وتتحكم في العمليات باستخدام مجموعة كائنات كاملة من نوع معين. <br> إنشاء عالمي <br> قراءة عالمية <br> الكتابة العالمية <br> تمنحك أذونات لكل كائن طريقة أكثر مرونة للتحكم في الوصول. أذونات لكل كائن موجودة لكل كائن كائن فردي. اليوم ، يتم فقط استضافة المضيفين والشبكات الفرعية لكل كائن تحكم. <br> قراءة لكل كائن <br> الكتابة لكل كائن <br> يمكن أن يعمل النظام الفرعي Acl في 4 مستويات أمان (أو أوضاع) مختلفة. <br><img SRC="ctree0.gif" alt="شجرة تكوين dhcpd ، مستوى الأمان 0 ، تحقق من أذونات subnetX" height=229 width=314><br><p style=";text-align:right;direction:rtl"><img SRC="ctree1.gif" alt="شجرة تكوين dhcpd ، مستوى الأمان 1 ، تحقق من أذونات subnetX" height=229 width=314><p style=";text-align:right;direction:rtl"><img SRC="ctree2.gif" alt="شجرة تكوين dhcpd ، مستوى الأمان 2 ، تحقق من أذونات subnetX" height=229 width=314><p style=";text-align:right;direction:rtl"><img SRC="ctree3.gif" alt="شجرة تكوين dhcpd ، مستوى الأمان 3 ، تحقق من أذونات subnetX" height=229 width=314><h3 style=";text-align:right;direction:rtl"> ملاحظات المستخدم: </h3><h3 style=";text-align:right;direction:rtl"> ملاحظات المطور: </h3></body></html>
|
||||
@@ -1 +1 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> Падсістэма ACC DHCPD </h1></center><h3> ЦЭЛЫ: </h3> Асноўныя мэты падсістэмы acl - забеспячэнне магутнага, гнуткага і пашыраемага механізму кантролю доступу розных аб'ектаў у канфігурацыі dhcpd. Гэтымі аб'ектамі з'яўляюцца агульныя сеткі, падсеткі, групы хастаў і хосты. <br> Таксама падсістэма acl дазваляе кіраваць некаторымі іншымі функцыямі, такімі як: унікальныя імёны аб'ектаў, прымяненне змененай канфігурацыі, прагляд і выдаленне dhcp. <h3> Канцэпты: </h3> Файл канфігурацыі Dhcpd мы можам паказаць у выглядзе структуры дрэва. Кожны вузел гэтага дрэва ўяўляе сабой канфігурацыю розных dhcp аб'ектаў (мал. 0). <p> Падсістэма Acl мае 2 ўзроўні дазволаў: <ul><li> глабальны: чытаць, пісаць, ствараць; </li><li> за аб'ект: чытаць, пісаць. </li></ul> Глабальныя дазволы існуюць для кожнага тыпу аб'ектаў (хасты, групы, падсеткі, агульныя сеткі) і кіруе аперацыямі з цэлым наборам аб'ектаў дадзенага тыпу. <br> Глабальнае стварэнне <br> Глабальнае чытанне <br> Глабальнае пісанне <br> Дазволы на аб'ект даюць вам больш гнуткі спосаб кіравання доступам. ACL дазволаў на аб'ект існуе для кожнага аб'екта, асобнага аб'екта. На сённяшні дзень толькі хасты і падсеткі на аб'ект acls пагаршаюцца. <br> Зачытаны за аб'ект <br> Запішыце па аб’екце <br> Падсістэма Acl можа працаваць у чатырох розных узроўнях бяспекі (або ў рэжымах). <br><img SRC="ctree0.gif" alt="дрэва канфігурацыі dhcpd, узровень бяспекі 0, праверка дазволаў subnetX" height=229 width=314><br><p><img SRC="ctree1.gif" alt="дрэва канфігурацыі dhcpd, узровень бяспекі 1, праверка дазволаў subnetX" height=229 width=314><p><img SRC="ctree2.gif" alt="дрэва канфігурацыі dhcpd, узровень бяспекі 2, праверце дазволы subnetX" height=229 width=314><p><img SRC="ctree3.gif" alt="дрэва канфігурацыі dhcpd, узровень бяспекі 3, праверце дазволы subnetX" height=229 width=314><h3> УВАГА КАМПАНІЯ </h3><h3> Заўвагі распрацоўшчыкаў: </h3></body></html>
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> Падсістэма ACC DHCPD </h1></center><h3> ЦЭЛЫ: </h3> Асноўныя мэты падсістэмы acl - забеспячэнне магутнага, гнуткага і пашыраемага механізму кантролю доступу розных аб'ектаў у канфігурацыі dhcpd. Гэтымі аб'ектамі з'яўляюцца агульныя сеткі, падсеткі, групы хастаў і хосты. <br> Таксама падсістэма acl дазваляе кіраваць некаторымі іншымі функцыямі, такімі як: унікальныя імёны аб'ектаў, прымяненне змененай канфігурацыі, прагляд і выдаленне dhcp. <h3> Канцэпты: </h3> Файл канфігурацыі Dhcpd мы можам паказаць у выглядзе структуры дрэва. Кожны вузел гэтага дрэва ўяўляе сабой канфігурацыю розных dhcp аб'ектаў (мал. 0). <p> Падсістэма Acl мае 2 ўзроўні дазволаў: <ul><li> глабальны: чытаць, пісаць, ствараць; </li><li> за аб'ект: чытаць, пісаць. </li></ul> Глабальныя дазволы існуюць для кожнага тыпу аб'ектаў (хасты, групы, падсеткі, агульныя сеткі) і кіруе аперацыямі з цэлым наборам аб'ектаў дадзенага тыпу. <br> Глабальнае стварэнне <br> Глабальнае чытанне <br> Глабальнае пісанне <br> Дазволы на аб'ект даюць вам больш гнуткі спосаб кіравання доступам. ACL дазволаў на аб'ект існуе для кожнага аб'екта, асобнага аб'екта. На сённяшні дзень толькі хасты і падсеткі на аб'ект acls пагаршаюцца. <br> Зачытаны за аб'ект <br> Запішыце па аб’екце <br> Падсістэма Acl можа працаваць у чатырох розных узроўнях бяспекі (або ў рэжымах). <br><img SRC="ctree0.gif" alt="дрэва канфігурацыі dhcpd, узровень бяспекі 0, праверка дазволаў subnetX" height=229 width=314><br><p><img SRC="ctree1.gif" alt="дрэва канфігурацыі dhcpd, узровень бяспекі 1, праверка дазволаў subnetX" height=229 width=314><p><img SRC="ctree2.gif" alt="дрэва канфігурацыі dhcpd, узровень бяспекі 2, праверце дазволы subnetX" height=229 width=314><p><img SRC="ctree3.gif" alt="дрэва канфігурацыі dhcpd, узровень бяспекі 3, праверце дазволы subnetX" height=229 width=314><h3> УВАГА КАМПАНІЯ </h3><h3> Заўвагі распрацоўшчыкаў: </h3></body></html>
|
||||
@@ -1 +1 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD ACL подсистема </h1></center><h3> цели: </h3> Основните цели на подсистемата acl е осигуряване на мощен, гъвкав и разтегателен механизъм за контрол на достъпа на различни обекти в dhcpd конфигурация. Тези обекти са споделени мрежи, подмрежи, групи от хостове и хостове. <br> Също така acl подсистемата ви позволява да контролирате някои други функции, като: уникални имена на обекти, прилагане на променена конфигурация, преглед и изтриване на dhcp съпротивления. <h3> понятия: </h3> Dhcpd конфигурационен файл, който можем да покажем като дървовидна структура. Всеки възел от това дърво представлява конфигурация на различни dhcp обекти (фиг. 0). <p> Подсистемата Acl има 2 нива на разрешения: <ul><li> глобален: четете, пишете, създавайте; </li><li> на обект: четете, пишете. </li></ul> Глобални разрешения съществуват за всеки тип обекти (хостове, групи, подмрежи, споделени мрежи) и контролира операциите с цял набор от обекти от даден тип. <br> Глобално създаване <br> Глобално четене <br> Глобално писане <br> Разрешенията на обект ви дават по-гъвкав начин за контрол на достъпа. За всеки обект индивидуален обект съществува acl разрешения на обект. Днес са ограничени само хостове и подмрежи на обект acls. <br> Прочитане на обект <br> Запис на обект <br> Подсистемата Acl може да работи в 4 различни нива на сигурност (или режими). <br><img SRC="ctree0.gif" alt="dhcpd конфигурационно дърво, ниво на защита 0, проверете разрешенията на subnetX" height=229 width=314><br><p><img SRC="ctree1.gif" alt="dhcpd конфигурационно дърво, ниво на защита 1, проверете разрешенията на subnetX" height=229 width=314><p><img SRC="ctree2.gif" alt="dhcpd конфигурационно дърво, ниво на защита 2, проверете разрешенията на subnetX" height=229 width=314><p><img SRC="ctree3.gif" alt="dhcpd конфигурационно дърво, ниво на защита 3, проверете разрешенията на subnetX" height=229 width=314><h3> ЗАБЕЛЕЖКИ ЗА ПОТРЕБИТЕЛЯ: </h3><h3> ЗАБЕЛЕЖКИ ЗА РАЗВИТИЕ: </h3></body></html>
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD ACL подсистема </h1></center><h3> цели: </h3> Основните цели на подсистемата acl е осигуряване на мощен, гъвкав и разтегателен механизъм за контрол на достъпа на различни обекти в dhcpd конфигурация. Тези обекти са споделени мрежи, подмрежи, групи от хостове и хостове. <br> Също така acl подсистемата ви позволява да контролирате някои други функции, като: уникални имена на обекти, прилагане на променена конфигурация, преглед и изтриване на dhcp съпротивления. <h3> понятия: </h3> Dhcpd конфигурационен файл, който можем да покажем като дървовидна структура. Всеки възел от това дърво представлява конфигурация на различни dhcp обекти (фиг. 0). <p> Подсистемата Acl има 2 нива на разрешения: <ul><li> глобален: четете, пишете, създавайте; </li><li> на обект: четете, пишете. </li></ul> Глобални разрешения съществуват за всеки тип обекти (хостове, групи, подмрежи, споделени мрежи) и контролира операциите с цял набор от обекти от даден тип. <br> Глобално създаване <br> Глобално четене <br> Глобално писане <br> Разрешенията на обект ви дават по-гъвкав начин за контрол на достъпа. За всеки обект индивидуален обект съществува acl разрешения на обект. Днес са ограничени само хостове и подмрежи на обект acls. <br> Прочитане на обект <br> Запис на обект <br> Подсистемата Acl може да работи в 4 различни нива на сигурност (или режими). <br><img SRC="ctree0.gif" alt="dhcpd конфигурационно дърво, ниво на защита 0, проверете разрешенията на subnetX" height=229 width=314><br><p><img SRC="ctree1.gif" alt="dhcpd конфигурационно дърво, ниво на защита 1, проверете разрешенията на subnetX" height=229 width=314><p><img SRC="ctree2.gif" alt="dhcpd конфигурационно дърво, ниво на защита 2, проверете разрешенията на subnetX" height=229 width=314><p><img SRC="ctree3.gif" alt="dhcpd конфигурационно дърво, ниво на защита 3, проверете разрешенията на subnetX" height=229 width=314><h3> ЗАБЕЛЕЖКИ ЗА ПОТРЕБИТЕЛЯ: </h3><h3> ЗАБЕЛЕЖКИ ЗА РАЗВИТИЕ: </h3></body></html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -1 +1 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD ACL subsystém </h1></center><h3> CÍLE: </h3> Hlavním cílem subsystému acl je výkonný, flexibilní a rozšiřitelný mechanismus pro řízení přístupu k různým objektům v konfiguraci dhcpd. Jedná se o sdílené sítě, podsítě, skupiny hostitelů a hostitelů. <br> Podsystém acl vám také umožňuje ovládat některé další funkce, například: jedinečné názvy objektů, použití změněné konfigurace, prohlížení a mazání dhcp leasures. <h3> KONCEPCE: </h3> Dhcpd konfigurační soubor můžeme zobrazit jako stromovou strukturu. Každý uzel tohoto stromu představuje konfiguraci různých dhcp objektů (obr. 0). <p> Subsystém Acl má dvě úrovně oprávnění: <ul><li> globální: číst, psát, vytvářet; </li><li> na objekt: čtení, zápis. </li></ul> Globální oprávnění existují pro každý typ objektů (hostitelé, skupiny, podsítě, sdílené sítě) a řídí operace s celou sadou objektů daného typu. <br> Globální vytvoření <br> Globální čtení <br> Globální zápis <br> Oprávnění pro jednotlivé objekty vám poskytují flexibilnější způsob řízení přístupu. Pro každý objekt existuje oprávnění acl pro každý objekt. Dnes jsou implementovány pouze hostitelé a podsítě na jednotlivé objekty acls. <br> Čtení podle jednotlivých objektů <br> Zápis na jeden objekt <br> Podsystém Acl může pracovat ve 4 různých úrovních zabezpečení (nebo režimech). <br><img SRC="ctree0.gif" alt="konfigurační strom dhcpd, úroveň zabezpečení 0, zkontrolujte oprávnění subnetX" height=229 width=314><br><p><img SRC="ctree1.gif" alt="konfigurační strom dhcpd, úroveň zabezpečení 1, zkontrolujte oprávnění podsítěX" height=229 width=314><p><img SRC="ctree2.gif" alt="konfigurační strom dhcpd, úroveň zabezpečení 2, zkontrolujte oprávnění subnetX" height=229 width=314><p><img SRC="ctree3.gif" alt="konfigurační strom dhcpd, úroveň zabezpečení 3, zkontrolujte oprávnění podsítěX" height=229 width=314><h3> POZNÁMKY PRO UŽIVATELE: </h3><h3> POZNÁMKY PRO VÝVOJÁŘE: </h3></body></html>
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD ACL subsystém </h1></center><h3> CÍLE: </h3> Hlavním cílem subsystému acl je výkonný, flexibilní a rozšiřitelný mechanismus pro řízení přístupu k různým objektům v konfiguraci dhcpd. Jedná se o sdílené sítě, podsítě, skupiny hostitelů a hostitelů. <br> Podsystém acl vám také umožňuje ovládat některé další funkce, například: jedinečné názvy objektů, použití změněné konfigurace, prohlížení a mazání dhcp leasures. <h3> KONCEPCE: </h3> Dhcpd konfigurační soubor můžeme zobrazit jako stromovou strukturu. Každý uzel tohoto stromu představuje konfiguraci různých dhcp objektů (obr. 0). <p> Subsystém Acl má dvě úrovně oprávnění: <ul><li> globální: číst, psát, vytvářet; </li><li> na objekt: čtení, zápis. </li></ul> Globální oprávnění existují pro každý typ objektů (hostitelé, skupiny, podsítě, sdílené sítě) a řídí operace s celou sadou objektů daného typu. <br> Globální vytvoření <br> Globální čtení <br> Globální zápis <br> Oprávnění pro jednotlivé objekty vám poskytují flexibilnější způsob řízení přístupu. Pro každý objekt existuje oprávnění acl pro každý objekt. Dnes jsou implementovány pouze hostitelé a podsítě na jednotlivé objekty acls. <br> Čtení podle jednotlivých objektů <br> Zápis na jeden objekt <br> Podsystém Acl může pracovat ve 4 různých úrovních zabezpečení (nebo režimech). <br><img SRC="ctree0.gif" alt="konfigurační strom dhcpd, úroveň zabezpečení 0, zkontrolujte oprávnění subnetX" height=229 width=314><br><p><img SRC="ctree1.gif" alt="konfigurační strom dhcpd, úroveň zabezpečení 1, zkontrolujte oprávnění podsítěX" height=229 width=314><p><img SRC="ctree2.gif" alt="konfigurační strom dhcpd, úroveň zabezpečení 2, zkontrolujte oprávnění subnetX" height=229 width=314><p><img SRC="ctree3.gif" alt="konfigurační strom dhcpd, úroveň zabezpečení 3, zkontrolujte oprávnění podsítěX" height=229 width=314><h3> POZNÁMKY PRO UŽIVATELE: </h3><h3> POZNÁMKY PRO VÝVOJÁŘE: </h3></body></html>
|
||||
@@ -1 +1 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD ACL-undersystem </h1></center><h3> MÅL: </h3> Hovedmålene med acl-undersystemet er at tilvejebringe en kraftig, fleksibel og udvidelig mekanisme til adgangskontrol af forskellige objekter i dhcpd-konfiguration. Dette objekt er delte netværk, undernet, grupper af værter og værter. <br> Også acl-undersystem giver dig mulighed for at kontrollere nogle andre funktioner, såsom: unikke objektnavne, anvendelse af ændret konfiguration, visning og sletning af dhcp-leasures. <h3> begreber: </h3> Dhcpd-konfigurationsfil, vi kan vise som en træstruktur. Hver knude på dette træ repræsenterer en konfiguration af forskellige dhcp-objekter (fig. 0). <p> Acl-undersystem har 2 niveauer af tilladelser: <ul><li> global: læse, skrive, oprette; </li><li> per-objekt: læse, skrive. </li></ul> Globale tilladelser findes for hver type objekter (værter, grupper, undernet, delte netværk) og styrer operationer med et helt objektsæt af en given type. <br> Globalt skabe <br> Globalt læst <br> Global skrivning <br> Per-objekt-tilladelser giver dig en mere fleksibel måde at få adgang til kontrol. Per-objekt-tilladelser acl findes for hvert individuelle objekt-objekt. I dag er det kun værter og undernet pr. Objekt, der aktiveres. <br> Per-objekt læst <br> Per-objekt-skrivning <br> Acl-undersystem kan fungere i 4 forskellige sikkerhedsniveauer (eller tilstande). <br><img SRC="ctree0.gif" alt="dhcpd-konfigurationstræ, sikkerhedsniveau 0, kontroller subnetX-tilladelser" height=229 width=314><br><p><img SRC="ctree1.gif" alt="dhcpd-konfigurationstræ, sikkerhedsniveau 1, kontroller subnetX-tilladelser" height=229 width=314><p><img SRC="ctree2.gif" alt="dhcpd-konfigurationstræ, sikkerhedsniveau 2, kontroller subnetX-tilladelser" height=229 width=314><p><img SRC="ctree3.gif" alt="dhcpd-konfigurationstræ, sikkerhedsniveau 3, kontroller subnetX-tilladelser" height=229 width=314><h3> BRUGSANVISNINGER: </h3><h3> UDVIKLERNOTER: </h3></body></html>
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD ACL-undersystem </h1></center><h3> MÅL: </h3> Hovedmålene med acl-undersystemet er at tilvejebringe en kraftig, fleksibel og udvidelig mekanisme til adgangskontrol af forskellige objekter i dhcpd-konfiguration. Dette objekt er delte netværk, undernet, grupper af værter og værter. <br> Også acl-undersystem giver dig mulighed for at kontrollere nogle andre funktioner, såsom: unikke objektnavne, anvendelse af ændret konfiguration, visning og sletning af dhcp-leasures. <h3> begreber: </h3> Dhcpd-konfigurationsfil, vi kan vise som en træstruktur. Hver knude på dette træ repræsenterer en konfiguration af forskellige dhcp-objekter (fig. 0). <p> Acl-undersystem har 2 niveauer af tilladelser: <ul><li> global: læse, skrive, oprette; </li><li> per-objekt: læse, skrive. </li></ul> Globale tilladelser findes for hver type objekter (værter, grupper, undernet, delte netværk) og styrer operationer med et helt objektsæt af en given type. <br> Globalt skabe <br> Globalt læst <br> Global skrivning <br> Per-objekt-tilladelser giver dig en mere fleksibel måde at få adgang til kontrol. Per-objekt-tilladelser acl findes for hvert individuelle objekt-objekt. I dag er det kun værter og undernet pr. Objekt, der aktiveres. <br> Per-objekt læst <br> Per-objekt-skrivning <br> Acl-undersystem kan fungere i 4 forskellige sikkerhedsniveauer (eller tilstande). <br><img SRC="ctree0.gif" alt="dhcpd-konfigurationstræ, sikkerhedsniveau 0, kontroller subnetX-tilladelser" height=229 width=314><br><p><img SRC="ctree1.gif" alt="dhcpd-konfigurationstræ, sikkerhedsniveau 1, kontroller subnetX-tilladelser" height=229 width=314><p><img SRC="ctree2.gif" alt="dhcpd-konfigurationstræ, sikkerhedsniveau 2, kontroller subnetX-tilladelser" height=229 width=314><p><img SRC="ctree3.gif" alt="dhcpd-konfigurationstræ, sikkerhedsniveau 3, kontroller subnetX-tilladelser" height=229 width=314><h3> BRUGSANVISNINGER: </h3><h3> UDVIKLERNOTER: </h3></body></html>
|
||||
@@ -1 +1 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD-ACL-Subsystem </h1></center><h3> ZIELE: </h3> Das Hauptziel des acl-Subsystems besteht darin, einen leistungsstarken, flexiblen und erweiterbaren Mechanismus für die Zugriffskontrolle verschiedener Objekte in der dhcpd-Konfiguration bereitzustellen. Diese Objekte sind gemeinsam genutzte Netzwerke, Subnetze, Gruppen von Hosts und Hosts. <br> Mit dem acl-Subsystem können Sie auch einige andere Funktionen steuern, z. B. eindeutige Objektnamen, Anwenden geänderter Konfigurationen, Anzeigen und Löschen von DHCP-Funktionen. <h3> KONZEPTE: </h3> Dhcpd-Konfigurationsdatei können wir als Baumstruktur anzeigen. Jeder Knoten dieses Baums repräsentiert eine Konfiguration verschiedener DHCP-Objekte (Abb. 0). <p> Das Acl-Subsystem verfügt über zwei Berechtigungsstufen: <ul><li> global: lesen, schreiben, erstellen; </li><li> pro Objekt: lesen, schreiben. </li></ul> Globale Berechtigungen sind für jeden Objekttyp (Hosts, Gruppen, Subnetze, gemeinsam genutzte Netzwerke) vorhanden und steuern Vorgänge mit einem gesamten Objektsatz eines bestimmten Typs. <br> Global erstellen <br> Globales Lesen <br> Globales Schreiben <br> Pro-Objekt-Berechtigungen bieten Ihnen eine flexiblere Möglichkeit zur Zugriffskontrolle. Pro-Objekt-Berechtigungen acl existiert für jedes Objekt einzelnes Objekt. Heutzutage werden nur Hosts und Subnetze pro Objekt aktiviert. <br> Pro Objekt gelesen <br> Pro Objekt schreiben <br> Das Acl-Subsystem kann in 4 verschiedenen Sicherheitsstufen (oder Modi) betrieben werden. <br><img SRC="ctree0.gif" alt="DHCP-Konfigurationsbaum, Sicherheitsstufe 0, SubnetX-Berechtigungen überprüfen" height=229 width=314><br><p><img SRC="ctree1.gif" alt="DHCP-Konfigurationsbaum, Sicherheitsstufe 1, SubnetX-Berechtigungen prüfen" height=229 width=314><p><img SRC="ctree2.gif" alt="DHCPD-Konfigurationsbaum, Sicherheitsstufe 2, SubnetX-Berechtigungen überprüfen" height=229 width=314><p><img SRC="ctree3.gif" alt="DHCP-Konfigurationsbaum, Sicherheitsstufe 3, SubnetX-Berechtigungen überprüfen" height=229 width=314><h3> BENUTZERHINWEISE: </h3><h3> ANMERKUNGEN DES ENTWICKLERS: </h3></body></html>
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> DHCPD-ACL-Subsystem </h1></center><h3> ZIELE: </h3> Das Hauptziel des acl-Subsystems besteht darin, einen leistungsstarken, flexiblen und erweiterbaren Mechanismus für die Zugriffskontrolle verschiedener Objekte in der dhcpd-Konfiguration bereitzustellen. Diese Objekte sind gemeinsam genutzte Netzwerke, Subnetze, Gruppen von Hosts und Hosts. <br> Mit dem acl-Subsystem können Sie auch einige andere Funktionen steuern, z. B. eindeutige Objektnamen, Anwenden geänderter Konfigurationen, Anzeigen und Löschen von DHCP-Funktionen. <h3> KONZEPTE: </h3> Dhcpd-Konfigurationsdatei können wir als Baumstruktur anzeigen. Jeder Knoten dieses Baums repräsentiert eine Konfiguration verschiedener DHCP-Objekte (Abb. 0). <p> Das Acl-Subsystem verfügt über zwei Berechtigungsstufen: <ul><li> global: lesen, schreiben, erstellen; </li><li> pro Objekt: lesen, schreiben. </li></ul> Globale Berechtigungen sind für jeden Objekttyp (Hosts, Gruppen, Subnetze, gemeinsam genutzte Netzwerke) vorhanden und steuern Vorgänge mit einem gesamten Objektsatz eines bestimmten Typs. <br> Global erstellen <br> Globales Lesen <br> Globales Schreiben <br> Pro-Objekt-Berechtigungen bieten Ihnen eine flexiblere Möglichkeit zur Zugriffskontrolle. Pro-Objekt-Berechtigungen acl existiert für jedes Objekt einzelnes Objekt. Heutzutage werden nur Hosts und Subnetze pro Objekt aktiviert. <br> Pro Objekt gelesen <br> Pro Objekt schreiben <br> Das Acl-Subsystem kann in 4 verschiedenen Sicherheitsstufen (oder Modi) betrieben werden. <br><img SRC="ctree0.gif" alt="DHCP-Konfigurationsbaum, Sicherheitsstufe 0, SubnetX-Berechtigungen überprüfen" height=229 width=314><br><p><img SRC="ctree1.gif" alt="DHCP-Konfigurationsbaum, Sicherheitsstufe 1, SubnetX-Berechtigungen prüfen" height=229 width=314><p><img SRC="ctree2.gif" alt="DHCPD-Konfigurationsbaum, Sicherheitsstufe 2, SubnetX-Berechtigungen überprüfen" height=229 width=314><p><img SRC="ctree3.gif" alt="DHCP-Konfigurationsbaum, Sicherheitsstufe 3, SubnetX-Berechtigungen überprüfen" height=229 width=314><h3> BENUTZERHINWEISE: </h3><h3> ANMERKUNGEN DES ENTWICKLERS: </h3></body></html>
|
||||
@@ -1 +1 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> Υποσύστημα DHCPD ACL </h1></center><h3> ΣΤΟΧΟΙ: </h3> Οι κύριοι στόχοι του υποσυστήματος acl είναι η παροχή ενός ισχυρού, ευέλικτου και επεκτάσιμου μηχανισμού για έλεγχο πρόσβασης διαφορετικών αντικειμένων σε διαμόρφωση dhcpd. Αυτά τα αντικείμενα είναι κοινόχρηστα δίκτυα, υποδίκτυα, ομάδες κεντρικών υπολογιστών και κεντρικών υπολογιστών. <br> Επίσης, το υποσύστημα acl σας επιτρέπει να ελέγχετε ορισμένες άλλες δυνατότητες, όπως: μοναδικά ονόματα αντικειμένων, εφαρμογή αλλαγμένης διαμόρφωσης, προβολή και διαγραφή μισθώσεων dhcp. <h3> ΕΝΝΟΙΕΣ: </h3> Αρχείο διαμόρφωσης Dhcpd που μπορούμε να δείξουμε ως δομή δέντρου. Κάθε κόμβος αυτού του δέντρου αντιπροσωπεύει μια διαμόρφωση διαφορετικών αντικειμένων dhcp (εικ. 0). <p> Το υποσύστημα Acl έχει 2 επίπεδα δικαιωμάτων: <ul><li> παγκόσμιο: ανάγνωση, εγγραφή, δημιουργία; </li><li> ανά αντικείμενο: ανάγνωση, εγγραφή. </li></ul> Υπάρχουν καθολικά δικαιώματα για κάθε τύπο αντικειμένων (κεντρικοί υπολογιστές, ομάδες, υποδίκτυα, κοινόχρηστα δίκτυα) και ελέγχει τις λειτουργίες με ένα σύνολο αντικειμένων συγκεκριμένου τύπου. <br> Παγκόσμια δημιουργία <br> Παγκόσμια ανάγνωση <br> Παγκόσμια γραφή <br> Τα δικαιώματα ανά αντικείμενο σας δίνουν έναν πιο ευέλικτο τρόπο ελέγχου πρόσβασης. Δικαιώματα ανά αντικείμενο υπάρχει για κάθε αντικείμενο μεμονωμένο αντικείμενο. Σήμερα έχουν τεθεί σε εφαρμογή μόνο κεντρικοί υπολογιστές και υποδίκτυα ανά αντικείμενο. <br> Ανά ανά αντικείμενο <br> Εγγραφή ανά αντικείμενο <br> Το υποσύστημα Acl μπορεί να λειτουργήσει σε 4 διαφορετικά επίπεδα ασφαλείας (ή τρόπους). <br><img SRC="ctree0.gif" alt="δέντρο διαμόρφωσης dhcpd, επίπεδο ασφαλείας 0, ελέγξτε τα δικαιώματα subnetX" height=229 width=314><br><p><img SRC="ctree1.gif" alt="δέντρο διαμόρφωσης dhcpd, επίπεδο ασφάλειας 1, ελέγξτε τα δικαιώματα subnetX" height=229 width=314><p><img SRC="ctree2.gif" alt="δέντρο διαμόρφωσης dhcpd, επίπεδο ασφαλείας 2, ελέγξτε τα δικαιώματα subnetX" height=229 width=314><p><img SRC="ctree3.gif" alt="δέντρο διαμόρφωσης dhcpd, επίπεδο ασφάλειας 3, ελέγξτε τα δικαιώματα subnetX" height=229 width=314><h3> ΣΗΜΕΙΩΣΕΙΣ ΧΡΗΣΤΗ: </h3><h3> ΣΗΜΕΙΩΣΕΙΣ ΑΝΑΠΤΥΞΗΣ: </h3></body></html>
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]"></head><body><center><h1> Υποσύστημα DHCPD ACL </h1></center><h3> ΣΤΟΧΟΙ: </h3> Οι κύριοι στόχοι του υποσυστήματος acl είναι η παροχή ενός ισχυρού, ευέλικτου και επεκτάσιμου μηχανισμού για έλεγχο πρόσβασης διαφορετικών αντικειμένων σε διαμόρφωση dhcpd. Αυτά τα αντικείμενα είναι κοινόχρηστα δίκτυα, υποδίκτυα, ομάδες κεντρικών υπολογιστών και κεντρικών υπολογιστών. <br> Επίσης, το υποσύστημα acl σας επιτρέπει να ελέγχετε ορισμένες άλλες δυνατότητες, όπως: μοναδικά ονόματα αντικειμένων, εφαρμογή αλλαγμένης διαμόρφωσης, προβολή και διαγραφή μισθώσεων dhcp. <h3> ΕΝΝΟΙΕΣ: </h3> Αρχείο διαμόρφωσης Dhcpd που μπορούμε να δείξουμε ως δομή δέντρου. Κάθε κόμβος αυτού του δέντρου αντιπροσωπεύει μια διαμόρφωση διαφορετικών αντικειμένων dhcp (εικ. 0). <p> Το υποσύστημα Acl έχει 2 επίπεδα δικαιωμάτων: <ul><li> παγκόσμιο: ανάγνωση, εγγραφή, δημιουργία; </li><li> ανά αντικείμενο: ανάγνωση, εγγραφή. </li></ul> Υπάρχουν καθολικά δικαιώματα για κάθε τύπο αντικειμένων (κεντρικοί υπολογιστές, ομάδες, υποδίκτυα, κοινόχρηστα δίκτυα) και ελέγχει τις λειτουργίες με ένα σύνολο αντικειμένων συγκεκριμένου τύπου. <br> Παγκόσμια δημιουργία <br> Παγκόσμια ανάγνωση <br> Παγκόσμια γραφή <br> Τα δικαιώματα ανά αντικείμενο σας δίνουν έναν πιο ευέλικτο τρόπο ελέγχου πρόσβασης. Δικαιώματα ανά αντικείμενο υπάρχει για κάθε αντικείμενο μεμονωμένο αντικείμενο. Σήμερα έχουν τεθεί σε εφαρμογή μόνο κεντρικοί υπολογιστές και υποδίκτυα ανά αντικείμενο. <br> Ανά ανά αντικείμενο <br> Εγγραφή ανά αντικείμενο <br> Το υποσύστημα Acl μπορεί να λειτουργήσει σε 4 διαφορετικά επίπεδα ασφαλείας (ή τρόπους). <br><img SRC="ctree0.gif" alt="δέντρο διαμόρφωσης dhcpd, επίπεδο ασφαλείας 0, ελέγξτε τα δικαιώματα subnetX" height=229 width=314><br><p><img SRC="ctree1.gif" alt="δέντρο διαμόρφωσης dhcpd, επίπεδο ασφάλειας 1, ελέγξτε τα δικαιώματα subnetX" height=229 width=314><p><img SRC="ctree2.gif" alt="δέντρο διαμόρφωσης dhcpd, επίπεδο ασφαλείας 2, ελέγξτε τα δικαιώματα subnetX" height=229 width=314><p><img SRC="ctree3.gif" alt="δέντρο διαμόρφωσης dhcpd, επίπεδο ασφάλειας 3, ελέγξτε τα δικαιώματα subnetX" height=229 width=314><h3> ΣΗΜΕΙΩΣΕΙΣ ΧΡΗΣΤΗ: </h3><h3> ΣΗΜΕΙΩΣΕΙΣ ΑΝΑΠΤΥΞΗΣ: </h3></body></html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user