Docs Menu
Docs Home
/
데이터베이스 매뉴얼
/ /

루트가 아닌 사용자 권한 구성

데이터베이스 보안을 유지하기 위해 권한이 부여된 루트가 아닌 사용자의 권한을 제한하여 전체 루트 권한을 부여하지 않고도 관리 작업을 수행할 수 있도록 할 수 있습니다.

이 페이지에서는 루트가 아닌 사용자가 모든 루트 사용자 권한에 대한 액세스 허용하지 않고 Linux 시스템에서 mongod 프로세스를 시작, 중지 및 다시 시작하도록 허용하는 방법을 설명합니다. 이 절차는 mongod 프로세스 실행되는 그룹 과 구별되는 루트가 아닌 Linux 그룹 에 속한 사용자에게 적용됩니다.

MongoDB Community 또는 MongoDB 엔터프라이즈설치합니다.

중요

다음 절차에서는 설정 에 대한 루트 액세스 필요합니다. 설정이 잘못되면 시스템이 응답하지 않을 수 있으므로 프로덕션 환경에서 구현하기 전에 항상 개발 환경에서 테스트하세요. 데이터의 최신 백업 있는지 확인합니다.

  • 새 시스템을 설정하는 동안 이 절차를 수행하는 것이 좋습니다. 이것이 가능하지 않은 경우 유지 관리 기간 동안 절차를 수행합니다.

  • 이 절차는 하나의 로컬 시스템 설정에만 영향을 줍니다. 복제본 세트 또는 샤딩된 클러스터 를 사용하는 경우 순차적으로 이 절차를 수행하세요. 모든 노드를 한 번에 업데이트 하지 마세요.

  • 이 절차는 모든 Linux 배포에서 작동하지만, CentOS 6/7, RHEL 6/7, Ubuntu 18.04 및 Amazon Linux 2에서만 테스트되었습니다.

아래에서 시스템 제공자 의 탭 선택합니다.

이 절차는 CentOS 7 및 RHEL 7에서 작동합니다.

1
adduser <user-name>
groupadd <group-name>
2

다음 명령을 사용하여 /etc/mongod.conf에 있는 구성 파일 의 권한을 업데이트 .

sudo chown mongod:mongod /etc/mongod.conf
sudo chmod 600 /etc/mongod.conf
ls -l /etc/mongod.conf
-rw-------. 1 mongod mongod 330 Feb 27 18:43 /etc/mongod.conf

이 구성은 mongod 사용자와 루트만 mongod.conf 파일 액세스 하고 편집할 수 있는 권한을 갖도록 합니다.

3

visudo를 사용하여 sudoers파일 에 다음 구성 줄을 추가합니다.

%mongod ALL =(ALL) NOPASSWD: /bin/systemctl start mongod.service, /bin/systemctl stop mongod.service, /bin/systemctl restart mongod.service
%testuser ALL =(ALL) NOPASSWD: /bin/systemctl start mongod.service, /bin/systemctl stop mongod.service, /bin/systemctl restart mongod.service

참고

sudoers 파일 의 구문 오류는 루트 사용자 계정의 기능에 영향을 줄 수 있습니다.

4

이제 새 사용자는 mongod 서비스를 시작하고 중지할 수 있지만 /etc/mongod.conf 파일 읽을 수는 없습니다.

새 사용자에게 다음 명령을 실행 mongod 를 시작하고 [Permission Denied] 메시지를 받지 않았는지 확인하도록 합니다.

sudo /bin/systemctl start mongod.service

sudo /bin/systemctl stop mongod.service 를 사용하여 유사한 테스트를 실행 mongod 서비스를 오류 없이 중지할 수 있는지 확인할 수 있습니다.

이제 다음 명령을 실행 /etc/mongod.conf 파일 액세스 시도하도록 합니다.

sudo vi /etc/mongod.conf

이 명령은 [Permission Denied] 메시지를 반환해야 합니다.

이 절차는 CentOS 6, RHEL 6, Amazon Linux 2 및 Ubuntu 18.04에서 작동합니다.

1
adduser <user-name>
groupadd <group-name>
2

다음 명령을 사용하여 /etc/mongod.conf에 있는 구성 파일 의 권한을 업데이트 .

sudo chown mongod:mongod /etc/mongod.conf
sudo chmod 600 /etc/mongod.conf
ls -l /etc/mongod.conf
-rw-------. 1 mongod mongod 330 Feb 27 18:43 /etc/mongod.conf

이 구성은 mongod 사용자와 루트만 mongod.conf 파일 액세스 하고 편집할 수 있는 권한을 갖도록 합니다.

3

visudo 를 사용하여 sudoers파일에 다음 구성 줄을 추가합니다.

CentOS 6, RHEL 6 및 Amazon Linux 2의 경우:

%mongod ALL =(ALL) NOPASSWD: /sbin/service mongod start, /sbin/service mongod stop, /sbin/service mongod restart
%testuser ALL =(ALL) NOPASSWD: /sbin/service mongod start, /sbin/service mongod stop, /sbin/service mongod restart

For Ubuntu 18.04:

%mongod ALL =(ALL) NOPASSWD: /usr/sbin/service mongod start, /usr/sbin/service mongod stop, /usr/sbin/service mongod restart
%testuser ALL =(ALL) NOPASSWD: /usr/sbin/service mongod start, /usr/sbin/service mongod stop, /usr/sbin/service mongod restart

참고

sudoers 파일 의 구문 오류는 루트 사용자 계정의 기능에 영향을 줄 수 있습니다.

4

이제 새 사용자는 mongod 서비스를 시작하고 중지할 수 있지만 /etc/mongod.conf 파일 읽을 수는 없습니다.

새 사용자가 다음 명령을 실행 mongod을(를) 시작하도록 합니다.

sudo service mongod start

셸 에서 다음과 같은 확인을 받는지 확인합니다.

Starting mongod: [ OK ]

sudo service mongod stop 를 사용하여 유사한 테스트를 실행 mongod 서비스를 오류 없이 중지할 수 있는지 확인할 수 있습니다.

이제 다음 명령을 실행 /etc/mongod.conf 파일 액세스 시도하도록 합니다.

sudo vi /etc/mongod.conf

이 명령은 [Permission Denied] 메시지를 반환해야 합니다.

돌아가기

권한 작업

이 페이지의 내용