Berikut kode skrip yang saya gunakan sekarang:
getent group $MYGROUP
if [ $? -ne 0 ] ; then
sudo su -c "groupadd $MYGROUP"
fi
sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP"
Pendekatan ini bekerja dengan baik pada openSuse. Tetapi ada beberapa masalah dengan akun pengguna yang dibuatnya di Ubuntu jadi saya mencari bantuan di sini.
- terminal prompt tidak disetel (
echo $PS1
tidak menghasilkan apa-apa) - tombol panah dan tombol tab tidak berfungsi dengan benar di terminal
- sepertinya kata sandi tidak berfungsi (walaupun saya masih belum jelas apa masalah ini)
- hak / etc / sudoers yang ditetapkan untuk pengguna baru ini tidak dihormati
Jika sebaliknya saya secara manual membuat pengguna dengan adduser
(bukan useradd) saya tidak memiliki masalah ini di Ubuntu. Tapi saya tidak bisa menggunakan adduser
di openSuse (afaik). Oleh karena itu, saya memerlukan skrip non-Debian-eksklusif atau metode menambahkan akun pengguna melalui skrip bash saya yang berfungsi di Ubuntu (dan tidak berhenti bekerja pada distro lain).
Akhirnya, saya ingin memahami perbedaan antara adduser
dan useradd
. Sebagai contoh, saya ingin tahu direktori kerangka mana yang digunakan oleh adduser
karena itu mungkin alasannya useradd
tidak berfungsi seperti yang diharapkan (karena saya baru saja menerima default).
Terima kasih
sudo su -c "cmd arg1 arg2"
setara dengan sudo cmd arg1 arg2
.
sudo su -c "cmd arg1 arg2"
agar berfungsi di mana pun saya membutuhkannya untuk berfungsi.
adduser
adalah skrip perl yang panjangnya lebih dari 1000 baris, jadi untuk perbedaannya Anda bisa melihat skripnya.
adduser
tetapi saya tidak tahu perl. Jadi itu bukan pendekatan yang baik untuk saya.
man useradd
): useradd adalah utilitas tingkat rendah untuk menambahkan pengguna. Di Debian, administrator biasanya menggunakan adduser (8).