赋予复制到目录的文件与目录相同的权限

赋予复制到目录的文件与目录相同的权限

我在 CentOS 6.6 上使用 LAMP Apache 版本 2.2.15。

我创建了一个目录 /var/www/dropbox,其权限为 rwxrwsr-x。我已将组 www-OtagoHarbour 设为所有者,其中 www-OtagoHarbour 是使用以下方式创建的

sudo groupadd www-OtagoHarbour
sudo usermod -G www-OtagoHarbour apache
sudo usermod -G www-OtagoHarbour OtagoHarbour

我已使用以下方式授予 apache 该目录的所有权

sudo chown apache /var/www/dropbox

并使用组访问

sudo chgrp -R www-OtagoHarbour /var/www/dropbox
sudo chgrp -R www-OtagoHarbour /var/www
sudo chmod -R g+r /var/www/dropbox
sudo chmod -R g+r /var/www

我使用以下 html 调用将文件上传到该文件夹​​。

<form action="http://whatever.com/uploadFiles.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file[]" multiple="multiple"/></br>
    <input type="submit" name="submit[]" value="submit" />
<input type="hidden" id="LoggedIn" name="LoggedIn" value="<?php echo $_SESSION['LoggedIn'] ?>">
<input type="hidden" id="setName" name="setName" value="<?php echo $setName ?>">
<input type="hidden" id="UserName" name="UserName" value="<?php echo $_SESSION['UserName'] ?>">
</form>

uploadFiles.php 将上传的文件复制到 /var/www/dropbox。不幸的是,上传文件的权限是 -rw-r--r-- ,而我希望它们是 -rw-rw-r--。我试过了

sudo find /var/www/dropbox -type d -exec chmod 2775 {} \;

并重新启动计算机,但上传的文件仍然具有权限 -rw-r--r--。我知道我可以使用

sudo chmod g+w fileName

但我希望这能自动完成,因为我有处理文件并将其发送到其他地方的代码。

答案1

我发现我可以将文件夹中创建的新文件的默认权限设置为 -rw-rw----。使用

setfacl -dm u::rw,g::rw,o::--- /var/www/dropbox

然后我使用 /var/www/dropbox 创建一个“占位符”文件

echo "junk" >/var/www/dropbox/file.name

如果我将文件 file.name 复制到 /var/www/dropbox,它会假定它正在覆盖的文件的权限。

相关内容