Analizując /etc/passwd
plik, powinienem uzyskać listę wszystkich użytkowników w systemie. Jednak podczas zrzutu passwd
pliku w systemie Mac OS XI nie widzę mojej bieżącej nazwy użytkownika, ale wiele takich wpisów:
_xgridagent: *: 86: 86: Agent Xgrid: / var / xgrid / agent: / usr / bin / false _appowner: *: 87: 87: Właściciel aplikacji: / var / empty: / usr / bin / false _windowserver: *: 88: 88: WindowServer: / var / empty: / usr / bin / false _spotlight: *: 89: 89: Spotlight: / var / empty: / usr / bin / false _tokend: *: 91: 91: Token Daemon: / var / empty: / usr / bin / false
Dlaczego mogę zalogować się do powłoki przy użyciu mojej nazwy użytkownika i zobaczyć tę nazwę użytkownika, gdy to zrobię who
?
dsconfigad
.Istnieje zestaw usług katalogowych, który przechowuje informacje. Istnieje szereg narzędzi wiersza polecenia (
dscl
dla jednego) do manipulowania nimi (na twardo) lub można użyć Preferencji systemowych do obsługi niektórych z nich.źródło
OS X nie używa plików UNIX / LINUX / etc / passwd. Zamiast tego przechowuje go w NetInfo. Poleceniem używanym do interakcji z NetInfo jest narzędzie polecenia usługi katalogowej lub dscl.
Nie znam poleceń, ale jestem pewien, że prosty
man dscl
nie skrzywdziłby nikogo.źródło
Mac OS X korzysta z Open Directory .
źródło
Zdaję sobie sprawę, że nie jest to bezpośrednia odpowiedź na pytanie, ale czuję, że wielu, którzy napotkają to pytanie, będą chcieli wiedzieć, jak wykonać proste zapytanie, aby znaleźć informacje o użytkowniku z wiersza poleceń. Dla innych osób znajdujących się na tej ścieżce, które chciałyby zobaczyć konfigurację podobną do standardowych poleceń uniksowych, uznałem to proste polecenie za przydatne.
Możesz także:
Aby zobaczyć wszystko, ale być ostrzeżonym, zrzuci szesnastkową wersję zdjęcia użytkownika na ekran. Jeśli potrzebujesz innych komponentów, warto jednak zobaczyć, co tam jest, jeśli możesz uniknąć elementu JPEGPhoto.
źródło