Entah bagaimana, saya berhasil mengatur passwd untuk pengguna _postgres saya di OS saya alih-alih mengaturnya pada peran postgres yang saya miliki sebagai superuser / root. Lagi pula sejak ini, saya telah berjuang dengan pengguna yang muncul di bagian akun dan layar login, yang saya benar-benar ingin hindari. Saya telah membaca beberapa dokumen tentang ini, dan mengatur kata sandi untuk *
semua yang diperlukan untuk memperbaikinya. Tetapi setelah beberapa upaya melakukan ini dengan dan tanpa dscl tidak berhasil, saya sampai pada titik di mana saya tidak tahu harus berbuat apa lagi.
Saya tidak berpikir akan sulit melakukan ini, tetapi jelas saya kehilangan sesuatu, jadi bagaimana Anda melakukan ini?
macos
osx-snow-leopard
passwords
user-accounts
login-screen
googletorp
sumber
sumber
Jawaban:
Metode termudah untuk menyembunyikan pengguna sistem (jika ID pengguna mereka <500) di jendela masuk adalah dengan menjalankan perintah berikut:
Atau Anda dapat secara manual menyembunyikan hanya nama pengguna dengan menjalankan
Untuk menyembunyikan item 'Lainnya ...' dari jendela login jika perlu:
sumber
Ini menciptakan pengguna yang terlihat di sysprefs / Akun.
Ini menyembunyikan pengguna. Pastikan Anda mengutip "*" atau itu tidak akan berhasil.
EDIT : Saya tidak sengaja berhasil membuat ulang situasi googletorp karena tidak dapat menyembunyikan pengguna dengan mengatur kata sandi ke "*", dan saya menemukan cara memperbaikinya. Kali ini, saya telah membuat pengguna menggunakan dsimport, seperti ini:
Tetapi dalam perintah itu, * diambil untuk mewakili kata sandi satu karakter literal
*
, dan karenanyaimport menciptakan properti AuthenticationAuthority untuk pengguna dan menetapkan properti kata sandi ke hash shadow*
(yang ditampilkan seperti********
dalam dscl, seperti untuk semua kata sandi). Setelah itu, mencoba mengatur kata sandi ke "*" menggunakan dscl hanya terus menetapkan kata sandi menjadi literal*
, bukannya menonaktifkan kata sandi. Solusinya adalah menghapus properti yang tidak diinginkan, dan kemudian menonaktifkan kata sandi:Ini menyembunyikan pengguna.
sumber
dscl . -create /Users/test Password \*
Kalau-kalau Anda belum menemukan solusi yang layak (atau kalau-kalau ada orang lain menemukan pertanyaan ini dari Google), mengatur shell pengguna untuk
/usr/bin/false
mencegahnya masuk dan menyembunyikannya dari layar login dan dari preferensi sistem. Untuk melakukannya, gunakan baris perintah berikut:Dan untuk mengembalikan perubahan:
Di mana
[username]
nama pengguna yang ingin Anda sembunyikan (_postgres
dalam kasus Anda saya anggap). Saya tidak tahu mengapa lebih duludscl
menginginkan nilai lama, tetapi itulah yang dikatakan halaman manual, dan itu berfungsi dengan baik.sumber
sudo -s -u _postgres
dari akun admin untuk mendapatkan shell sebagai_postgres
; ini akan bekerja bahkan jikaUserShell
itu diatur ke/usr/bin/false
. Selain itu, bukankah mengatur kata sandi menjadi "tidak ada kata sandi", seperti yang Anda coba lakukan, juga menonaktifkan akun?