MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //var/usr/webmin-1.941/file/setfacl.cgi
#!/usr/bin/perl
# setfacl.cgi
# Sets the ACLs for some file

require './file-lib.pl';
$disallowed_buttons{'acl'} && &error($text{'ebutton'});
&ReadParse();
&webmin_log("acl", undef, $in{'file'}, \%in);
&switch_acl_uid_and_chroot();
print "Content-type: text/plain\n\n";
if ($access{'ro'} || !&can_access($in{'file'})) {
	print $text{'facl_eaccess'},"\n";
	}
else {
	pipe(ACLINr, ACLINw);
	pipe(ACLOUTr, ACLOUTw);
	$pid = fork();
	if (!$pid) {
		untie(*STDIN);
		untie(*STDOUT);
		untie(*STDERR);
		open(STDIN, "<&ACLINr");
		open(STDOUT, ">&ACLOUTw");
		open(STDERR, ">&ACLOUTw");
		close(ACLINw);
		close(ACLOUTr);
		exec("$config{'setfacl'} '$in{'file'}'");
		print "Exec failed : $!\n";
		exit(1);
		}
	close(ACLINr);
	close(ACLOUTw);
	print ACLINw $in{'acl'},"\n";
	close(ACLINw);
	waitpid($pid, 0);
	$rv = <ACLOUTr>;
	close(ACLOUTr);
	if ($rv) {
		print $rv;
		}
	else {
		print "\n";
		}
	}