3 # Save readers and writers lists
5 require './pserver-lib.pl';
6 $access{'access'} || &error($text{'access_ecannot'});
8 &error_setup($text{'access_err'});
10 &lock_file($readers_file);
11 @passwd = &list_passwords();
12 %gotuser = map { $_->{'user'}, 1 } @passwd;
13 if ($in{'readers_def'}) {
14 unlink($readers_file);
17 @readers = split(/\s+/, $in{'readers'});
18 foreach $r (@readers) {
19 defined(getpwnam($r)) || $gotuser{$r} ||
20 &error(&text('access_euser', $r));
22 &open_tempfile(READERS, ">$readers_file");
23 foreach $r (@readers) {
24 &print_tempfile(READERS, $r,"\n");
26 &close_tempfile(READERS);
28 &unlock_file($readers_file);
30 &lock_file($writers_file);
31 if ($in{'writers_def'}) {
32 unlink($writers_file);
35 @writers = split(/\s+/, $in{'writers'});
36 foreach $r (@writers) {
37 defined(getpwnam($r)) || $gotuser{$r} ||
38 &error(&text('access_euser', $r));
40 &open_tempfile(WRITERS, ">$writers_file");
41 foreach $r (@writers) {
42 &print_tempfile(WRITERS, $r,"\n");
44 &close_tempfile(WRITERS);
46 &unlock_file($writers_file);
47 &webmin_log("access");