Próbuję ręcznie zainstalować demona (Oracle Grid Engine) na moim komputerze i chciałbym, aby działał na osobnym koncie. Jaki jest preferowany sposób korzystania z usług katalogowych w celu dodania konta „systemowego” do komputera lokalnego w systemie OS X? Wiele z nich istnieje w / etc / passwd ( _www
, _dovecot
itp.), Ale komentarze na górze tego pliku mówią, że nie jest używany z wyjątkiem trybu pojedynczego użytkownika.
Korzystam z wersji 10.6 i nie wymagam żadnego specjalnego zarządzania kontem w sieci. Mam nadzieję na coś prostego - odpowiednik useradd
na prawie każdym innym systemie uniksowym.
mac-osx
user-management
directory-services
Tim Yates
źródło
źródło
Próbowałem skryptu od wartości nominalnej i znalazłem kilka problemów. Zmodyfikowałem go więc dla jednego konkretnego identyfikatora użytkownika i dla OS X Mavericks (10.9).
Odkryłem, że do Mavericksa dodano kilka obcych rekordów - hasło PasswordPolicyOptions i rekord AuthenticationAuthority - które trzeba było usunąć, aby poprawnie naśladować inne konta użytkowników usług wbudowanych (np. _Www).
Dodałem również rekordy Hasło i RealName do konta grupy.
Stworzyłem niestandardowy, jednorazowy skrypt tylko dla konta usługi WSGI. Oto zaktualizowany skrypt.
Zauważ, że po uruchomieniu tego skryptu pliki / etc / passwd i / etc / groups nie są aktualizowane. Wierzę, że są aktualizowane przy ponownym uruchomieniu.
źródło
EDYCJA: Zaktualizowano 9 stycznia 2014 dla OS X Mavericks (sugestie Dave'a, dziękuję!)
Napisałem skrypt bash, aby to zrobić. Użyje pierwszego nieużywanego identyfikatora użytkownika, który jest mniejszy lub równy 500 (identyfikatory użytkownika konta demona w systemie Mac OS X), który ma również identyczny nieużywany identyfikator użytkownika.
Zapisz skrypt w pliku o nazwie
add_system_user.sh
i ustaw go jako wykonywalny za pomocąchmod 755 add_system_user.sh
.Powiedzmy, że chcesz dodać użytkownika demona / systemu o nazwie par . Uruchomiłbyś ten skrypt tak:
sudo add_system_user.sh par
_par
Otrzymasz wywołanie użytkownika systemu, który jest aliasowanypar
(nazwa, o którą prosiłeś) i ma pasujący identyfikator uid i gid (np. 499 lub cokolwiek, co znalazł).Oto skrypt:
źródło
Oto artykuł wyjaśniający, jak używać dscl do utworzenia konta użytkownika.
artykuł osxdaily.com
źródło
dscl /Local/Default -read /Users/_sshd
( Otrzymaszdscl /Local/Default -ls /Users
listę lokalnych kont). Pamiętaj, że nie musisz ustawiać wszystkich atrybutów; GeneratedUID jest generowany losowo, a RecordType to automatyczne metadane. Ponadto większość kont systemowych OS X ma nazwę konta podstawowego rozpoczynającą się od znaku podkreślenia i alias bez tej nazwy dla zapewnienia zgodności z poprzednimi wersjami; Zalecam stosowanie konwencji podkreślania, ale nie przejmuj się zwykłym aliasem, chyba że musisz.Oto wersja skryptu Dave'a, który sprawdza również, czy użytkownik / grupa istnieje przed jego utworzeniem:
oraz skrypt do usunięcia użytkownika:
źródło