Ubuntu 14.04: ผู้ใช้ใหม่ที่สร้างขึ้นจากบรรทัดคำสั่งไม่มีคุณสมบัติ


17

ฉันพยายามสร้างผู้ใช้ใหม่ใน Ubuntu 14.04 LTS จากบรรทัดคำสั่ง bash ฉันใช้คำสั่งต่อไปนี้:

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

หลังจากสร้างผู้ใช้ใหม่นี้ฉันพบ 3 ประเด็น:

  1. ฉันไม่สามารถเข้าสู่ระบบ Ubuntu โดยใช้แซมผู้ใช้ เมื่อใดก็ตามที่ฉันเข้าสู่ระบบฉันถูกส่งกลับไปที่หน้าจอเข้าสู่ระบบ

  2. เมื่อฉันมองเข้าไปใน/etc/passwdไฟล์ฉันจะเห็นว่าไม่มีเชลล์เริ่มต้นที่กำหนดไว้สำหรับผู้ใช้ sam:

    cat /etc/passwd | grep sam    
    sam:x:1003:1003:Samwise the Brave:/home/sam:
    
  3. ไม่ได้สร้างโฟลเดอร์บ้านของ Sam เช่น/home/samไม่มีอยู่

เบาะแสใด ๆ เกี่ยวกับสิ่งที่อาจทำให้เกิดปัญหาเหล

ฉันควรทราบที่นี่ว่าเมื่อฉันสร้างผู้ใช้โดยใช้ Unity Control Center ปัญหาเหล่านี้จะไม่เกิดขึ้น แต่ฉันต้องการใช้บรรทัดคำสั่งเนื่องจากฉันมีผู้ใช้หลายสิบคนที่จะสร้าง

คำตอบ:


29

ก่อนอื่นให้สังเกตว่าจะเป็นการดีกว่าถ้าใช้ adduser ไม่ใช่ useradd

กลับไปที่คำสั่งของคุณ:

คุณควรรันคำสั่งด้วยวิธีต่อไปนี้:

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.

ดังนั้นคุณพลาดที่จะใช้-sเพื่อเพิ่มเปลือกเข้าสู่ระบบของคุณและ-mเพื่อสร้างบ้านของคุณ

newusersหากคุณต้องการที่จะเพิ่มผู้ใช้หลายคนในเวลาเดียวกันมันจะดีกว่าที่จะใช้คำสั่ง มันจะทำให้งานของคุณง่ายขึ้น

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

นี่คือnewusersคำสั่งเกี่ยวกับการสอน:


ทำไมฉันถึงได้รับ "unknown option m" ฉันใช้อินสแตนซ์ของ AWS Ubuntu กำลังทำงาน 14.04
Donato

2

สร้างผู้ใช้

สร้างโฮมไดเรกทอรีของผู้ใช้

กำหนดเปลือกเข้าสู่ระบบ

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

ลบผู้ใช้

ไดเรกทอรีบ้านของผู้ใช้ Deleter

userdel -r username

1

ในขณะที่คุณไม่มีธงและคำตอบอื่น ๆ ไม่จำเป็นต้องผิดลองพิจารณาใช้adduserหากคุณต้องการให้ครอบคลุมมากขึ้นในอนาคต มันเป็นรุ่นที่เพิ่มขึ้นของ useradd โดยปกติแล้วมันจะสร้างโฮมไดเรกทอรีตามค่าเริ่มต้นซึ่งแตกต่างจาก useradd นอกจากนี้ควรทราบเมื่อมันขอสิ่งต่าง ๆ มากมายมันจะเก็บสิ่งนั้นไว้ในไฟล์ / etc / passwd และคุณไม่จำเป็นต้องกรอกข้อมูลใด ๆ


1

ขอบคุณทุกคน ด้วยคำตอบของคุณฉันสามารถแก้ไขปัญหาโดยใช้บรรทัดคำสั่งต่อไปนี้

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

ตั้งรหัสผ่านด้วย passwdดังนั้นจึงถูกเข้ารหัสอยู่แล้ว (ไม่เช่นนั้น "hello-1234" จะไม่ปรากฏขึ้นใน / etc / passwd)


0

คุณไม่มีการตั้งค่าสถานะในคำสั่ง useradd '-m' เพื่อสร้างไดเรกทอรีผู้ใช้ '-s / bin / bash' เพื่อเพิ่มเปลือก bash เริ่มต้นคือการไม่สร้างไดเรกทอรีผู้ใช้และกำหนดเปลือกเริ่มต้น ระบบของฉันทำสิ่งเดียวกันเมื่อฉันทดสอบเพื่อให้ดูเหมือนว่า Ubuntu 14.04 ใช้เปล่าเป็นเชลล์เริ่มต้น คุณไม่สามารถเข้าสู่ระบบเพราะคุณไม่มีเปลือก

สร้างโฮมไดเรกทอรีเริ่มต้นสำหรับผู้ใช้ที่มีอยู่ใน terminal (คำถาม 335961, คำตอบที่ 3)

จาก Ubuntu Manpage สำหรับผู้ใช้เพิ่ม

   -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.

คุณจะเปลี่ยนเปลือกเริ่มต้นเพื่อให้ผู้ใช้ทั้งหมดทุบตีได้อย่างไร คำถาม 335961

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.