
내 웹서버의 데이터를 보호하기 위해 PHP 포함을 /var/www-includes(서버 루트인 /var/www 외부)라는 폴더로 옮겼습니다. 나는 또한 그 폴더에서 실행 chown root:wwwadmin
했습니다 chmod 770
. ls -ld
폴더에서 실행하면 설정이 확인됩니다. drwxrwx--- ... root wwwadmin ... www-includes
wwwadmin의 구성원인 기본 사용자(adam)에서 폴더로 CD를 이동할 수 있지만 그래픽 파일 브라우저에서는 해당 내용을 볼 수 없습니다. 왜 그런지 아시나요? 편집: 또한 nano에 포함된 파일을 편집하려고 하면 오류 메시지가 표시됩니다.
Error reading /home/adam/.nano_history: Permission denied
그런 다음 파일의 내용을 엽니다. 이것이 현재 일어나고 있는 일과 전혀 관련이 있나요?
답변1
당연한 질문일지도 모르지만... 디렉토리 내부 파일의 권한도 변경했습니까? 즉, chown/chmod 명령을 실행할 때 "-r"(재귀) 플래그를 사용했습니까?
답변2
답변이 아닐 수도 있지만(게시물에 충분한 정보가 포함되어 있지 않기 때문에) 필요한 경우 수정할 수 있습니다. Linux 교육 과정을 진행하면서 권한 문제를 빠르게 찾는 방법을 개발했습니다. 귀하가 이미 일부 단계를 수행했다는 것을 알고 있지만 완전성을 위해 전체 내용을 기록해야 합니다.
- 액세스에 사용하려는 사용자로 전환합니다. 다른 일을 하기 전에 먼저 하십시오.
id
현재 UID 및 그룹을 확인하려면 명령을 사용하십시오 .id name-of-the-user
온디스크 구성을 확인하는 데 사용됩니다 . 로그아웃했다가 다시 로그인하여 다르면 다시 확인하세요.- 대상 디렉터리를 확인하려면 'ls -l'을 사용하세요. 권한 바로 뒤의 문자를 확인하는 것을 잊지 마세요. selinux 컨텍스트가 있음을 의미하는 점이 있거나 Linux ACL이 설정되었음을 의미하는 더하기 기호가 있을 수 있습니다.
- 디렉토리로 들어가려면 'cd'를 사용하십시오.
- 일반 파일에 필요한 작업을 수행합니다.
touch
쓰기 액세스를 확인하고cat
읽기 액세스를 확인하는 데 사용합니다 . - 애플리케이션 수준에서 모든 것이 예상대로 작동하는지 확인합니다(예: 브라우저를 사용하여 해당 작업을 수행해야 하는 URL에 액세스하거나 이전에 실패했던 즐겨 사용하는 편집 도구를 사용하는 등).
- 위의 검사 중 하나를 애플리케이션 수준에 추가합니다.
작업 중 하나라도 실패하고 이유를 알 수 없는 경우 로그에서 selinux 경고 또는 이와 유사한 내용을 확인하십시오. strace -o strace.log
명령줄 앞에 추가한 다음 strace.log를 확인해 볼 수도 있습니다 .허가가 거부되었습니다메시지. 하지만 정확한 이유를 알기 전까지는 모두 흑마술입니다.허가가 거부되었습니다.