웹사이트 제작 방법:
웹사이트 파일이 다른 컴퓨터에서 압축 폴더로 복사되었습니다.
WEBSITE.tar.gz
압축을 풀고 콘텐츠를 /var/html/www
새 웹서버로 옮겼으며 그 결과 파일 위치는 다음과 같습니다.
/var/html/www/index.html
/var/html/www/css/styles.css
/var/html/www/img/photo.jpeg
파일 및 디렉터리에 대한 권한으로 인해 이전 컴퓨터와 차이가 발생했기 때문에 권한을 신속하게 수정할 수 있는 이 솔루션을 조사하고 찾았습니다.
sudo chmod -R u+rwX,go+rX,go-w /var/www/html/*
파일에 대한 권한을 확인한 결과 이제 예상한 대로 표시됩니다.
cd /var/www/html
ls -a -l
drwxr-xr-x. 2 root root size month day hour css
drwxr-xr-x. 2 root root size month day hour img
-rw-r--r--. 1 root root size month day hour index.html
cd /var/www/html/img
ls -a -l
-rw-r--r--. 1 root root size month day hour photo.jpeg
cd /var/www/html/css
ls -a -l
-rw-r--r--. 1 root root size month day hour styles.css
질문:
사이트의 페이지에 액세스하려고 하면 여전히 다음 메시지가 나타납니다.
액세스 금지 이 서버의 /index.html에 액세스할 수 있는 권한이 없습니다.
그런 다음 실험을 했습니다.
sudo mv index.html index.html.backup
sudo cp index.html.backup index.html
이제 페이지가 제대로 로드되지만 이미지와 스타일이 표시되지 않습니다. 따라서 복사 프로세스를 완료하면 웹사이트에 표시하고 싶은 이미지와 스타일을 얻게 됩니다.
sudo mv css css.backup
sudo cp css.backup css
sudo mv img img.backup
sudo cp img.backup img
작동하지만 설명은 무엇입니까? 나는 이것을 이해하고 싶지 않고 파일을 복사하는 것 외에 문제를 해결하는 "일반적인" 방법이 무엇인지 알고 싶습니다.
답변1
Linux에 GNU-coreutils를 포함하려면 ls
,모드 비트 끝에 있는 점은 SELinux "컨텍스트"가 적용됨을 나타냅니다.-- 세부 정보를 보려면 ls [-l] -Z
(또는 )를 사용하세요. -- 그리고 (최근) RedHat/CentOS에서는 SELinux가 기본적으로 파일을 포함한 다양한 리소스에 대한 액세스를 제한하도록 허용합니다.--context
SELinux 기능을 사용하여 액세스를 제어하려는 경우가 아니면 가장 쉬운 방법은 [sudo] restorecon [-R]
파일에서 이를 무시하는 것입니다. man restorecon
SELinux를 비활성화하는 방법을 참조하세요.man setenforce