www-data가 폴더를 소유하고 있어도 파일을 생성할 수 없습니다.

www-data가 폴더를 소유하고 있어도 파일을 생성할 수 없습니다.

Debian 9.3 기반 Docker 컨테이너에서 실행되는 웹 서버를 설정하고 tmp 폴더를 구성하려고 하는데 해당 폴더에 www-data 파일을 생성할 수 없습니다.

tmp와 모든 하위 디렉터리는 www-data:www-data의 소유이며 모든 것을 777로 설정하려고 시도했지만 소용이 없었습니다. 파일이 생성되지 않는지 확인하기 위해 www-data로 로그인했습니다. SELinux가 설치되어 있지 않습니다. 파일이 이미 존재하는 경우 www-data에 쓰는 데 문제가 없습니다.

www-data@8c22a401af40:/srv/www/is/app/tmp/cache/persistent$ ls -lah
total 16K
drwxrwxrwx  2 www-data www-data 4.0K Jan 31 21:37 .
drwxrwxrwx 20 www-data www-data 4.0K Jan 31 21:37 ..
-rwxrwxrwx  1 www-data www-data 2.8K Jan 31 19:08 myapp_cake_core_file_map
-rw-r--r--  1 www-data www-data    7 Jan 31 21:38 test


www-data@8c22a401af40:/srv/www/is/app/tmp/cache/persistent$ touch test2
touch: cannot touch 'test2': Permission denied

편집: 언급하는 것을 잊었지만 777도 설정하고 모든 상위 폴더의 소유권을 www-data로 변경했습니다.

편집 2: 출력 root@8c22a401af40:/# getfacl -R /srv/www/:

# file: srv/www//is/app/tmp
# owner: www-data
# group: www-data
user::rwx
group::rwx
other::rwx

출력은 모든 1271개 파일에 대해 동일합니다.

또한 이 출력을 가져오면서 이 문제를 집에서 재현할 수 없다는 것을 깨달았습니다. 확실히, 나는 직장에서 내 컴퓨터에 SSH를 연결하고 컨테이너를 처음부터 다시 만든 다음 다시 시도하여 동일한 결과를 얻었습니다. 컴퓨터는 Debian 9를 실행하고 있고 내 노트북은 Mac OS 10.12를 실행하고 있습니다.

편집 3: 데비안 9를 실행하는 다른 컴퓨터에서 시도해 보았으나 다시 재현할 수 없었습니다. 이제 문제는 내 Docker 이미지가 아닌 호스트 시스템에 있는 것으로 의심됩니다.

관련 정보