【发布时间】:2014-09-10 06:02:52
【问题描述】:
我正在使用 perl cgi 脚本通过 Apache 在 Linux 上上传文件。该文件的所有者:组按预期设置为 apache:apache。我希望 user1 可以访问该文件,但不能访问其他文件。 apache用户是user1默认组的成员,可见如下:
[user1@files ~]$ grep user1 /etc/group
user1:x:513:apache
作为 apache 运行的 perl 脚本以下列行结束:
system("ls -l $file")
my $uid = getpwnam( 'apache' );
my $gid = getgrnam( 'user1' );
print "<br />attempting: chown $uid, $gid, $file<br />";
chown $uid, $gid, $file or die "$!";
下面的输出显示尝试更改组失败:
-rw-r----- 1 apache apache 197927 Jul 19 02:10 /var/www/uploads/testfile.txt
attempting: chown 48, 513, /var/www/uploads/testfile.txt
Software error:
Operation not permitted at /var/www/cgi-bin/upload.pl line 67.
知道为什么 apache 用户不能更改文件的组吗?
【问题讨论】: