在以下 shell 脚本中:
default_conf_file_path="/etc/apache2/sites-available/";
default_conf_file=$default_conf_file_path"000-default.conf";
DocumentRoot=$(grep "DocumentRoot" $default_conf_file);
DocumentRoot=${DocumentRoot#*/};
DocumentRoot=/$DocumentRoot;
usermod -a -G www-data $(whoami); #modify existing user account by associating it with www-data group
chown -R www-data:www-data $DocumentRoot; #change the owner of /var/www/html to www-data and the group identifier to www-data
find $DocumentRoot -type d -exec sudo chmod 2775 {} \;
find $DocumentRoot -type f -exec sudo chmod 0664 {} \;
我试图授予所有目录的权限为 ,授予所有2775
文件的权限为0664
。但获得的权限集对于文件和目录是相同的:
但是,files
稍后动态生成的具有正确的权限rw-r--r--
为什么?所有文件的权限集都必须是rw-r--r--
ls -la
我正在操作的目录的输出:
drwxr-xr-x 5 www-data www-data 4096 Mar 22 08:18 .
drwxr-xr-x 3 root root 4096 Mar 22 08:16 ..
drwxrwxrwx 7 www-data www-data 4096 Mar 21 11:02 Common
-rw-r--r-- 1 www-data www-data 11510 Mar 22 08:16 default_apache2.html
-rwxrwxrwx 1 www-data www-data 48 Mar 22 08:11 index.php
drwxrwxrwx 17 www-data www-data 4096 Mar 22 08:18 PC
-rwxrwxrwx 1 www-data www-data 1226 Mar 21 11:02 p.php
drwxrwxrwx 2 www-data www-data 4096 Mar 21 11:02 temp
内容/etc/apache2/sites-available/000-default.conf
(删除了注释行):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<Directory /var/www/html>
Options All
AllowOverride All
</Directory>