ไม่สามารถสร้าง / เปิดไฟล์ล็อค: /data/mongod.lock ข้อผิดพลาด: 13 การอนุญาตถูกปฏิเสธ


187

ฉันจะให้ Mongo ใช้ไดรฟ์ที่ติดตั้งบน ec2 ได้อย่างไร ฉันไม่เข้าใจจริงๆ ฉันแนบไดรฟ์ข้อมูลบน ec2 ที่จัดรูปแบบไดรฟ์เป็นรูทและเริ่มต้นเป็นรูทและยังเป็นรูทที่ฉันเข้าถึงไม่ได้หรือไม่ ฉันทำงานบน Ubuntu 12.04 ไม่มีคนอื่นทำงาน mongo

ฉันเห็นว่า mongo สร้าง 'db' dir in / data เช่น / data / db

cd /
ls -al
drwxr-xr-x  4 root root  4096 Mar  5 16:28 data

cd /data
ls -al
total 28
drwxr-xr-x  4 root root  4096 Mar  5 16:28 .
drwxr-xr-x 24 root root  4096 Mar  5 16:28 ..
drwxr-xr-x  2 root root  4096 Mar  5 16:28 db
drwx------  2 root root 16384 Mar  5 16:20 lost+found


sudo mkfs.ext3 /dev/xvdh
sudo mkdir /data
sudo su - -c 'echo "/dev/xvdh %s auto noatime 0 0" | sudo tee -a /etc/fstab'
sudo mount /data

sudo service mongodb start
mongodb start/running, process 17169

sudo ps -ef | grep mongod
ubuntu   15763 15634  0 16:32 pts/2    00:00:00 tail -f mongodb.log
ubuntu   18049 15766  0 16:43 pts/3    00:00:00 grep --color=auto mongod


Tue Mar  5 16:33:15 [initandlisten] MongoDB starting : pid=15890 port=27017 dbpath=/data 64-bit host=aws-mongo-server-east-staging-20130305161917
Tue Mar  5 16:33:15 [initandlisten] db version v2.2.3, pdfile version 4.5
Tue Mar  5 16:33:15 [initandlisten] git version: f570771a5d8a3846eb7586eaffcf4c2f4a96bf08
Tue Mar  5 16:33:15 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Mar  5 16:33:15 [initandlisten] options: { bind_ip: "10.157.60.27", config: "/etc/mongodb.conf", dbpath: "/data", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", replSet: "heythat" }
Tue Mar  5 16:33:15 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Tue Mar  5 16:33:15 dbexit: 
Tue Mar  5 16:33:15 [initandlisten] shutdown: going to close listening sockets...
Tue Mar  5 16:33:15 [initandlisten] shutdown: going to flush diaglog...
Tue Mar  5 16:33:15 [initandlisten] shutdown: going to close sockets...
Tue Mar  5 16:33:15 [initandlisten] shutdown: waiting for fs preallocator...
Tue Mar  5 16:33:15 [initandlisten] shutdown: lock for final commit...
Tue Mar  5 16:33:15 [initandlisten] shutdown: final commit...
Tue Mar  5 16:33:15 [initandlisten] shutdown: closing all files...
Tue Mar  5 16:33:15 [initandlisten] closeAllFiles() finished
Tue Mar  5 16:33:15 [initandlisten] shutdown: removing fs lock...
Tue Mar  5 16:33:15 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Tue Mar  5 16:33:15 dbexit: really exiting now

ด้านล่างคือถ้าฉันเริ่มต้นใหม่เมื่อฉันลบไฟล์ล็อค ...

Tue Mar  5 16:59:15 [initandlisten] MongoDB starting : pid=21091 port=27017 dbpath=/data 64-bit host=aws-mongo-server-east-staging-20130305161917
Tue Mar  5 16:59:15 [initandlisten] db version v2.2.3, pdfile version 4.5
Tue Mar  5 16:59:15 [initandlisten] git version: f570771a5d8a3846eb7586eaffcf4c2f4a96bf08
Tue Mar  5 16:59:15 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Mar  5 16:59:15 [initandlisten] options: { bind_ip: "10.157.60.27", config: "/etc/mongodb.conf", dbpath: "/data", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", replSet: "heythat" }
Tue Mar  5 16:59:15 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Tue Mar  5 16:59:15 dbexit: 
Tue Mar  5 16:59:15 [initandlisten] shutdown: going to close listening sockets...
Tue Mar  5 16:59:15 [initandlisten] shutdown: going to flush diaglog...
Tue Mar  5 16:59:15 [initandlisten] shutdown: going to close sockets...
Tue Mar  5 16:59:15 [initandlisten] shutdown: waiting for fs preallocator...
Tue Mar  5 16:59:15 [initandlisten] shutdown: lock for final commit...
Tue Mar  5 16:59:15 [initandlisten] shutdown: final commit...
Tue Mar  5 16:59:15 [initandlisten] shutdown: closing all files...
Tue Mar  5 16:59:15 [initandlisten] closeAllFiles() finished
Tue Mar  5 16:59:15 [initandlisten] shutdown: removing fs lock...
Tue Mar  5 16:59:15 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Tue Mar  5 16:59:15 dbexit: really exiting now

1
ดูเหมือนว่า mongod จะปิดตัวลงอย่างไม่ดีครั้งล่าสุดที่มันวิ่งและไม่สามารถล้างไฟล์ mongod.lock ที่สร้างขึ้นได้ ไฟล์นี้มีอยู่เพื่อป้องกันอินสแตนซ์ Mongoong หลายตัวไม่ให้ทำงานกับไฟล์ หากคุณลบไฟล์และลองเรียกใช้ mongod อีกครั้งคุณจะไม่มีปัญหา
ACE

2
ดูคำถามที่ปรับปรุง ปัญหาเดียวกันหากลบไฟล์ล็อค
Tampa

ดูเหมือนว่าจะยังคงมีปัญหากับ lockfile สิ่งที่ได้รับอนุญาตในไดเรกทอรีที่ lockfile คืออะไร? TBH ฉันเห็นสิ่งนี้ใน 2 กรณีเท่านั้น: 1) lockfile มีอยู่แล้วและ 2) mongod ไม่มีสิทธิ์ในการสร้าง lockfile ในตำแหน่งที่ต้องการ
ACE

1
คุณควรตรวจสอบให้แน่ใจว่าผู้ใช้ mongo สามารถเข้าถึงได้chown mongodb:mongodb on /var/lib/monogdbเช่นกันในไดเรกทอรีข้อมูล
Hans N. Hjort

คำตอบ:


117

ฉันมีปัญหาเดียวกันกับอินสแตนซ์ของ Ubuntu ec2 ฉันกำลังติดตามบทความ amazon นี้ในหน้า 7:

http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf

เส้นทาง Mongodb /etc/mongodb.confถูกตั้งค่าเป็น/var/lib/mongodb(ตำแหน่งการติดตั้งหลักและการทำงาน) เมื่อฉันเปลี่ยนเป็น/data/db(ปริมาณ EBS) ฉันได้รับ 'errno: 13 การอนุญาตถูกปฏิเสธ'

  1. sudo service mongodb stopครั้งแรกที่ฉันวิ่ง
  2. จากนั้นฉันเคยls -laเห็นว่า mongodb กลุ่ม & เจ้าของกำหนดให้กับ/var/lib/mongodb(เส้นทางที่มีอยู่) และฉันเปลี่ยน/data/db(เส้นทางใหม่) ด้วยchownและchgrpเพื่อให้ตรงกับ (ตัวอย่าง: sudo chown -R mongodb:mongodb /data/db)
  3. แล้วฉันจะมีการปรับปรุงเส้นทางในetc/mongodb.confการ/data/dbลบไฟล์ Mongo เก่าใน/var/lib/mongodbไดเรกทอรี
  4. จากนั้นฉันก็วิ่งsudo service mongodb startและรอประมาณหนึ่งนาที หากคุณพยายามเชื่อมต่อกับ 27017 ทันทีคุณจะไม่สามารถทำได้
  5. หลังจากผ่านไปหนึ่งนาทีตรวจสอบ/data/db(ปริมาณ EBS) และ mongo ควรใส่วารสาร, mongod.lock, local.ns, local.0 ฯลฯ หากไม่ลองsudo service mongodb restartและตรวจสอบอีกครั้งในภายหลัง

ฉันเพิ่งใช้เวลากว่าหนึ่งชั่วโมงกับสิ่งนี้ การเปลี่ยนกลุ่มและการลบไฟล์เก่าอาจไม่จำเป็น แต่นั่นเป็นสิ่งที่ใช้ได้ผลสำหรับฉัน

นี่เป็นวิดีโอที่ยอดเยี่ยมเกี่ยวกับการเพิ่มปริมาณ ebs ให้กับอินสแตนซ์ ec2

http://www.youtube.com/watch?v=gBII3o3BofU


8
ฉันกำลังดิ้นรนกับปัญหานี้และตระหนักว่าหากคุณแสดงรายการโฟลเดอร์ปลายทางของคุณด้วย ls -lahZ มันจะให้บริบทด้านความปลอดภัยกับคุณบริบทสำหรับโฟลเดอร์ข้อมูล Mongo ควรถูกตั้งค่าเช่น: "sudo chcon -R -u system_u -t mongod_var_lib_t / folder / data "นี่นอกเหนือจากสิทธิ์ที่ชัดเจนและผู้ใช้: การรวมกลุ่ม หวังว่ามันจะช่วย
jmdiego

478

ฉันใช้วิธีนี้เพื่อแก้ปัญหา:

sudo chown -R mongodb:mongodb /data/db

8
เพิ่ม-Rตัวเลือกและเป็นที่สมบูรณ์แบบ :)
Adrien

7
นั่นคือ: sudo chown -R id -u/ data / db สำหรับมือใหม่ :)
rncrtr

8
ปรากฎว่ามีปัญหากับ backticks ลองเรียกใช้sudo chown $USER /data/dbแทนคำสั่งเดิม
Paymahn Moghadasian

7
นี่เป็นคำตอบที่ถูกต้องแน่นอน @ แทมปาคุณควรยอมรับคำตอบนี้ btw - คุณไม่ต้องการid -Uหรือ$USERอะไร Mongo มีผู้ใช้ / กลุ่มของตัวเอง คุณสามารถและควรรหัสยาก mongodb: mongodb ดังนั้นคำสั่งง่ายๆsudo chown -R mognodb:mognodb /data/db
guy mograbi

11
สิ่งนี้ทำอะไรได้จริง? มันใช้งานได้ แต่อยากจะเข้าใจ :)
zero_cool

81

ในกรณีของฉัน (อินสแตนซ์ AWS EC2, Ubuntu) ช่วย:

$ sudo mkdir -p /data/db/
$ sudo chown `USERNAME` /data/db

และหลังจากนั้นทุกอย่างก็ทำงานได้ดี


6
นี่คือคำตอบที่ดีที่สุดก็คือน่าจะเป็นปัญหาสิทธิ์กับผู้ใช้ที่ใช้ mongod
davo

2
ใช่นี่เป็นคำตอบที่ดีที่สุด
Vegan Sv

1
เรากำลังจะเปลี่ยน / โอนกรรมสิทธิ์ของ/data/dbการUSERNAME
ฟัล

52

คุณต้องให้สิทธิ์การเข้าถึง/data/dbโฟลเดอร์ของคุณ

พิมพ์sudo chown -R <USERNAME> /data/dbแทนที่<USERNAME>ด้วยชื่อผู้ใช้ของคุณ

whoamiคุณสามารถค้นหาชื่อผู้ใช้ของคุณโดยการพิมพ์


12

ฉันติดตั้ง mongodb กับ EBS บน EC2 กับ Ubuntu 14.04 ตามบทช่วยสอนนี้:

http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/

แต่แทนที่จะทำตามคำแนะนำฉันทำ:

sudo chown -R mongodb:mongodb /data /log /journal

เพื่อแก้ไขปัญหา


2
ใช่ดูเหมือนว่าเจ้าของจะต้อง "mongodb" แทนที่จะเป็น "รูท"
Imskull

10

ฉันมีปัญหาที่คล้ายกันเหตุผลที่แท้จริงคือมีเซสชัน mongod ทำงานอยู่แล้วจากความพยายามครั้งก่อนของฉัน

ฉันวิ่ง

killall mongod

และทุกอย่างอื่นก็วิ่งตามที่คาดไว้

killallคำสั่งจะส่งสัญญาณ TERM ไปยังกระบวนการทั้งหมดด้วย UID จริง ดังนั้นนี่จะฆ่าอินสแตนท์ที่ทำงานอยู่ทั้งหมดของ mongod เพื่อให้คุณสามารถเริ่มต้นของคุณเอง


นี่คือคำตอบที่สั้นที่สุดและเป็นคำตอบเดียวที่แก้ไขปัญหาของฉันหลังจากชั่วโมงนับไม่ถ้วน ... ขอบคุณ!
moomoochen

ดีใจที่มันช่วย! :) หวังว่าจะมีวิธีที่จะช่วยให้ผู้คนค้นพบคำตอบนี้ได้ง่ายขึ้น
Venky Soorisetty

7

ณ วันนี้ฉันพยายามหาทางเพื่อสร้าง / เปิดล็อกไฟล์: /data/db/mongod.lock errno: 13 การอนุญาตถูกปฏิเสธอินสแตนซ์ Mongo ทำงานแล้วหรือไม่ยกเลิกและลองคำตอบทั้งหมดที่โพสต์ข้างบนเพื่อ แก้ปัญหานี้โดยไม่มีการเพิ่ม

sudo chown -R mongodb: mongodb / data / db

นอกจากว่าฉันเพิ่มสิทธิ์ผู้ใช้ปัจจุบันของฉันไปยังเส้นทางสถานที่โดย

sudo chown $ USER / data / db

หวังว่านี่จะช่วยใครซักคน นอกจากนี้ฉันเพิ่งติดตั้ง Mongo DB บน ​​pi ของฉัน ไชโย!


นี่เป็นวิธีแก้ไขปัญหาจริง
Sahil Nagpal

6

ฉันมีปัญหาที่คล้ายกันและทำตามคำแนะนำทั้งหมดข้างต้นเกี่ยวกับการเปลี่ยนเจ้าของโดยใช้ sudo chown เป็นต้นฉันยังมีอินสแตนซ์ของ mongodb ที่ทำงานในพื้นหลังหลังจากการเปลี่ยนแปลง วิ่ง

ps auxw | grep mongo 

แสดงให้ฉันเห็นงานอื่น ๆ โดยใช้ Mongo ทำงานในพื้นหลังที่ไม่ได้ปิดอย่างถูกต้อง จากนั้นฉันก็รัน kill บนสิ่งที่รันทั้งหมดและจากนั้นสามารถเริ่มเซิร์ฟเวอร์


6

สำหรับผู้ใช้งาน Mac:
เรียกใช้ls -ld / data / db /
Output ควรเป็นสิ่งที่ต้องการdrwrx-xr-x 20 singh wheel 680 21 Jul 05:49 / data / db /
โดยที่singhเป็นเจ้าของและวงล้อเป็นกลุ่มที่เป็นเจ้าของ .
เรียกใช้sudo chown -R singh: wheel / data / db
Run mongod


5

การลบไฟล์ mongodb.lock ไม่ใช่ปัญหาในกรณีของฉัน ฉันทำเช่นนั้นและได้รับข้อผิดพลาดเกี่ยวกับพอร์ตที่กำลังใช้งาน: [initandlisten] Listen (): bind () ล้มเหลว errno: 98 ที่อยู่ที่ใช้งานแล้วสำหรับซ็อกเก็ต: 0.0.0.0:27017 ฉันพบวิธีแก้ไขปัญหาอื่นที่นี่: ไม่สามารถเริ่ม mongodb โลคัลเซิร์ฟเวอร์พร้อมคำแนะนำเพื่อฆ่ากระบวนการ:

  1. ค้นหาจาก netstat ว่ากระบวนการใดกำลังเรียกใช้พอร์ต mongodb (27017)

    sudo netstat -tulpn | grep :27017

    ผลลัพธ์จะเป็น: tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1412 / mongod

  2. ฆ่ากระบวนการที่เหมาะสม

    sudo kill 1412 (แทนที่ 1412 ด้วย ID กระบวนการของคุณที่พบในขั้นตอนที่ 1)

และฉันก็สามารถเริ่มต้น mongodb ได้สำเร็จ ฉันเชื่อว่าของฉันยังคงทำงานจากการปิดที่ไม่เหมาะสม


4

สำหรับผู้ที่คุณพบข้อผิดพลาดนี้บน Windows โดยใช้ตัวจัดการงานสิ้นสุดอินสแตนซ์ของ "mongod.exe" ที่กำลังทำงานอยู่ เมื่อดำเนินการเสร็จแล้วให้ลบไฟล์ mongo.lock อย่างถาวรแล้วเรียกใช้ mongod.exe มันควรจะทำงานได้อย่างสมบูรณ์แบบหลังจากนั้น


4

ติดตั้ง mongo ของฉัน (3.2.9) บน Ubuntu และไฟล์บันทึกของฉันมีบรรทัดต่อไปนี้:

2016-09-28T11:32:07.821+0100 E STORAGE  [initandlisten] WiredTiger (13) [1475058727:821829][6785:0x7fa9684ecc80], file:WiredTiger.wt, connection: /var/lib/mongodb/WiredTiger.turtle: handle-open: open: Permission denied 
2016-09-28T11:32:07.822+0100 I -        [initandlisten] Assertion: 28595:13: Permission denied 
2016-09-28T11:32:07.822+0100 I STORAGE  [initandlisten] exception in initAndListen: 28595 13: Permission denied, terminating

2016-09-28T11: 32: 07.822 + 0100 ฉันควบคุม [initandlisten] dbexit: rc: 100

ดังนั้นปัญหาอยู่ในสิทธิ์ในโฟลเดอร์ / var / lib / mongodb

sudo chown -R mongodb:mongodb /var/lib/mongodb/
sudo chmod -R 755 /var/lib/mongodb
  • รีสตาร์ทเซิร์ฟเวอร์

แก้ไขแม้ว่าฉันจะรู้ว่าอาจไม่ปลอดภัยเกินไป (เป็นกล่อง dev ของฉันเองฉันอยู่ในกรณีของฉัน), bit ติดตามการเปลี่ยนแปลงทั้ง db และการตรวจสอบการทำงาน


2

ใน Mycase
ใน mongodb รุ่น 2.6.11 ไดเรกทอรี databse เริ่มต้นคือ/var/lib/mongodb/

  1. $ sudo chown -R id -u/ var / lib / mongodb /

  2. $ sudo chown -R id -u/var/lib/mongodb/mongod.lock

  3. $ sudo /etc/init.d/mongod stop

  4. $ sudo /etc/init.d/mongod start


ควรเป็น `id -u`
marcus

2

ฉันได้รับปัญหาเดียวกันเมื่อฉันรันคำสั่ง mongod หลังจากติดตั้งบน Windows10 ฉันหยุดบริการ mongodb และเริ่มต้นอีกครั้ง ทำงานเหมือนจับใจ

คำสั่งเพื่อหยุดบริการ mongodb (ใน windows): net stop mongodb

คำสั่งเพื่อเริ่มเซิร์ฟเวอร์ mongodb: mongod --dbpath PATH_TO_DATA_FOLDER


1

ใน Fedora 18 ที่มีอินสแตนซ์ Mongo 2.2.4 ฉันสามารถแก้ไขข้อผิดพลาดที่คล้ายกันได้โดยการปิดการใช้งาน SELinux โดยการเรียกsetenforce 0เป็น root

BTW นี่เป็นสภาพแวดล้อมขององค์กรไม่ใช่อินสแตนซ์ของ Amazon EC2 แต่มีอาการคล้ายกัน


1

ในกรณีของฉันปัญหาได้รับการแก้ไขโดยการลบไฟล์บันทึก

sudo rm /log/mongod.log

แม้ว่าข้อความแสดงข้อผิดพลาดจะอ้างถึงไฟล์ล็อคโดยเฉพาะ:

exception in initAndListen: 10309 Unable to create/open lock file: 
/data/mongod.lock errno:13 Permission denied 
Is a mongod instance already running?, terminating

สิ่งนี้ชี้ให้ฉันในทิศทางที่ถูกต้อง บนเซิร์ฟเวอร์ของฉันฉันต้องทำ sudo rm /var/log/mongodb/mongodb.log และ sudo rm /tmp/mongodb-27017.sock
Keith John Hutchison

1

หลังจากที่ฉันฆ่า MongoD ฉันก็มีปัญหาเดียวกัน: ไม่สามารถเริ่มต้น Mongo ได้

$> sudo kill `pidof mongod`

2015-08-03T05:58:41.339+0000 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongodbtest/replset/data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

หลังจากฉันลบการล็อคโดยตรงฉันสามารถรีสตาร์ทกระบวนการ MongoD ได้

$>  rm -rf /data/mongodbtest/replset/data/mongod.lock

1

นี่คือสิ่งที่ฉันทำเพื่อแก้ไขปัญหา:

$ sudo mkdir -p / data / db

$ export PATH = / usr / local / Cellar / mongodb / 3.0.7 / bin: $ PATH

$ sudo chown -R id -u/ data / db

และจากนั้นเริ่มต้น mongo ...

$ mongod


1

ผมมีปัญหาเหมือนกัน.

ฉันแก้ไขมันโดยเปลี่ยนสถานะ selinux เป็นอนุญาตด้วยคำสั่งด้านล่าง:

setenforce 0

0

ทำls -laที่จะรู้ว่าผู้ใช้และกลุ่ม / var / log / MongoDB แล้วไม่ทำงานตอนนี้sudo chown -R user:group /data/db sudo service mongodb startตรวจสอบสถานะด้วยsudo service mongodb status



0

คุณสามารถลองด้วยวิธีเหล่านี้ 1

sudo chown -R mongod: mongod / data / db

แต่ในบางครั้งสิ่งนี้ไม่เป็นประโยชน์ ครั้งที่ 2 หากวิธีข้างต้นไม่มีประโยชน์คุณสามารถลองทำสิ่งนี้:

mkdir / data / db # เป็นเส้นทางการจัดเก็บฐานข้อมูล

nohup mongod --dbpath / data / db &

หรือพิมพ์:

mongod --dbpath / data / db

เพื่อรับเอาต์พุตสตรีม


เมื่อพิจารณาว่าเป็นคำถามเก่าและคำตอบของคุณไม่ได้เพิ่มอะไรที่ยังไม่ได้มีคุณควรถามตัวเองว่ามันมีค่าหรือไม่ ...
Nic3500

0

สำหรับฉันบน CentOS 6.x:

sudo chown -R mongodb:mongodb <db-path> sudo service mongod restart

และฉันได้ตั้งค่าที่กำหนดเองในdb-path/etc/mongod.conf




0

มีข้อผิดพลาดที่คล้ายกันแก้ไขด้วยการลบระเบียนทั้งหมด (ในไดเรกทอรีกรณีของฉันjournalsและไฟล์mongo.lock...) หลังจากนั้นตรวจสอบพอร์ตด้วยsudo lsof -i:27017ถ้า smth ทำงานบนมันkill <PID of the process>และลองเรียกใช้./mongodอีกครั้ง


-2

การแก้ไข: sudo mongod

ฉันมีปัญหาเดียวกันการใช้งานmongodด้วยสิทธิ์ sudo แก้ไขมัน มาจากสภาพแวดล้อมของ windows ฉันใช้แค่mongodเพื่อเริ่ม daemon ดูเหมือนว่าเราต้องการสิทธิ์ superuser ในการเข้าถึง / data / db

คุณยังสามารถให้สิทธิ์การอ่านและเขียนแก่ผู้ใช้ที่ไม่ใช่รูทไปยังพา ธ นั้นได้ ตรวจสอบคำตอบข้างต้นเพื่อเป็นแนวทาง!


ใช้ mongod ในขณะที่รูทไม่จำเป็นและอาจทำให้ระบบมีความเสี่ยงต่อการถูกโจมตีได้มากขึ้น
qbert220

-2

ทุกครั้งที่คุณเมื่อคุณพยายามเริ่มต้น mongod เพียงแค่พิมพ์

sudo mongod

หรือหากต้องการแก้ไขอย่างถาวรให้ลองส่ง rwx ไปยังโฟลเดอร์ / data / db

 chmod +rwx data/

ไม่เป็นความคิดที่ดี สิ่งแรกอาจทำให้ระบบมีความเสี่ยงมากขึ้นต่อการถูกโจมตีด้านความปลอดภัย ครั้งที่สองอาจอนุญาตให้ผู้ใช้ที่ไม่มีสิทธิ์ได้รับการยุ่งเกี่ยวกับฐานข้อมูล Mongo ของคุณ
qbert220
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.