2014-04-17 1 views
0

리눅스 시스템에 로그인 한 사용자가 모두 mongo 명령을 사용하므로 동일한 데이터를 사용하므로 동일한 데이터를 사용하는 것으로 나타났습니다. 사용자마다 다른 DB를 사용하도록 Mongo 설정이 있습니까?리눅스에서 사용자 당 한 개의 몽고 db를 만드는 방법은 무엇입니까?

기본적으로 user1을 리눅스에 로그인하고 mongo를 시작하여 db.foobars.insert(...)을 실행하고 싶습니다. user2가 리눅스 머신에 로그인 할 때 그는 db.foobars.find(...)을 수행 할 수 있지만 user1의 데이터를 보지 않아야합니다. 사용자가 만드는 각 콜렉션은 해당 사용자에 대해서만 고유해야합니다.

내가 아치 리눅스에있어, 나는 mongod의 인스턴스를 실행

systemctl start mongodb 

을 수행하여 systemd와 MongoDB를 시스템 서비스로 시작합니다. 그게 내가 필요한 전부 였으면 좋겠다. 각 사용자마다 새로운 mongod 인스턴스를 실행해야합니까?

+0

하지 않음 MongoDB가 어떻게 작동하는지 또는 데이터베이스를 일반적으로 중요하게 생각합니다. 그리고 이것은 프로그래밍과 관련이없는 것처럼 보이기 때문에 여기에 속하지 않습니다. (dba.stackexchange.com) [http://dba.stackexchange.com/] 또는 다른 Linux 관련 사이트 중 하나를 사용해보십시오. http://stackexchange.com/ –

답변

2

매개 변수가 전달되지 않은 경우 mongo 명령은 "test"라는 기본 데이터베이스에 연결합니다. mongo mydatabase을 실행하여 데이터베이스를 지정할 수 있습니다.

모든 사용자가 다른 데이터베이스에 연결하도록 별칭을 만드는 것이 좋습니다. 예를 들어, 당신의 ~/.bashrc 파일에, 당신과 같이 라인을 추가 할 수 있습니다

alias mongo=mongo trusktr 

을 모든 사용자에 대한 별칭을 만들려면, /etc/profile 파일에, 당신은 추가 할 수 있습니다 정말

alias mongo=mongo $(whoami) 
+0

[Christian P] (http://stackoverflow.com/users/515053/christian-p) 편집 해 주셔서 감사합니다! 좋은 생각. –

+0

오케이. 그렇다면 userB는 userA의 db에 접근하고 수정하기 위해'use userA'를 할 수있을 것입니다, 맞습니까? postgre에서는 사용자가 만든 각 db가 제한되어 있으므로 더 이상 사용 권한을 부여하지 않는 한 해당 데이터베이스를 만든 사용자 만 액세스 할 수 있습니다. 나는 MongoDB에서 그렇게 할 수 있기를 바랬다. – trusktr

+0

몽고 워드 프로세서는 꽤 좋습니다. 나는 여기에서 시작할 것이다 : http://docs.mongodb.org/manual/administration/security-user-role-management/ –

관련 문제