การอนุญาตถูกปฏิเสธสำหรับ mkdir บน Mac


12

ตกลงฉันไม่ทราบคำสั่ง linux และพยายามทำตามคำแนะนำในที่นี่: http://www.bigspaceship.com/2011/02/installing-mongodb-on-mac/

ดังนั้นฉันเปิดเทอร์มินัลแล้วพิมพ์

mkdir -p /data/db

แต่มันบอกว่าอนุญาตถูกปฏิเสธ

ฉันควรทำอย่างไรดี?

คำตอบ:


21

ลองคำสั่งนี้:

sudo mkdir -p /data/db

sudo ดำเนินการคำสั่งด้วยสิทธิ์ที่สูงขึ้นและจะขอรหัสผ่านของคุณก่อนที่จะอนุญาตให้ดำเนินการคำสั่ง


เยี่ยมมากตอนนี้ถ้าฉันพิมพ์ "db" ใน Spotlight มันจะพบว่า ... แต่วิธีการเกี่ยวกับบรรทัดคำสั่ง? ฉันจะนำทางไปยังโฟลเดอร์นี้ใน Terminal ได้อย่างไร ในตัวอย่าง DOS เราสามารถพูด CD \ DB
Blake

มันยังคงเป็น cd ใน linux ดังนั้น cd / data / db ในการแสดงเนื้อหาของไดเรกทอรีที่คุณต้องการใช้ ls แทน dir ดังนั้น ls / data / db
Danny

1
ถ้าเราไม่ต้องการใช้ sudo ล่ะ mongodb จะมีข้อผิดพลาดในการอนุญาตในอนาคตหรือไม่?
คอนเนอร์ปลิง

11

คุณไม่มีสิทธิ์ในการสร้างไดเรกทอรี ในขณะที่คุณกำลังพยายามเรียกใช้สิ่งนี้ในฐานะผู้ใช้ของคุณและในขณะที่ฉันสงสัยว่า/data/dbมีการฮาร์ดโค้ดบางส่วนคุณควรจะสามารถทำได้

sudo install -m 0755 -o $USER -d /data/db

สิ่งนี้จะใช้สิทธิ์ผู้ใช้ขั้นสูง ( sudo) เพื่อสร้างสองไดเรกทอรี ( /dataและ/data/db) /data/dbจะเป็นของผู้ใช้ที่ระบุโดย-o- คุณ ( $USER) และจะมี0755สิทธิ์ - เจ้าของที่มีสิทธิ์อย่างเต็มที่และทุกคนเข้าถึงแบบอ่านอย่างเดียว หากไดเรกทอรีหลักหายไปพวกเขาจะถูกสร้างและเป็นเจ้าของโดย root (ไม่สามารถหาเอกสารเกี่ยวกับสิ่งนี้ได้ แต่การทดสอบยืนยัน)

ฉันแนะนำให้คุณทำเช่นนี้เพราะคำแนะนำส่วนที่เหลือที่คุณจะยังคงทำในฐานะผู้ใช้ของคุณเอง


คำอธิบายของ 0755 บิตsupport.hostgator.com/articles/cpanel/ …
มิคาห์สตับส์

4

ลองอันนี้:

mkdir -p data/db

ไม่มีการสแลชก่อน data


คำนี้สำหรับฉัน มันสร้าง / data / db ภายใต้ไดเรกทอรีการทำงานปัจจุบัน
Meruemu


0

มีปัญหาเดียวกันกับ mac os x ฉันจะแก้ไขเรื่องนี้โดยการดำเนินการsudo -p mkdir data, และหลังจากนี้cd data sudo -p mkdir dbโชคดี.

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