Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- html5
- UML
- C#
- dovecot
- Android
- WebView
- 폼메일
- php 취약점
- Mail Server
- 자동 생성
- soundpool
- xe
- curl
- 안드로이드 푸시
- roundcube
- 설치
- chart.js
- 자바스크립트
- FCM
- 안드로이드
- 안드로이드 푸쉬
- PHP
- php 시큐어코딩
- javascript
- android 효과음
- not working
- mysql
- 우분투
- C# IO
- 안드로이드 gcm
Archives
- Today
- Total
그러냐
[CentOS7] Apache 퍼미션 (You don't have permission to access) 해결하기 본문
반응형
아오 개고생했네!!!!!!!!!!!!!!!!!!!!!!!!!
ls -alZ ..................
출처 : https://m.blog.naver.com/phongdaegi/221988174349
퍼미션 문제로 접속 불가시
You don't have permission to access
1. 권한 수정하기
# "-R" 붙이면 하위 디렉토리까지 전부 변경 # "777" 다른 사용자도 변경을 허용 # 권한 수정의 경우 테스트로 "777"를 해본 후 원인이 맞다면 적당한 권한으로 수정하길 권장 chmod -R 777 /home/username OR chmod -R 777 /var/www/html
2. 소유자 변경하기
# "-R" 붙이면 하위 디렉토리까지 전부 변경 chown -R root:root /home/username OR chown -R root:root /var/www/html
3. httpd.conf
vi /etc/httpd/conf/httpd.conf # 아래 부분을 찾은 후 <Directory /> AllowOverride none Require all denied </Directory> ----- # 아래와 같이 변경 <Directory /> AllowOverride none #Require all denied Require all granted </Directory>
버젼
|
권한
|
설명
|
Apache 2.2
|
Order allow,deny
Allow from all
|
모든 요청 허가
|
Apache 2.4
|
Require all granted
|
|
Apache 2.2
|
Order deny,allow
Deny from all
|
모든 요청 거부
|
Apache 2.4
|
Require all denied
|
SELinux란?
# 운영체제에서 "접근 통제(Access Control)"은 디렉터리나 파일, 네트워크 소켓 같은 시스템 자원을 적절한 권한을 가진 사용자나 그룹이 접근하고 사용할 수 있게 통제하는 것을 의미합니다. # "SELinux" 는 기존 접근 통제 규칙보다 먼저 동작하므로 SELinux의 보안 정책에 맞지 않을 경우 차단해 버리게 됩니다. # 이런 사실을 모를 경우 분명 파일의 소유자가 맞는데 "Permission Denied"가 나거나 파일이 존재하는데 "File not Found" 등의 에러가 나는 원인을 찾지 못하고 SELinux 를 끄게 되고 정상 동작하는 것을 확인하고 SELinux 를 쓰면 안 된다는 생각을 갖게 됩니다. - lesstif
1. SELinux 모드 확인
# 아래 명령어 입력 후 설정 확인 sestatus

sestatus
2. SELinux의 security context 수정
SELinux 활성화 되어있을때
# 조회시 아래 이미지 처럼 "httpd_user_content" 나온다면, 수정이 필요 ls -alZ /home/centos/public_html/

httpd_user_content
# 아래 명령어 실행 후 이미지 처럼 "httpd_sys_content" 나온다면, 성공 chcon -Rv --type=httpd_sys_content_t /home/centos/public_html # 다시 재조회 ls -alZ /home/centos/public_html/

httpd_sys_content
3. SELinux 퍼미시브 모드 전환
상태
|
설명
|
enforcing
|
강제
|
permissive
|
허용
|
disabled
|
비활성화
|
# 개발 서버일 경우 서비스에 문제가 있을 경우 "setenforce 0" 으로 "Permissive mode" 로 전환하여 문제 해결후 "Enforce mode"로 전환하는걸 추천 합니다. # 아래처럼 "0"을 입력하면 Permissive mode setenforce 0 # 아래처럼 "1"을 입력하면 Enforce mode setenforce 1
4. SELinux 비활성화
# 인터넷에 연결된 리눅스 서버라면 SELinux 해제는 결코 추천하지 않습니다. 해제할 경우 다시 활성화 시키려면 재부팅이 필요하며 재부팅시 모든 자원에 대해 보안 레이블을 설정해야 하므로 부팅 시간이 매우 오래 걸릴 수 있다. # SELinux 를 해제후 다시 켤 경우 relabel 이 필요하며 이때 잘못된 설정이 있을 경우 부팅이 안 되거나 ssh 로 원격 접속이 불가능할 수 있으므로 enforcing 모드가 아닌 permissive 로 설정후 재부팅하는 것을 권장 합니다. # 이동 후 아래와 같이 변경 후 재부팅 vi /etc/sysconfig/selinux SELINUX=enforcing => SELINUX=disabled
참고 링크
반응형
'Linux' 카테고리의 다른 글
CentOS 7 부팅시 자동시작 스크립트 적용 (0) | 2021.12.08 |
---|---|
php mysql 접속 안됨 ssh 에서는 접속됨 (0) | 2021.12.08 |
아파치(Httpd) (13)permission denied 오류 처리방법 (0) | 2021.12.06 |
CentOS7 포트(port) 열기(open) 방법 (0) | 2021.12.06 |
Starting /etc/rc.d/rc.local Compatibility... 시작 안됨 (0) | 2021.12.06 |