Di os X dimungkinkan untuk memiliki pengguna tanpa kata sandi. Jika Anda memeriksanya dengan dscl
kata sandi mereka muncul sebagai *
. Ini digunakan untuk pengguna sistem seperti pengguna untuk basis data seperti mysql
, pgsql
dll. Yang menyenangkan tentang ini adalah bahwa pengguna ini tidak muncul di layar masuk dan Anda tidak dapat masuk karena mereka tanpa sudo
dll.
Setelah menghapus pengguna seperti itu mencoba beberapa hal, saya ingin membuatnya kembali, tetapi tidak bisa. Saya dapat mengatur untuk mendapatkan pengguna dengan kata sandi kosong dan saya dapat mengatur kata sandinya *
. Tetapi tidak ada yang memiliki efek yang sama seperti di atas, karena pengguna muncul di layar login saya.
Bagaimana Anda membuat pengguna seperti itu?
useradd
mulai menambahkan id di 1000, dan manajer login tidak akan menampilkan id pengguna di bawah itu, tetapi semuanya di atas. jadi meskipun itu bukan jawaban untuk pertanyaan ini, itu mungkin resolusi untuk masalah tersebut. harap dicatat bahwa 1000 adalah arbitrer dan mungkin lebih rendah atau lebih tinggi pada distribusi Anda. Untuk memperbaikinya cukup modifikasi entri pengguna/etc/passwd
untuk memiliki uid yang lebih rendah. Sekarang bagi saya untuk mengajukan pertanyaan serupa.Jawaban:
Anda dapat menjalankan
passwd --delete <username>
setelah membuat pengguna denganadduser
. Setelah ini, Anda dapat masuk tanpa memasukkan kata sandi.sumber
Seorang pengguna di / etc / passwd dengan direktori home dari / dev / null dan shell dari / sbin / nologin, dapat digunakan untuk perintah sudo, tetapi sebenarnya tidak dapat login, misalnya;
dari / etc / passwd saya
Saya setengah ingat ini akan membuatnya menghilang dari layar login XDM juga, tapi saya tidak menggunakan XDM lagi, jadi itu dugaan :-)
sumber
Anda dapat menggunakan
usermod
, yang akan menonaktifkan kata sandi menggunakan!
bukan*
.Dari halaman manual di usermod:
sumber
Menggunakan
dscl
akan memberisumber
Saya tidak yakin tentang OSX, tetapi pada FreeBSD Anda dapat menggunakan:
nilai yang
-
diteruskan ke-h
opsi memberitahupw
untuk mengatur bidang kata sandi di master.passwd*
, sehingga membuat akun tidak masuk. Pengaturan shell tidak sepenuhnya diperlukan, tetapi hindari cek shell dari /etc/pw.conf.sumber
Membiarkan bidang kata sandi kosong untuk pengguna dalam
passwd
file akan berfungsi.sumber
Jika Anda menggunakan Ubuntu, Anda dapat bertukar kata sandi untuk pengguna Ubuntu di / etc / shadow lihat artikel ini:
http://www.psychocats.net/ubuntucat/creating-a-passwordless-account-in-ubuntu/
sumber
Di Linux saya menggunakan:
Alternatif berikutnya harus lebih lintas platform (jika
-r
opsi tidak tersedia):Sini:
kata sandi di / etc / shadow akan diatur ke
*
. Tanpa-p \*
itu akan terjadi!
shell akan menjadi
/sbin/nologin
(Anda dapat menggunakan/bin/false
juga, tapi saya pikir/bin
mungkin sudah terlambat dipasang pada beberapa sistem). Jadi pengguna tidak bisa masuk-d
set homedir penggunaCATATAN PENTING
Di sini
-r
membuat pengguna sistem:Bendera ini digunakan untuk membuat akun sistem. Artinya, pengguna dengan nilai
UID
lebih rendah dari nilai yangUID_MIN
ditentukan dalam /etc/login.defs dan kata sandinya tidak kedaluwarsa. Perhatikan bahwa useradd tidak akan membuat direktori home untuk pengguna seperti itu, terlepas dari pengaturan default di /etc/login.defs . Anda harus menentukan-m
opsi jika Anda ingin direktori rumah untuk akun sistem dibuat. Ini adalah opsi yang ditambahkan oleh Red Hat .Opsi
-r
mungkin tidak ada pada sistem Anda. Jadi untuk membuat pengguna sistem, yang tidak ditampilkan di layar login Anda, saya pikir, Anda dapat menggunakan-K
opsi. Sesuatu seperti:-K UID_MIN=100 -K UID_MAX=499
. Anda dapat mencoba opsi seperti:untuk secara otomatis menentukan Anda
UID_MAX
, tapi aku sudah tidak diuji pada OS X. Anda akan perlu menggunakanSYS_UID_MAX
untukUID_MIN
jika tanda komentar di /etc/login.defsHal yang sama untuk
GID_MAX
danGID_MIN
untuk id grup sistem. (LihatGID_MIN
dan jika uncommentedSYS_GID_MAX
di /etc/login.defs untuk digunakan sebagaiGID_MAX
)sumber