나는 튜토리얼을 따라왔다.https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-centos-7(모든 필수 튜토리얼과 함께) 새 CentOS7 서버에 wordpress를 설정합니다. 지금까지 모든 것이 잘 작동하고 있습니다.
sudo chown -R apache:apache /var/www/html/*
위 명령이 Apache 사용자 및 그룹에 소유권을 할당한다는 것을 이해합니다. 하지만 일반적으로 내 myuser
계정을 사용하여 Putty와 Filezilla를 통해 연결하고 해당 계정에 대한 권한을 활성화하고 싶습니다.
따라서 위 명령 외에도 그룹 myuser
에 추가 apache
하고 로그아웃했다가 다시 로그인했지만 html 폴더에서 CRUD 작업을 수행하려고 하면 여전히 권한 거부 오류 메시지가 나타납니다. 그러나 작동하는 명령을 높이면 계정이 파일 작업을 수행하도록 sudo
허용하는 방법에 대해 약간 당황하게 됩니다 . myuser
어떤 아이디어가 있나요?
답변1
소유권, 권한 및 selinux 컨텍스트를 모두 확인하고 싶을 것입니다.
소유권 - 당신이 옳은 것 같습니다. CentOS7의 소유자:그룹은 apache:apache여야 합니다. 사용자의 경우 Apache를 보조 그룹으로 추가해야 합니다. 를 사용하여 이를 확인할 수 있습니다 id myuser
. 아파치가 그룹 목록에 표시되지 않으면 을 실행하십시오 usermod -a -G apache myuser
.
권한 - rwxrwxrwx로 나열됩니다. rwx의 중간 세트는 그룹을 통해 액세스를 제어하므로 중요한 부분입니다(myuser에게도 중요합니다). 아마도 읽기/쓰기 권한만 필요할 것이므로 chmod -R 664 directoryname
충분할 것입니다(아파치 사용자 및 그룹의 경우 읽기/쓰기, 다른 모든 사람의 경우 읽기 전용). 으로 권한을 확인할 수 있습니다 ls -l
.
참고: WordPress에는 일반적으로 숨겨진 '.htaccess' 파일이 포함되어 있으므로 해당 파일에 chmod를 수동으로 적용해야 하며, 재귀적 chmod / chown은 해당 파일을 건너뛰므로 다른 숨겨진 파일을 수동으로 적용해야 합니다.
SELinux 컨텍스트 - 로 확인할 수 있습니다 ls -Z
. SELinux 시행을 끄려면 다음을 실행할 수 있습니다 setenforce 0
. 이는 SELinux가 원인인지 여부를 디버깅하는 데 유용하지만 setenforce 1
. SELinux가 문제인 경우 해야 할 일은 다음과 같은 내용으로 파일의 컨텍스트를 변경하는 것입니다.chcon -R -t httpd_sys_rw_content_t directoryname
참고: 재귀 chcon은 숨겨진 파일('.'로 시작하는 모든 파일)도 건너뜁니다.
참고 사항: 심볼릭 링크를 사용하는 경우 연결된 디렉터리와 실제 심볼릭 링크 자체에 적절한 소유권/권한이 있는지 확인해야 합니다. chmod / chown을 사용하여 심볼릭 링크를 대상으로 지정하려면 -h
플래그를 사용하고 디렉터리를 대상으로 하는 경우 후행 슬래시가 없는지 확인하세요(예: /var/www/html/linked_dir
그렇지 않음 /var/www/html/linked_dir/
- 탭 완성을 사용하면 후행 슬래시가 자동으로 추가되므로 주의하세요).