只是为了表明查看此讨论的任何人的明显点。…如果您授予任何文件夹777权限,则允许任何人读取,写入和执行该目录中的任何文件....这意味着您已经得到了任何人(全世界的任何黑客或恶意人士)都有权上传任何文件,病毒或任何其他文件,然后执行该文件…
如果您将文件夹权限设置为777,那么您已经向任何可以找到该目录的人打开了服务器。足够清楚了吗???:)
基本上有两种方法来设置您的所有权和权限。您要么赋予自己所有权,要么使Web服务器成为所有文件的所有者。
Web服务器作为所有者(大多数人的操作方式以及Laravel文档的方式):
假设www-data(可能是其他数据)是您的网络服务器用户。
须藤chown -R www-data:www-data / path / to / your / laravel / root / directory
如果这样做,则网络服务器将拥有所有文件,也属于该组,并且通过FTP上传文件或使用文件会遇到一些问题,因为FTP客户端将以您而不是网络服务器的身份登录。您的用户到Web服务器用户组:
sudo usermod -a -G www-data ubuntu
当然,这假设您的网络服务器以www-data(Homestead的默认值)运行,并且您的用户是ubuntu(如果您使用Homestead则无所适从)。
然后将所有目录设置为755,将文件设置为644 … SET文件权限
sudo查找/ path / to / your / laravel / root / directory -type f -exec chmod 644 {} ;SET目录权限
sudo查找/ path / to / your / laravel / root / directory -type d -exec chmod 755 {} ;您的用户作为所有者
我更喜欢拥有所有目录和文件(这使得处理所有内容变得更加容易),所以我这样做:
sudo chown -R我的用户:www-data / path / to / your / laravel / root / directory
然后,我同时给自己和Web服务器权限:
sudo查找/ path / to / your / laravel / root / directory -type f -exec chmod 664 {} ; sudo查找/ path / to / your / laravel / root / directory -type d -exec chmod 775 {} ;然后授予Web服务器读取和写入存储和缓存的权限
无论采用哪种方式进行设置,都需要向Web服务器授予读写权限,以存储,缓存以及Web服务器也需要上传或写入的任何其他目录(具体取决于您的情况),因此请从上面的bashy运行命令:
sudo chgrp -R www数据存储引导程序/缓存sudo chmod -R ug + rwx存储引导程序/缓存
现在,您很安全,您的网站可以正常运行,并且可以轻松地处理文件



