-1. 개요
ubuntu 에 db 구축하는데 apparmor 라는 보안 모듈을 처음 접하여 고생하였던 경험 공유 드립니다.
-2. apparmor란
ubuntu의 보안 모듈로 mysql 등의 파일경로와 파일 권한 등을 제어할 수 있는 기능
TEST01V[root /etc/apparmor.d]$ aa-status apparmor module is loaded. 23 profiles are loaded. 23 profiles are in enforce mode. . . /usr/sbin/mysqld . . /usr/sbin/ntpd /usr/sbin/tcpdump webbrowser-app webbrowser-app//oxide_helper
=> mysqld 가 apparmor의 제어를 받는 상황
TEST01V[root /etc/apparmor.d]$ cat usr.sbin.mysqld # vim:syntax=apparmor # Last Modified: Tue Feb 09 15:28:30 2016 #include <tunables/global> . . # Allow data dir access /var/lib/mysql/ r, /var/lib/mysql/** rwk, # Allow data files dir access /var/lib/mysql-files/ r, /var/lib/mysql-files/** rwk, # Allow keyring dir access /var/lib/mysql-keyring/ r, /var/lib/mysql-keyring/** rwk, # Allow log file access /var/log/mysql.err rw, /var/log/mysql.log rw, /var/log/mysql/ r, /var/log/mysql/** rw,
=> 위처럼 mysql 이 사용하는 파일시스템 , 파일을 지정 및 권한 설정을 하여 정의되지않은 파일은 사용 불가하게 됨
=> 위의 기본 설정을 그대로 사용하면 문제 없으나 팀에서 사용하는 파일시스템 표준등에 따라 default 가 아닌 별도의 파일시스템을 설정하여
db를 설정하는 경우에는 apparmor에 걸려 db 기동이 불가함
-3. apparmor 에서 mysqld 만 제외하는 방법
$ apt install apparmor-utils $ aa-disable mysqld $ aa-status | grep mysqld