我是开发人员。几天前,我开始在 Ubuntu 上使用 Laravel。当我使用终端创建一个新目录时,它会出现一个挂锁。即使以 root 身份登录,我也必须使用chmod.
如何为所有类型的用户创建具有所有权限的目录?
Geo*_*sen 15
laravel在 Ubuntu 上使用时,您希望通过以下方式进行设置,以确保您不使用或不需要对创建的文件进行 root 访问。
/var/www/html文件夹中,但可以在任何地方。laravel使用它进行全局安装。/var/www/html需要设置权限,这样您就不需要root特权来操作那里的文件,就像您的情况一样。curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Run Code Online (Sandbox Code Playgroud)
检查安装:
composer -V
Run Code Online (Sandbox Code Playgroud)
composer global require "laravel/installer=~1.1"
Run Code Online (Sandbox Code Playgroud)
检查安装:
laravel -V
Run Code Online (Sandbox Code Playgroud)
临时设置/var/www/html:
将自己添加到组www-data:
sudo usermod -a -G www-data $USER
Run Code Online (Sandbox Code Playgroud)更改 Laravel 文件夹的所有权:
sudo chgrp -R www-data /var/www/html/project
Run Code Online (Sandbox Code Playgroud)提示:设置 Laravel 存储:
sudo chmod -R 775 /var/www/html/project/storage
Run Code Online (Sandbox Code Playgroud)永久解决方案:
在 中设置文件夹的默认所有权/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
Run Code Online (Sandbox Code Playgroud)现在只需将任何用户添加到www-data组中即可让他们rwx访问/var/www/html. 将需要重新启动。
laravel new /var/www/html/new-project
Run Code Online (Sandbox Code Playgroud)
小智 1
mkdir -m a=rwx myDir
Run Code Online (Sandbox Code Playgroud)
或者
mkdir --mode=a=rwx myDir
Run Code Online (Sandbox Code Playgroud)
运行mkdir --help以获取更多信息。