เหตุใดไดเรกทอรีภายในบ้านจึงไม่ถูกสร้างขึ้นเมื่อฉันสร้างผู้ใช้ใหม่


15

ฉันสร้างผู้ใช้ใหม่ (testuser) โดยใช้useraddคำสั่งบนเครื่องเซิร์ฟเวอร์เสมือนของ Ubuntu ฉันต้องการสร้างโฮมไดเร็กตอรี่สำหรับผู้ใช้และให้รูทโปรเจกชันแก่พวกเขา

อย่างไรก็ตามเมื่อฉันเข้าสู่ระบบในฐานะผู้ใช้ใหม่ก็บ่นว่าไม่มีไดเรกทอรีบ้าน ผมทำอะไรผิดหรือเปล่า?


ฉันตอบคำถามหลักเกี่ยวกับการสร้างผบ. การให้สิทธิ์การเข้าถึงรูทผู้ใช้ใหม่เป็นปัญหาที่ไม่เกี่ยวข้องและควรถามแยกต่างหาก โดยทั่วไปคุณเพียงแค่เพิ่มผู้ใช้ในsudoกลุ่ม
terdon

คำตอบ:


22

ในที่สุดฉันก็จบตัวเอง

นี่คือคำตอบ

   useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser

1
การทำแฟล็ก -d หรือการทำแฟล็ก -G คืออะไร
Alexander Mills

คุณตรวจสอบโดยใช้คำสั่ง man เพียงแค่รัน "man useradd"
เริ่มต้น

1
-mสร้างโฮมไดเรกทอรีหากไม่มีอยู่ -dแทนที่ตำแหน่งโฮมไดเร็กตอรี่เริ่มต้น -sตั้งค่าล็อกอินเชลล์สำหรับผู้ใช้ -Gคาดว่าจะมีรายชื่อกลุ่มที่คั่นด้วยเครื่องหมายจุลภาคที่ผู้ใช้ควรอยู่
Alastair Harrison

@ ผู้เริ่มต้นyou check using man command.นั่นเป็นคำตอบที่ไม่มีประโยชน์คุณสามารถอธิบายได้หลังจากที่คุณจดจำผู้คนเกี่ยวกับmanฟังก์ชั่นนี้แล้ว
MS Berends

@AlastairHarrison สรรเสริญคุณ
MS Berends

21

โปรแกรมได้รับการคัดค้านในความโปรดปรานของuseradd adduserจากman useradd:

useradd เป็นยูทิลิตี้ระดับต่ำสำหรับการเพิ่มผู้ใช้ ใน Debian,
ผู้บริหารมักจะควรใช้ adduser (8)
แทน

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

$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1002) ...
Adding new user `testuser' (1002) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] 

โดยทั่วไปคุณควรใช้adduserแทนuseraddเนื่องจากจะเป็นการตั้งค่ากลุ่มที่ต้องการโดยอัตโนมัติ ตามที่อธิบายไว้ในman adduser:

   adduser  and  addgroup  add users and groups to the system according to
   command    line    options    and    configuration    information    in
   /etc/adduser.conf.   They  are  friendlier  front ends to the low level
   tools like useradd, groupadd and usermod programs, by default  choosing
   Debian  policy conformant UID and GID values, creating a home directory
   with skeletal configuration, running a custom script,  and  other  fea‐
   tures. 

1
ฉันไม่ต้องการใช้คำสั่ง adduser
เริ่มต้น

4
@rajcoumar อืมทำไม? นั่นเป็นเครื่องมือที่เหมาะสมสำหรับงาน หากคุณยืนยันในการใช้เครื่องมือที่ไม่ถูกต้องคุณจะต้องสร้างด้วยตนเองไดเรกทอรีบ้านและกลุ่มผู้ใช้และคัดลอกไฟล์เริ่มต้นจาก/etc/skelฯลฯ ฯลฯ นั่นคือเหตุผลอย่างเป็นทางการ Debian adduserWay®คือการใช้งาน
terdon

1
#terdon ya ถูกต้อง .. แต่ฉันกำลังเขียนเชลล์สคริปต์โดยใช้คำสั่ง useradd เท่านั้น
Beginner

@rajcoumar ตกลงแล้วคุณต้องสร้างทุกอย่างด้วยตนเองหรือเพียงแค่เปลี่ยนสคริปต์เพื่อใช้ตัวปรับแทน เพียงแค่สร้างไฟล์ /etc/adduser.conf
terdon

1
เพียงแค่ดูคำตอบของฉันฉันไม่รู้ว่ามันถูกต้อง แต่มันเหมาะกับฉัน
Beginner

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