리눅스에서의 커널 모듈 관리하기 안녕하세요, mj입니다. 오늘은 리눅스에서 커널 모듈을 어떻게 관리하는지에 대해 알아보겠습니다. 커널 모듈은 리눅스 커널의 기능을 확장하는 중요한 요소입니다. 이 글에서는 커널 모듈을 로드하고, 언로드하며, 몇 가지 유용한 예제를 통해 사용 방법을 소개하겠습니다. 커널 모듈이란? 커널 모듈은 리눅스 커널의 기능을 동적으로 추가할 수 있는 코드 조각입니다. 이를 통해 시스템의 성능을 최적화하거나 새로운 하드웨어를 지원할 수 있습니다. 커널 모듈 로드하기 커널 모듈을 로드하는 명령어는 modprobe 와 insmod 입니다. 두 명령어의 차이점은 다음과 같습니다: modprobe : 의존성을 자동으로 처리하여 모듈을 로드합니다. insmod : 특정 모듈만 로드하며, 의존성을 수동으로 관리해야 합니다. 예제: 모듈 로드 다음은 dummy 라는 테스트용 모듈을 로드하는 예제입니다. sudo modprobe dummy 결과: dummy: loaded successfully. 커널 모듈 언로드하기 모듈을 언로드할 때는 rmmod 와 modprobe -r 를 사용합니다. modprobe -r 는 의존성을 고려하여 모듈을 언로드합니다. 예제: 모듈 언로드 다음은 dummy 모듈을 언로드하는 예제입니다. sudo rmmod dummy 결과: dummy: unloaded successfully. 커널 모듈 상태 확인하기 현재 로드된 모듈을 확인하려면 lsmod 명령어를 사용합니다. 예제: 로드된 모듈 확인 다음은 현재 로드된 모듈을 확인하는 예제입니다. lsmod | grep dummy 결과: dummy 16384 0 모듈 정보 확인하기 모듈에 대한 자세한 정보를 확인하려면 modinfo 명령어를 사용합니다. 예제: 모듈 정보 확인 다음은 dummy 모듈의 정보를 확인하는 예제입니다. modinfo dummy 결과: filename: ...
안녕하세요, MJ 입니다.
seLinux 에 대한 내용을 다루어보려고 하는데
내용이 쉽지 않고, 사실 상세한 내용에 대해 공부가 부족하지만
실무에서 seLinux 를 접하면서 알게 된 내용으로 작성 해 봅니다.
<노트>
seLinux 는 래드햇 계열의 리눅스 시스템에 기본으로 설치되어있는 보안 툴 입니다.
활성화 되어있으면 보안측면에서 안정성이 상당히 올라가게 되지만
실무자들의 입장에서는 여간 귀찮은 것이 아닙니다.
왜냐하면, 보안이 강해진다는 의미는 사용이 불편해진다는 의미이기때문인데
파일을 하나 새로 만들고 시스템에 적용시키면, 원하는대로 동작하지 않고
왜 동작하지 않았는지에 대해 파악을 하는데에 많은 시간이 소요되기도 하고(물론 경험해본 내용에 대해서는 아니지만)
추가로 무언가 해야 비로소 원하는대로 동작을 하는 등, 작업을 하는 입장에서는 귀찮을 수 밖에 없습니다.
online 중에 변경이 가능하지만 비활성 모드와 활성모드 간 변경이 필요한 때에는
시스템의 리부팅이 동반되어야만 합니다.
[root]# getenforce
Enforcing
Permissive
Disabled
모드를 변경하는 방법입니다.
(파일을 열어서) [root]# vi /etc/selinux/config
[Enforcing] - [root]# setenforce 1
[root]# getenforce
Enforcing
[Permissive] - [root]# setenforce 0
[root]# getenforce
Permissive
이렇게 명령어 한줄로 설정을 변경할 수 있습니다.
고객사에서 enforcing 모드를 반드시 사용해야 하는데
일반적이지 않은 요구사항을 처리하는 과정에서 예상대로 동작하지 않는 경우
(예:ftp 서버를 설정 하였는데 ftp 계정의 루트 디렉토리를 홈이 아닌 시스템의 루트로 설정이 필요한 경우 등)
시스템으로 접근이 필요한 설정을 해야 하는데에 설정에 문제가 없지만 정상동작하지 않는 경우
[root]# getsebool -a
(명령어결과를 확인 해 보아야 할 필요가 있습니다)
: SELinux의 기능에 대한 활성화/비활성화 설정입니다.
SELinux 기능을 켜거나 끌 수 있는 수백 가지 설정이 있으며
이 중 이미 사전 정의되어 있는 내용을 확인 할 수 있습니다.
getsebool -a를 실행하여 시스템에 설정된 내용을 확인 할 수 있습니다.
root 패스워드를 잊어버려서 single 모드로 부팅하여 패스워드를 변경후 정상 부팅을 하였지만
설정 한 root 패스워드로 로그인이 되지 않는 경우, 시스템의 context 를 올바르게 재설정 하기위해
[root]# restorecon -vvFR /
또는
[root]# touch /.autorelabel
을 수행 및 리부팅을 다시 수행하여 시스템의 컨텍스트를 맞추어 주어야 할 필요가 있습니다.
그래서 이렇게 특정 상황에서 작업자와 관리자를 괴롭게 하는 이 seLinux 사용 유무는 고객사의 방침을 따르지만,
대게 보통은 정해진 방침이 없어 disabled 로 변경하도록 권고하고 고객의 대부분은 이를 받아들여
비활성 상태로 사용하는 경우가 많습니다.
seLinux 에 대해 간략하게 설명을 작성 해 보았습니다.
읽어주셔서 감사하고, 저의 경험이 도움이 되시기를 바랍니다.
감사합니다.
seLinux 에 대한 내용을 다루어보려고 하는데
내용이 쉽지 않고, 사실 상세한 내용에 대해 공부가 부족하지만
실무에서 seLinux 를 접하면서 알게 된 내용으로 작성 해 봅니다.
<노트>
seLinux 는 래드햇 계열의 리눅스 시스템에 기본으로 설치되어있는 보안 툴 입니다.
활성화 되어있으면 보안측면에서 안정성이 상당히 올라가게 되지만
실무자들의 입장에서는 여간 귀찮은 것이 아닙니다.
왜냐하면, 보안이 강해진다는 의미는 사용이 불편해진다는 의미이기때문인데
파일을 하나 새로 만들고 시스템에 적용시키면, 원하는대로 동작하지 않고
왜 동작하지 않았는지에 대해 파악을 하는데에 많은 시간이 소요되기도 하고(물론 경험해본 내용에 대해서는 아니지만)
추가로 무언가 해야 비로소 원하는대로 동작을 하는 등, 작업을 하는 입장에서는 귀찮을 수 밖에 없습니다.
<seLinux 3가지 모드> | |
---|---|
Enforcing : seLinux 가 활성화 되어있으며, 모든 보안설정을 지키는 모드 |
|
Permissive : seLinux 가 활성화 되어있지만, 대부분 보안설정을 지키지 않아도 warning 메시지만 출력하고 해주는 모드 |
|
Disabled : seLinux 의 비활성화 모드 |
위 내용 중에 Enforcing, Permissive 모드는 seLinux 활성화 모드로
online 중에 변경이 가능하지만 비활성 모드와 활성모드 간 변경이 필요한 때에는
시스템의 리부팅이 동반되어야만 합니다.
[root]# getenforce
Enforcing
Permissive
Disabled
모드를 변경하는 방법입니다.
(파일을 열어서) [root]# vi /etc/selinux/config
...<파일의 내용 중>... |
---|
SELINUX=enforcing |
SELINUX=permissive |
SELINUX=disabled |
-> 셋중에 하나를 설정하여 시스템이 부팅할 때 설정 될 seLinux 모드를 정할 수 있습니다.
[Enforcing] - [root]# setenforce 1
[root]# getenforce
Enforcing
[Permissive] - [root]# setenforce 0
[root]# getenforce
Permissive
이렇게 명령어 한줄로 설정을 변경할 수 있습니다.
고객사에서 enforcing 모드를 반드시 사용해야 하는데
일반적이지 않은 요구사항을 처리하는 과정에서 예상대로 동작하지 않는 경우
(예:ftp 서버를 설정 하였는데 ftp 계정의 루트 디렉토리를 홈이 아닌 시스템의 루트로 설정이 필요한 경우 등)
시스템으로 접근이 필요한 설정을 해야 하는데에 설정에 문제가 없지만 정상동작하지 않는 경우
[root]# getsebool -a
(명령어결과를 확인 해 보아야 할 필요가 있습니다)
: SELinux의 기능에 대한 활성화/비활성화 설정입니다.
SELinux 기능을 켜거나 끌 수 있는 수백 가지 설정이 있으며
이 중 이미 사전 정의되어 있는 내용을 확인 할 수 있습니다.
getsebool -a를 실행하여 시스템에 설정된 내용을 확인 할 수 있습니다.
root 패스워드를 잊어버려서 single 모드로 부팅하여 패스워드를 변경후 정상 부팅을 하였지만
설정 한 root 패스워드로 로그인이 되지 않는 경우, 시스템의 context 를 올바르게 재설정 하기위해
[root]# restorecon -vvFR /
또는
[root]# touch /.autorelabel
을 수행 및 리부팅을 다시 수행하여 시스템의 컨텍스트를 맞추어 주어야 할 필요가 있습니다.
그래서 이렇게 특정 상황에서 작업자와 관리자를 괴롭게 하는 이 seLinux 사용 유무는 고객사의 방침을 따르지만,
대게 보통은 정해진 방침이 없어 disabled 로 변경하도록 권고하고 고객의 대부분은 이를 받아들여
비활성 상태로 사용하는 경우가 많습니다.
seLinux 에 대해 간략하게 설명을 작성 해 보았습니다.
읽어주셔서 감사하고, 저의 경험이 도움이 되시기를 바랍니다.
감사합니다.
댓글
댓글 쓰기