到目前为止,我一直在争取权限,并发布了另一个问题,但确定了问题所在,但尚未解决任何问题。
我的设置:
- 带有LAMP堆栈的Ubuntu桌面
- 5个“用户”我创建的用户是我在ubuntu服务器上使用
sudo useradd -r -s /bin/false USERNAME
和创建的,这些用户用于访问本地网络共享文件夹,即,用于网络上的计算机连接到使用Samba共享的/ var / www文件夹。 - 编辑:目的是创建一种“主本地主机”,本地网络中的所有计算机都可以在本地同一网站上工作(我没有静态IP地址,因此无法从其他位置访问服务器) 。
我的问题:
目前,当我/var/www/html
使用网络上的任何计算机在(例如:创建文件夹/ var / www / html / testsite1)上创建新文件夹时,此文件夹自动归boris:www-data
ubuntu桌面安装程序中的主要管理员用户(“ boris”所拥有),并且ls -l
在新创建的文件夹上运行时确实显示boris:www-data ),这导致我当前的设置出现问题(主要是LifeInTheGrid使用Duplicator Plugin用于wordpress)。但是,我/var/www
和我/var/www/html
都属于www-data:www-data
因此,我想知道如何:
将/ var / www和/ var / www / html下所有文件和目录的所有权更改为www-data:www-data
确保我将与网络中的任何用户创建的任何文件或文件夹都将自动归www-data:www-data拥有(其中包括由php脚本自动创建的文件,因为如果我是没有错)。
有没有办法做到这一点?
注意:我是一名超级新手,具有与Linux和命令行相关的功能,但是我很快就赶上了。
注2:umask已设置为0002
编辑:
试过这个:
sudo chown -R www-data:www-data /var/www/
然后通过执行以下操作来设置setuid和setgid位:
sudo chmod u+s /var/www/html
sudo chmod g+s /var/www/html
然后注销,重新启动apache,并尝试使用通过网络IP(本地IP,不是静态)连接到我的服务器的Mac创建新文件夹。
我跑
ls -l on /var/www/html
输出仍然是:
drwxr-sr-x 2 boris www-data testsite1
注意:
我之前已经检查过我的apache配置和envvars,它已经设置为:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
编辑:我向后尝试,例如,将所有内容设置为boris:www-data拥有,并将我的envvars apache配置设置为boris:www-data。有效!
这是我所做的:
将envvars更改为
export APACHE_RUN_USER=boris
export APACHE_RUN_GROUP=www-data
然
sudo chown -R boris:www-data /var/www/
重新启动Apachem,创建一个新文件夹,添加我的文件,运行该插件,现在说很好!