Odmowa dostępu dla mkdir na Macu

Odpowiedzi:

21

Wypróbuj to polecenie:

sudo mkdir -p /data/db

sudo wykonuje polecenie z wyższymi uprawnieniami i poprosi o podanie hasła, zanim pozwoli na wykonanie polecenia.

Danny
źródło
Ok fajnie, teraz jeśli wpiszę „db” w Spotlight, znajdzie to ... ale co z wierszem poleceń? jak nawigować do tego folderu w terminalu? na przykład w systemie DOS moglibyśmy powiedzieć CD \ DB
Blake
Nadal jest on w Linuksie, więc cd / data / db Aby wyświetlić zawartość katalogu, którego chcesz użyć ls zamiast dir, więc ls / data / db
Danny
1
co jeśli nie chcemy używać sudo? Czy w przyszłości wystąpią błędy uprawnień w Mongodb?
Connor Leech,
11

Nie masz uprawnień do utworzenia katalogu. Ponieważ próbujesz uruchomić to jako własny użytkownik i jak podejrzewam, że /data/dbjest gdzieś zakodowany, powinieneś być w stanie to zrobić

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

Wykorzysta to uprawnienia superużytkownika ( sudo) do utworzenia dwóch katalogów ( /data, i /data/db). /data/dbbyłby własnością użytkownika określonego przez -o- ty ( $USER) i będzie miał 0755uprawnienia - właściciela z pełnymi uprawnieniami i wszystkim dostęp tylko do odczytu. Jeśli brakuje katalogów nadrzędnych, zostaną one utworzone i będą własnością root (nie można znaleźć dokumentów na ten temat, ale eksperymenty to potwierdzają).

Proponuję zrobić to w ten sposób, ponieważ resztę instrukcji nadal będziesz wykonywać jako własny użytkownik.

chutz
źródło
wyjaśnienie bitu 0755 support.hostgator.com/articles/cpanel/…
Micah Stubbs
4

Spróbuj tego:

mkdir -p data/db

Bez slash przed data

yanek
źródło
To dla mnie sformułowane. Tworzy / data / db w bieżącym katalogu roboczym.
Meruemu,
0

Miałem ten sam problem na Mac OS X. Rozwiązałem to przez wykonanie sudo -p mkdir data, cd dataa potem sudo -p mkdir db. Powodzenia.

bel
źródło