簡體   English   中英

Perl腳本無法更改Linux上用apache上傳的文件的組

[英]perl script fails to change group for file uploaded with apache on linux

我正在使用perl cgi腳本使用Apache在Linux上上傳文件。 該文件已將owner:group設置為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用戶不能更改文件組嗎?

請檢查上載文件夾的權限,該文件夾可能既不具有apache所有權也不具有apache的訪問權限。

chmod 755 /var/www/uploads

然后執行腳本,它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM