我在本地计算机上安装了 ubuntu,使用 apache/php/mysql。
我现在在 /var/www 有一个目录——里面有我的几个正在进行的项目。我还使用开源(drupal、magento、sugarcrm)。
我面临的问题是使用终端更改文件权限。有时我需要更改整个文件夹及其后续子文件夹和文件的权限。我必须单独更改使用
sudo chmod 777 foldername
Run Code Online (Sandbox Code Playgroud)
我怎样才能递归地做到这一点。
另外为什么我必须总是这样做777,我尝试了755文件夹和644文件,但这不起作用。
Lek*_*eyn 114
只需添加-R递归更改文件权限的选项即可。一个例子,递归地为所有者和组添加读写权限foldername:
chmod -R ug+rw foldername
Run Code Online (Sandbox Code Playgroud)
权限将类似于 664 或 775。
强烈建议不要将权限设置为 777 。您会在 Apache 或您的编辑器中收到有关权限的错误,因为 apache 在www-data与您不同的用户 ( )下运行。
如果您想写入/var/www,请将您自己添加到该www-data组并相应地设置 umask+permissions。
www-data组中:sudo adduser $USER www-data/var/www:sudo chown -R www-data:www-data /var/wwwumask 007到/etc/apache2/envvars.www-data)写入权限:sudo chmod -R g+w /var/www.use*_*own 30
蛮力:
sudo find foldername -exec chmod a+rwx {} ";"
Run Code Online (Sandbox Code Playgroud)
什么不起作用?更加详细一些!
sudo find foldername -type d -exec chmod 755 {} ";"
sudo find foldername -type f -exec chmod 644 {} ";"
Run Code Online (Sandbox Code Playgroud)