내 웹 서버의 데이터를 보호하기 위해 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를 확인해 볼 수도 있습니다.허가가 거부되었습니다정보. 하지만 이유를 정확히 알지 않는 한 그것은 모두 흑마술입니다.허가가 거부되었습니다.