关于PHP执行用户和docker路径挂载的问题
关于PHP执行用户的问题
对于通过SFTP上传文件搭建的网站,有时会遇到权限问题。要么权限没给够,提示没有权限。一般遇到这种直接给全部权限,也就是‘777’权限可以解决。但对于安全设置严格的web程序这么操作会提示文件夹或文件可以被其他用户读取不安全,这就需要改文件夹或文件的所属用户了。
然而并不知道,用户是谁。下面是我在解决该问题时学习的一些方法。不过到目前位置还是没有理解透彻。
我在搭建nextcloud的时候就遇到了上面提到的问题,参考官方镜像搭建成功的web程序,发现很多文件夹所属用户是‘33’,但是主机系统中并没有这个用户。
php配置文件中的用户组如下,如果不存在,会使用默认用户执行。
user = www-data
group = www-data
www-data
获取nginx和php用户和组
[root@iZ8vbajg9wo8iwynfb1lgeZ data]# ps axu|grep nginx
root 1322844 0.0 0.3 37772 6232 ? Ss 15:12 0:00 nginx: master process nginx -g daemon off;
101 1322890 0.0 0.3 38364 6740 ? S 15:12 0:00 nginx: worker process
root 1331548 0.0 0.0 12108 1052 pts/0 S+ 15:36 0:00 grep --color=auto nginx
[root@iZ8vbajg9wo8iwynfb1lgeZ data]# ps axu|grep php
root 1322682 0.0 1.4 216796 26416 ? Ss 15:12 0:00 php-fpm: master process (/usr/local/etc/php-fpm.conf)
admin 1323298 0.1 2.3 223656 44364 ? S 15:13 0:01 php-fpm: pool www
admin 1323731 0.1 2.3 223592 43104 ? S 15:14 0:01 php-fpm: pool www
admin 1324200 0.1 2.2 223484 42808 ? S 15:15 0:01 php-fpm: pool www
root 1331742 0.0 0.0 12108 1076 pts/0 S+ 15:36 0:00 grep --color=auto php
**
docker路径挂载问题
build成功之后的部分日志
117668470 0 drwxr-xr-x 2 root root 24 Sep 21 14:37 /tmp/pear/temp/pear-build-defaultuser6thOCT/install-mongodb-1.11.1/usr/local/lib/php/extensions/no-debug-non-zts-20210902
117668471 8396 -rwxr-xr-x 1 root root 8595192 Sep 21 14:37 /tmp/pear/temp/pear-build-defaultuser6thOCT/install-mongodb-1.11.1/usr/local/lib/php/extensions/no-debug-non-zts-20210902/mongodb.so
Build process completed successfully
Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20210902/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.11.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongodb.so" to php.ini
Removing intermediate container 237ce43c5051
---<!--autointro-->