Ubuntu 14.04: Pengguna baru yang dibuat dari baris perintah memiliki fitur yang hilang

17

Saya mencoba membuat pengguna baru di Ubuntu 14.04 LTS dari baris perintah bash. Saya menggunakan perintah berikut:

sudo useradd -c "Samwise the Brave" sam    
sudo passwd sam    
Enter new UNIX password: hello-1234    
Retype new UNIX password: hello-1234    
passwd: password updated successfully

Setelah membuat pengguna baru ini, saya menemukan 3 masalah:

  1. Saya tidak dapat masuk ke Ubuntu menggunakan sam pengguna. Setiap kali saya masuk, saya dikirim kembali ke layar masuk.

  2. Ketika saya melihat ke dalam /etc/passwdfile, saya dapat melihat bahwa tidak ada shell default yang ditentukan untuk pengguna sam:

    cat /etc/passwd | grep sam    
    sam:x:1003:1003:Samwise the Brave:/home/sam:
    
  3. Folder rumah Sam tidak dibuat, artinya /home/samtidak ada.

Adakah petunjuk tentang apa yang dapat menyebabkan semua masalah ini?

Saya harus mencatat di sini bahwa ketika saya membuat pengguna menggunakan Unity Control Center, masalah ini tidak terjadi. Tetapi saya ingin dapat menggunakan baris perintah karena saya memiliki puluhan pengguna untuk dibuat.

phoror
sumber

Jawaban:

29

Pemberitahuan pertama bahwa lebih baik menggunakan adduser dan bukan useradd.

Sekarang kembali ke perintah Anda:

Anda harus menjalankan perintah dengan cara berikut:

sudo useradd -m -c "Samwise the Brave" sam  -s /bin/bash 

man useradd

  -s, --shell SHELL
           The name of the user's login shell. The default is to leave this
           field blank, which causes the system to select the default login
           shell specified by the SHELL variable in /etc/default/useradd, or
           an empty string by default.

 -m, --create-home
           Create the user's home directory if it does not exist. The files
           and directories contained in the skeleton directory (which can be
           defined with the -k option) will be copied to the home directory.

           By default, if this option is not specified and CREATE_HOME is not
           enabled, no home directories are created.

Jadi Anda ketinggalan menggunakan -suntuk menambahkan shell login Anda dan -muntuk membuat rumah Anda.

Jika Anda ingin menambahkan beberapa pengguna secara bersamaan, lebih baik menggunakan perintah newusers. Ini akan menyederhanakan tugas Anda.

man newusers

DESCRIPTION

   The newusers command reads a file of user name and clear-text password
   pairs and uses this information to update a group of existing users or
   to create new users. Each line is in the same format as the standard
   password file (see passwd(5)) with the exceptions explained below:

   pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell

Berikut beberapa tutorial tentang newusersperintah:

Maythux
sumber
Mengapa saya mendapatkan "opsi tidak dikenal m"? Saya menggunakan AWS Ubuntu menjalankan 14.04.
Donato
2

Buat pengguna

Buat direktori home pengguna

Tentukan shell login

useradd -m -d /home/username username -s /bin/bash

Hapus pengguna

Direktori Rumah Pengguna Deleter

userdel -r username
Sai
sumber
1

Meskipun Anda kehilangan tanda dan jawaban lainnya tidak selalu salah, pertimbangkan menjalankan adduser jika Anda menginginkannya lebih komprehensif di masa depan. Ini adalah versi useradd yang lebih cantik. Yaitu itu akan membuat direktori home secara default tidak seperti useradd. Perhatikan juga ketika meminta banyak hal, ia menyimpan inline pada file / etc / passwd dan Anda tidak perlu mengisinya.

Michael Bailey
sumber
1

Terimakasih semuanya. Dengan jawaban Anda, saya dapat memperbaiki masalah menggunakan baris perintah berikut.

sudo useradd -c "Samwise the Brave" -m -s /bin/bash sam
echo -e "hello-1234\nhello-1234" | passwd sam

Kata sandi diatur passwdsehingga sudah dienkripsi (jika tidak, "halo-1234" akan muncul tidak terenkripsi di / etc / passwd).

phoror
sumber
0

Anda kehilangan tanda di perintah useradd. '-m' untuk membuat direktori pengguna, '-s / bin / bash' untuk menambahkan bash shell. Defaultnya adalah tidak membuat direktori pengguna dan menetapkan shell default. Sistem saya melakukan hal yang sama ketika saya mengujinya sehingga sepertinya ubuntu 14.04 menggunakan blank sebagai shell default. Anda tidak dapat masuk karena Anda tidak memiliki shell.

Buat direktori home default untuk pengguna yang ada di terminal (Pertanyaan 335961, Jawaban ke-3)

Dari Ubuntu Manpage untuk useradd

   -s, --shell SHELL
       The name of the user´s login shell. The default is to leave this
       field blank, which causes the system to select the default login
       shell.

Bagaimana Anda mengubah shell default untuk SEMUA PENGGUNA untuk bash? Pertanyaan 335961

Codeguy007
sumber