본문 바로가기

이글루스

나는 노력한다.

검색페이지 이동

사이드 메뉴

이글루스 블로그 정보

selinux 사용법 관련

앱으로 보기

본문 폰트 사이즈 조절

이글루스 블로그 컨텐츠

http://blog.naver.com/syacu112/150072369638

Point : CentOS 설치후 selinux 관련을 사용하지 않음으로 설정하고 재부팅한 다음 설치를 시작했다.

[root@localhost ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted
[root@localhost ~]# reboot

만약 재부팅을 하지 않고 진행하려면 쉘상에서 setenforce 0을 입력하면 된다.


[root@localhost ~]# setenforce 0
[root@localhost ~]# setenforce
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
 
 
 
혹시라도 selinux를 적용해서 사용하고자 할때에는 웹서버 디렉토리 만든다음 selinux 문맥에 맞게 변경해 주어야 한다.

useradd 명령으로 test 사용자를 추가하면 /home/test 디렉토리가 생성된다.
하지만 selinux가 적용된 시스템에서는 /home/test 디렉토리의 보안문맥이 user_home_t 로 구성되는데, 디렉토리 권한이 755로 되어 있어도 기본 보안문맥으로는 웹(80포트)에서 접근이 불가능하다. 

그러므로 사용자 디렉토리에 대한 보안문맥을 chcon 명령어로 아래와 같이 변경해 주어야 한다.

# chcon -R -t httpd_sys_content_t /home/test

이렇게 보안문맥을 지정해 주면 /home/test 디렉토리 아래에 생성되는 모든 파일들은 이제부터 httpd_sys_content_t 문맥의 영향을 받아 모두 httpd_sys_content_t 보안문맥으로 생성된다.

이제 "mkdir /home/test/public_html" 명령으로 디렉토리를 생성하면 위의 httpd_sys_content_t 문맥을 가지는 디렉토리가 생성되고 웹 80포트에서 접속이 가능하게 되는 것이다.

[root@localhost ~]# useradd test
[root@localhost ~]# touch ~test/test.txt
[root@localhost ~]# ls -lZ ~test/
-rw-r--r--  root root user_u:object_r:user_home_t      test.txt
[root@localhost ~]# chcon -R -t httpd_sys_content_t /home/test
[root@localhost ~]#
ls -lZ ~test/
-rw-r--r--  root root user_u:object_r:httpd_sys_content_t test.txt
[root@localhost ~]#

===

[root@localhost ~]# su - test
[test@localhost ~]$ ls -lZ
-rw-r--r--  root root user_u:object_r:httpd_sys_content_t test.txt
[test@localhost ~]$ touch selinux.txt
[test@localhost ~]$ ls -lZ
-rw-rw-r--  test test user_u:object_r:httpd_sys_content_t selinux.txt
-rw-r--r--  root root user_u:object_r:httpd_sys_content_t test.txt
[test@localhost ~]$


[* 참고 *]

만약 다른곳의 파일을 /home/test 디렉토리 아래로 복사 또는 이동할때에는 어떻게 될까?

cp 명령에 의한 복사시에는 기존 파일 자신의 보안문맥과 함께 httpd_sys_content_t 문맥을 추가적으로 붙여서 복사된다.

[root@localhost ~]# touch root.txt
[root@localhost ~]# ls -lZ root.txt
-rw-r--r--  root root user_u:object_r:user_home_t      root.txt
[root@localhost ~]# cp root.txt /home/test
[root@localhost ~]# ls -lZ /home/test/
-rw-r--r--  root root user_u:object_r:httpd_sys_content_t root.txt
-rw-rw-r--  test test user_u:object_r:httpd_sys_content_t selinux.txt
-rw-r--r--  root root user_u:object_r:httpd_sys_content_t test.txt
[root@localhost ~]#

mv 명령에 의한 이동시에는 기존 파일 자신의 보안문맥만 유지하고 파일이 이동된다. 즉 httpd_sys_content_t 보안문맥이 추가되지 않는다는 것이다.

[root@localhost ~]# touch mv.txt
[root@localhost ~]# ls -lZ mv.txt
-rw-r--r--  root root user_u:object_r:user_home_t      mv.txt
[root@localhost ~]# mv mv.txt /home/test/
[root@localhost ~]# ls -lZ /home/test/
-rw-r--r--  root root user_u:object_r:user_home_t      mv.txt
-rw-r--r--  root root user_u:object_r:httpd_sys_content_t root.txt
-rw-rw-r--  test test user_u:object_r:httpd_sys_content_t selinux.txt
-rw-r--r--  root root user_u:object_r:httpd_sys_content_t test.txt
[root@localhost ~]#

그러면 ftp에서는 어떻게 할까?

* ftp 홈에대한 권한적용을 풀어주기 위해 아래와 같이 입력한다.
-P옵션은 재부팅후에도 적용되는 옵션으로 selinux 환경설정이 저장된다는 의미다.

#
setsebool -P ftp_home_dir 1 

* ftp에 대해 selinux 파일보안 정책을 사용하지 않도록 하려면 아래와 같이 입력한다.

# setsebool -P ftpd_disable_trans 1 

포스트 공유하기

썸네일
포비스님의 글 구독하기
덧글 1 관련글(트랙백) 0
신고
맨 위로
앱으로 보기 배너 닫기

공유하기

주소복사

아래의 URL을 길게 누르면 복사할수있습니다.

http://forbis.egloos.com/m/3415718
닫기

팝업

모바일기기에서만 이용이 가능합니다.
운영체제가 안드로이드, ios인
모바일 기기에서 이용해주세요.

덧글 삭제

정말 삭제하시겠습니까?

비밀번호 확인

게시글 신고하기

밸리 운영정책에 맞지 않는 글은 고객센터로
보내주세요.

신고사유


신고사유와 맞지 않을 경우 처리되지 않을 수 있습니다.
저작권 위반/명예훼손 등은 고객센터를 통해 권리침해
신고해주세요.
고객센터 바로가기