Apa yang dilakukan adduser yang tidak dilakukan useradd?

71

Selain lebih luas useradd, sistem berbasis Debian juga berisi adduserperintah tambahan yang menyediakan antarmuka tingkat yang lebih tinggi untuk menambahkan pengguna dan beberapa tugas terkait. Ada berbagai pertanyaan / jawaban di situs SE lain yang merinci perbedaan mendasar antara perintah-perintah ini, misalnya:

Sebagian besar jawaban pada dasarnya mengatakan bahwa addusermenyediakan antarmuka yang lebih baik untuk menambahkan pengguna secara interaktif, tetapi tidak memberikan banyak detail tentang apa yang terjadi ketika adduserdijalankan yang tidak dibandingkan dengan useradd. Begitu:

  1. Apa yang tidak adduserdilakukannya useradd?
  2. Perintah apa yang perlu saya gunakan untuk menghasilkan hasil yang setara?
Graeme
sumber

Jawaban:

79

Pertama, potongan halaman manual masing-masing menyoroti perbedaan antara kedua perintah dan memberikan beberapa indikasi tentang apa yang sedang terjadi. Untuk adduser:

adduser dan addgroup menambahkan pengguna dan grup ke sistem sesuai dengan opsi baris perintah dan informasi konfigurasi di /etc/adduser.conf. Mereka adalah ujung depan yang ramah untuk alat tingkat rendah seperti useradd, groupadd dan program usermod, secara default memilih nilai UID dan GID sesuai kebijakan Debian, membuat direktori home dengan konfigurasi kerangka, menjalankan skrip kustom, dan fitur lainnya.

Kemudian untuk useradd:

useradd adalah utilitas tingkat rendah untuk menambahkan pengguna. Di Debian, administrator biasanya menggunakan adduser (8) sebagai gantinya.

Penyelidikan lebih lanjut addusermengungkapkan bahwa itu adalah skrip perl yang menyediakan antarmuka tingkat tinggi untuk, dan dengan demikian menawarkan beberapa fungsi dari, perintah berikut:

  • useradd
  • groupadd
  • passwd - Digunakan untuk menambah / mengubah kata sandi pengguna.
  • gpasswd - Digunakan untuk menambah / mengubah kata sandi grup.
  • usermod - Digunakan untuk mengubah berbagai parameter terkait pengguna.
  • chfn - Digunakan untuk menambah / mengubah informasi tambahan yang disimpan pada pengguna.
  • chage - Digunakan untuk mengubah informasi kedaluwarsa kata sandi.
  • edquota - Digunakan untuk mengubah kuota penggunaan disk.

Jalankan dasar dari adduserperintah adalah sebagai berikut:

adduser username

Perintah sederhana ini akan melakukan sejumlah hal:

  1. Buat nama pengguna username.
  2. Buat direktori home pengguna (standarnya adalah /home/usernamedan salin file dari /etc/skeldalamnya).
  3. Buat grup dengan nama yang sama dengan pengguna dan tempatkan pengguna di dalamnya.
  4. Meminta kata sandi untuk pengguna.
  5. Meminta informasi tambahan tentang pengguna.

The useraddProgram dapat sebagian besar mencapai sebagian besar ini, namun tidak melakukannya secara default dan membutuhkan opsi tambahan. Beberapa informasi memerlukan lebih banyak perintah:

useradd -m -U username
passwd username
chfn username

Catatan yang addusermemastikan bahwa UID dan GID yang dibuat sesuai dengan kebijakan Debian . Membuat pengguna normal dengan useraddtampaknya ok, disediakan UID_MIN/ UID_MAXdi /etc/login.defssesuai dengan kebijakan Debian. Yang menjadi masalah adalah bahwa Debian menentukan kisaran tertentu untuk UID pengguna sistem yang hanya tampaknya didukung /etc/adduser.conf, sehingga menambahkan pengguna sistem dengan naif useradddan tidak menentukan UID / GUID dalam rentang yang benar meninggalkan potensi masalah serius.

Penggunaan umum lainnya adduseradalah menyederhanakan proses penambahan pengguna ke grup. Di sini, perintah berikut:

adduser username newgroup

mengganti usermodperintah yang lebih kompleks yang mengharuskan grup yang pengguna telah menjadi anggotanya (dan Anda ingin agar pengguna tetap menjadi anggota) ditentukan:

usermod -G all,other,groups,user,is,in,newgroup

Satu kelemahan menggunakan di addusersini adalah Anda hanya dapat menentukan satu grup pada satu waktu.

Graeme
sumber
Ini keren! Aku bahkan tidak tahu ini pertanyaan. Apakah itu mengambil kata sandi hash seperti yang dilakukan useradd? Omong-omong, ini pekerjaan yang sangat bagus.
mikeserv
Saya tidak tahu apakah saya sepenuhnya setuju dengan pernyataan "administrator harus ..." ... Secara pribadi, saya percaya administrator mungkin harus menyusun sendiri addusersesuai dengan kebijakan seluruh sistem, tapi itu hanya kursi berlengan quarterbacking terbaik.
mikeserv
@ mikeserv, tidak ada kata sandi hash. Ada program lain yang harus Anda ketahui - chpasswd- ini dapat menerima kata sandi hash stdin. Saya akan menunggu sampai besok sebelum saya memperbarui jawaban lain itu meskipun saya pikir.
Graeme
posting yang bagus. Bagi saya detail terlalu banyak. Yang paling saya rindukan adalah, yang adduserawalnya dibuat untuk admin server yang sering diperlukan untuk membuat / memodifikasi / membatasi pengguna nyata seperti pada server email di universitas. Dengan adduserAnda dapat mengotomatiskan proses. Ini berubah sedikit selama bertahun-tahun sehingga saat ini useradddapat menjadi sulit bagi banyak admin dan bagi mereka addusertelah menjadi alat pilihan.
Di Ubuntu 16.04 saya, -U/ --user-groupsepertinya ke default.
Franklin Yu
2

The adduser Perintah secara default juga menciptakan / home direktori / user untuk pengguna sistem, yang tidak dapat Anda lakukan dengan useradd perintah. useradd hanya menambahkan direktori home untuk pengguna normal bukan pengguna sistem.

MFPII
sumber
1

Administrator sistem dapat melakukan apa saja dengan useradd yang dapat dilakukan dengan adduser. Dinyatakan di sini bahwa Anda tidak dapat membuat direktori / home / user untuk pengguna sistem dengan useradd, dan Anda benar-benar bisa, dengan memodifikasi file yang terdapat di / etc / skel. / etc / skel berisi kumpulan file yang awalnya digunakan untuk mengisi direktori home pengguna baru.

niten1
sumber