[英]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.