Saya mencoba menginstal daemon (Oracle Grid Engine) secara manual di mesin saya, dan saya ingin menjalankannya di bawah akun yang terisolasi. Apa cara yang disukai, menggunakan Layanan Direktori, untuk menambahkan akun "sistem" ke mesin lokal di OS X? Banyak dari mereka ada di / etc / passwd ( _www
,, _dovecot
dll), tetapi komentar di bagian atas file mengatakan bahwa itu tidak digunakan kecuali dalam mode pengguna tunggal.
Saya menjalankan pada 10.6, dan tidak memerlukan manajemen akun jaringan khusus. Saya berharap untuk sesuatu yang sederhana - setara useradd
dengan hampir semua OS mirip Unix lainnya.
mac-osx
user-management
directory-services
Tim Yates
sumber
sumber
Saya mencoba skrip dari par , dan menemukan beberapa masalah. Jadi saya memodifikasinya untuk satu userid spesifik dan untuk OS X Mavericks (10.9).
Saya menemukan bahwa ada beberapa catatan asing yang ditambahkan ke akun Pengguna di bawah Mavericks - PasswordPolicyOptions dan catatan AuthenticationAuthority - yang perlu dihapus untuk dengan benar meniru akun pengguna layanan builtin lainnya (seperti _www).
Saya juga menambahkan catatan Kata Sandi dan RealName ke akun Grup.
Saya membuat skrip khusus, khusus, hanya untuk akun layanan WSGI. Berikut skrip yang diperbarui.
Perhatikan bahwa setelah menjalankan skrip ini, file / etc / passwd dan / etc / groups tidak diperbarui. Saya percaya mereka diperbarui saat reboot.
sumber
EDIT: Diperbarui 9 Jan 2014 untuk OS X Mavericks (saran dari Dave, terima kasih!)
Saya menulis skrip bash untuk melakukan ini. Ini akan menggunakan uid pertama yang tidak digunakan yang kurang dari atau sama dengan 500 (uids akun daemon pada Mac OS X) yang juga memiliki gid yang tidak digunakan yang identik.
Simpan skrip ke file bernama
add_system_user.sh
dan atur agar dapat dieksekusichmod 755 add_system_user.sh
.Lalu katakanlah Anda ingin menambahkan daemon / sistem yang disebut pengguna par . Anda akan menjalankan skrip ini seperti:
sudo add_system_user.sh par
Dan Anda akan mendapatkan pengguna sistem yang dipanggil
_par
aliaspar
(nama yang Anda minta) dan memiliki uid dan gid yang cocok (misalnya 499 atau apa pun yang ditemukan).Ini skripnya:
sumber
Inilah artikel yang menjelaskan cara menggunakan dscl untuk membuat akun pengguna.
artikel osxdaily.com
sumber
dscl /Local/Default -read /Users/_sshd
(dscl /Local/Default -ls /Users
akan memberi Anda daftar akun lokal). Perhatikan bahwa Anda tidak perlu mengatur semua atribut; GeneratedUID dibuat secara acak, dan RecordType adalah metadata otomatis. Juga, sebagian besar akun sistem OS X memiliki nama akun utama yang dimulai dengan garis bawah, dan alias tanpa itu untuk kompatibilitas mundur; Saya sarankan menggunakan konvensi garis bawah, tetapi jangan repot-repot dengan alias polos kecuali jika Anda perlu.Berikut adalah versi skrip Dave, yang juga memeriksa apakah pengguna / grup ada sebelum membuatnya:
dan skrip untuk menghapus pengguna:
sumber