我是一名开发人员。几天前我开始在 Ubuntu 上使用 Laravel。当我使用终端创建新目录时,它上面会出现一个挂锁。即使以 root 身份登录,我也必须授予它权限chmod
。
如何为所有类型的用户创建具有所有权限的目录?
答案1
在 Ubuntu 上使用时,laravel
您需要按照以下方式进行设置,以确保您不会使用或不需要对创建的文件进行 root 访问权限。
- 创建项目的位置应该在
/var/www/html
文件夹中,但可以是任何地方。 - 安装作曲家并进行全局设置,以便您可以使用
laravel
它进行全局安装。 /var/www/html
需要设置权限,以便您不需要root
权限来操作那里的文件,就像您的情况一样。
安装 Composer:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
检查安装:
composer -V
使用 Composer 安装 laravel:
composer global require "laravel/installer=~1.1"
检查安装:
laravel -V
为 laravel 设置文件夹权限:
临时设置在
/var/www/html
:将自己添加到群组
www-data
:sudo usermod -a -G www-data $USER
更改 laravel 文件夹的所有权:
sudo chgrp -R www-data /var/www/html/project
提示:设置 laravel 存储:
sudo chmod -R 775 /var/www/html/project/storage
永久解决方案:
将 中的文件夹所有权设为默认
/var/www/html
$USER:www-data
,因此任何新创建的文件都将具有您的用户和组 www-data 的权限sudo setfacl -d -R -m u:$USER:rwx,g:www-data:rwx,o:rx /var/www/html
现在只需将任何用户添加到www-data
组内,让他们可以rwx
访问其中创建的任何 laravel 项目/var/www/html
。需要重新启动。
用法:
laravel new /var/www/html/new-project
答案2
mkdir -m a=rwx myDir
或者
mkdir --mode=a=rwx myDir
运行mkdir --help
以获取更多信息。