在 Ubuntu 桌面本地 Web 服务器上设置 /var/www 的写入权限

在 Ubuntu 桌面本地 Web 服务器上设置 /var/www 的写入权限

我已经苦苦挣扎了三天了,不知道我做错了什么……

编辑 3:我认为我的问题比我想象的更具体,因此我在这里创建了一个新主题:https://askubuntu.com/questions/631303/make-owner-of-newly-create-files-and-folders-www-data-instead-of-superuser-admin

这是我的设置:

  • 一台安装了 Ubuntu Desktop 和 LAMP 的计算机。请注意,我没有静态 IP,它的唯一目的是能够与我的团队在本地创建协作网站,因为菲律宾的连接速度非常慢。所以(如果我没记错的话)如果这能解决问题,我不介意将所有 IP 都设置为 777,但我想学习正确的方法以供将来参考。

  • 我创建了 5 个“用户”,全部在 www-data 组(以及一个新的 www-pub 组,因为我正在尝试寻找新方法......我检查了两者),他们使用 Samba Share 连接到 /www/var 文件夹。

到目前为止我已经尝试了所有方法,但均未成功:

  • chmod 和 chown 与 find 命令一起使用 -R 进行递归。
  • 将 umask 更改为 0002

但是,除非我再次运行在各个线程上找到的 chmod/chown 命令行,否则我的所有新目录和文件仍然不可写入。

我是 ubuntu 和服务器/命令行方面的纯粹新手,但学得很快。

问题:

  • 我可以使用一个简单的 chmod 777 规则 (以及具体如何做) 吗,因为它用于生产但无法访问世界?

  • 执行此操作的逐步过程是什么?

  • 可以简单地说是其他东西吗?Apache 配置?是否应该一直引用它?

我搞不清楚了 !

提前致谢

编辑:认为这可能会有帮助:

ls -l /var/www
    total 4
    drwxrwsr-x 8 www-data www-data 4096 Jun  2 17:56 html
    -rw-rw-r-- 1 www-data www-data    0 May 27 01:40 Untitled Document~

ls -l /var
    total 52
    drwxr-xr-x  2 root     root     4096 Jun  2 10:29 backups
    drwxr-xr-x 21 root     root     4096 May 28 12:49 cache
    drwxrwsrwt  2 root     whoopsie 4096 May 28 11:56 crash
    drwxr-xr-x 71 root     root     4096 May 27 11:23 lib
    drwxrwsr-x  2 root     staff    4096 Apr 18 05:34 local
    lrwxrwxrwx  1 root     root        9 May 11 23:05 lock -> /run/lock
    drwxrwxr-x 16 root     syslog   4096 Jun  2 17:53 log
    drwxrwsr-x  2 root     mail     4096 Apr 22 20:13 mail
    drwxrwsrwt  2 root     whoopsie 4096 Apr 22 20:19 metrics
    drwxr-xr-x  2 root     root     4096 Apr 22 20:13 opt
    lrwxrwxrwx  1 root     root        4 May 11 23:05 run -> /run
    drwxr-xr-x  9 root     root     4096 May 26 18:46 spool
    drwxrwxrwt 12 root     root     4096 Jun  2 17:59 tmp
    drwx------  2 root     bin      4096 Jun  2 10:21 webmin
    drwxrwsr-x  4 www-data www-data 4096 May 29 15:37 www 

编辑2:

当我在我的网站所在的文件夹(即 /var/www/html)上运行 ls -l 时,我看到了一些奇怪的事情,可能会给出更多提示?今天创建的新网站不属于 www-data,而属于服务器的主管理员(“boris”)

ls -l /var/www/html
drwxrwsr-x 2 boris    www-data  4096 May 29 15:38 Agama
drwxrwsr-x 6 www-data www-data  4096 May 27 18:21 calima
drwxrwsr-x 6 www-data www-data  4096 May 27 23:19 calima2
drwxrwsr-x 6 boris    www-data  4096 Jun  2 17:21 cheche
drwxrwsr-x 9 boris    www-data  4096 Jun  2 18:17 Cheche1
-rw-rw-r-- 1 www-data www-data 11321 May 26 18:19 index.html
-rw-rw-r-- 1 www-data www-data    20 May 27 01:41 index.php
drwxr-sr-x 2 boris    www-data  4096 Jun  2 17:56 Test

答案1

我将使用指向另一个目录的符号链接:

ln -s <target> <link>

编辑:更准确地说:你可以做这样的事情:

ln -s /var/www /path/to/link

这样做可以保护系统,因为您的根目录仍然只是只读的(作为用户)。在您的主路径中的某个位置有一个符号链接目录是修改您的项目的更安全的方法。不过我不会将它用于生产系统。

相关内容