forked from webmin/webmin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsave.cgi
executable file
·32 lines (26 loc) · 873 Bytes
/
save.cgi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/local/bin/perl
# start.cgi
# Save config and restart rpc.idmapd
require './idmapd-lib.pl';
&ReadParse();
&error_setup($text{'save_err', $config{'idmap_conf'}});
# Check directory
-d $in{'pipefsdir'} || &error(&text('error_dir', $in{'pipefsdir'}));
# Write the config file
&lock_file($config{'idmapd_conf'});
open(FILE, ">$config{'idmapd_conf'}");
print FILE "[General]\n";
print FILE "Pipefs-Directory = $in{'pipefsdir'}\n";
print FILE "Domain = $in{'domain'}\n";
print FILE "\n[Mapping]\n";
print FILE "Nobody-User = $in{'nobody_user'}\n";
print FILE "Nobody-Group = $in{'nobody_group'}\n";
close(FILE);
&unlock_file($config{'idmapd_conf'});
# Restart rpc.idmapd
local $temp = &transname();
local $rv = &system_logged("($config{'restart_command'}) </dev/null >$temp 2>&1");
local $out = `cat $temp`;
unlink($temp);
if ($rv) { &error("$out"); }
&redirect("");