Pertanyaan Jalankan adduser secara non-interaktif


Saya ingin menggunakan adduser perintah untuk menambahkan pengguna (dengan kata sandi yang dinonaktifkan) melalui skrip shell.

Secara default, adduser meminta Anda untuk berbagai nilai (mis., Nama Lengkap). Apakah ada cara untuk mengirimkan nilai-nilai ini melalui baris perintah? Atau apakah saya perlu useradd sebagai gantinya?


158
2018-01-09 13:54


asal


lihat halaman manual untuk adduser. Ini akan membantu Anda. - Zoke
@Zoke Saya tidak dapat menemukan info yang saya cari di halaman manual. - Lorin Hochstein


Jawaban:


Menggunakan --gecos opsi untuk melewati chfn bagian interaktif.

adduser --disabled-password --gecos "" username

Semuanya ada di halaman manual. Bukan formulasi yang paling jelas.

--gecos GECOS
          Set  the  gecos field for the new entry generated.  adduser will
          not ask for finger information if this option is given.

Bidang GECOS adalah daftar yang dipisahkan koma seperti itu: Full name,Room number,Work phone,Home phone, meskipun halaman manual itu menyebutkan finger information  Detail - Wikipedia

Semoga ini bisa membantu Anda.


213
2018-01-09 14:18



Ya, saya bisa melihat bagaimana saya merindukan itu. "gecos" bukanlah deskripsi yang jelas - Lorin Hochstein
+1 --gecos sangat membingungkan. - Trevor Sullivan


useradd juga dapat menambahkan pengguna dan tampaknya tidak memiliki bentuk apa pun yang diminta.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m, --create-home: Buat direktori home pengguna
  • -p, --password: Tentukan kata sandi pengguna; lewati untuk membuatnya dinonaktifkan
  • -s, --shell: Shell default untuk pengguna logon

    Blank akan menggunakan shell login default yang ditentukan oleh SHELL variabel dalam /etc/default/useradd

  • Pengganti <user> dengan nama login
  • Pengganti <encryptedPassword> dengan terenkripsi kata sandi

Menghasilkan kata sandi yang di-hash:

Ada banyak implementasi crypt3 yang dapat menghasilkan kata sandi yang di-hash. Semuanya adalah kata sandi hash Anda.

Berbasis Sha-512

Format output yang dihasilkan: mekanisme hash ($6 untuk sha-512), garam acak (delapan byte setelah tanda dolar kedua $ASDF1234), sisanya adalah payload.

  • mkpasswd mkpasswd -m sha-512

    (mkpasswd disediakan oleh whois paket)

Berbasis DES:

Format output yang dihasilkan: 2 byte pertama adalah garam Anda, sisanya adalah payload. Semuanya adalah kata sandi hash Anda.

  • mkpasswd: mkpasswd (disediakan oleh whois paket)
  • openssl: openssl passwd -crypt
  • perl: perl -e "print crypt('password', 'sa');"

    /!\ Pilih garam acak dua-byte Anda sebagai ganti 'sa'

  • python: python -c 'import crypt; print crypt.crypt("password", "Fx")'

    /!\ Pilih garam acak dua-byte Anda sebagai ganti "Fx"


28
2017-08-31 18:48



Opsi yang Anda sebutkan tidak ada adduser pada versi Ubuntu (terbaru) saya. - ᴠɪɴᴄᴇɴᴛ
@ ᴠɪɴᴄᴇɴᴛ adduser berbeda dari useradd, membingungkan saya tahu. - ThorSummoner
Ups, memang merindukan bahwa Anda menggunakan hampir senama ... tidakkah ada BDFL yang melindungi namespace baris perintah? ; hal - ᴠɪɴᴄᴇɴᴛ
@ mum007 Ini hanya saran umum, coba tambahkan -v atau -vv atau -vvv ke perintah ssh Anda untuk melihat apa yang salah dan cari pesan kesalahan Anda di sini di SO atau Google. - ThorSummoner
@KovacsAkos coba ini: sudo sed -i"" -e "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_config dan sudo service ssh restart - JSBach