언제부터 AppArmor 가 사용되었지? (ubuntu 7.04 버전인듯)
https://help.ubuntu.com/community/AppArmor

기본 mysqld 의 설정이  /var/lib/mysql 을 기준으로 하는데.
DB 저장소 위치를 바꾸어서 사용하고 있었다.

8.04 버전부터, mysqld 가 좀 까다로운 설정을 하나보다. (enforcing)
/var/lib/mysql 이외의 위치를 사용하면 프로파일에 넣어줘야 한다.

/etc/apparmor.d/usr.sbin.mysqld  를 열어서.
/새로운위치/mysql r ,
/새로운위치/mysql/** rwk ,
처럼 추가를 해주어야 한다.

보안관련 설정이니, 나름 규칙을 지켜줘야 겠다.

/var/log 의 kern.log , messages 등에 다음과 같은 메시지가 남는다.
Apr 23 11:05:19 yourhost kernel: [47939.567241] audit(1240416319.933:116023): type=1502 operation="inode_permission" requested_mask="r::" denied_mask="r::" name="/database/mysql/db_name/" pid=9475 profile="/usr/sbin/mysqld" namespace="default"
정상적인 메시지는 다음과 같다.
Apr 23 11:07:01 yourhost kernel: [48040.807284] audit(1240416421.333:116024): type=1502 operation="capable" name="sys_resource" pid=9652 profile="/usr/sbin/mysqld" namespace="default"

ps. 위 문제는 7.10(Gutsy) 에서 8.04(Hardy) 로 버전업그레이드 하다가 mysql 이 실행되지 않아 살펴보다가 알게되었다.
신고

댓글을 달아 주세요