วิธีเพิ่มผู้ใช้โดยไม่ใช้คำสั่ง useradd?


11

เป็นไปได้หรือไม่ที่จะเพิ่มผู้ใช้ใน ubuntu linux โดยไม่มีคำสั่ง useradd ฉันคิดว่ามันเป็นไปได้โดยการเพิ่มรายการใน/etc/passwd and /etc/shadowแต่ฉันไม่ทราบขั้นตอนที่แน่นอนที่จะทำและผู้ใช้ควรได้รับไดเรกทอรีบ้านและเปลือกทุบตี

คำตอบ:


19

มันไม่ได้แนะนำให้ปรับเปลี่ยนด้วยตนเอง/etc/passwd, /etc/shadow, /etc/groupหรือ/etc/gshadowเพราะความเสี่ยงของความแตกแยก adduser(8)หากคุณกำลังมองหาคำสั่งทางเลือกที่ง่ายต่อการใช้งานดูที่ สิ่งที่คุณต้องทำคือ:

sudo adduser user

เปลือกจะเป็นค่าเริ่มต้นต่อ/bin/bash/etc/adduser.conf

โดยปกติหากคุณต้องการเพิ่มผู้ใช้ด้วย bash shell ดังนั้นสร้างโฮมไดเร็กตอรี่/home/userและกลุ่มผู้ใช้คุณจะใช้:

sudo useradd --create-home --shell /bin/bash --user-group user

คำสั่งนี้โดยทั่วไปจะกำหนด ID ผู้ใช้$UIDและ ID กลุ่มฟรี$GIDจากนั้นดำเนินการคำสั่งถัดไป:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

.. และอาจทำการสำรองข้อมูลไฟล์

หน้าคู่มือถัดไปเกี่ยวกับรูปแบบไฟล์อาจเป็นที่สนใจของคุณ:


เฮ้ Lekensteyn คุณคิดถึงส่วนแรกของโพสต์นี้หรือไม่? "เป็นไปได้หรือไม่ที่จะเพิ่มผู้ใช้ใน ubuntu linux โดยไม่ต้องใช้คำสั่ง useradd ... " พวกเขาต้องการวิธีแก้ปัญหาที่ไม่มี useradd: /
Thomas Ward

1
@TheEvilPhoenix: adduserผมคิดว่าเขาถูกถามเกี่ยวกับทางเลือกสำหรับ ฉันได้รวมไว้adduserเป็นคำตอบแล้ว มันเป็นเรื่องจริง "โดยไม่มี useradd" :)
Lekensteyn

ไม่มีปัญหาอยากจะชี้ให้เห็นก็คือทั้งหมด และยกโทษให้ฉันเป็นกึ่งกลาง ... นานวันที่เลวร้ายในการทำงานกับความล้มเหลวของเซิร์ฟเวอร์น้ำตกไม่ได้ที่จะ ...
โทมัสวอร์ด

@ ทั้งหมดฉันต้องการสร้างผู้ใช้โดยไม่มี useradd โดยเพิ่มรายการที่เป็นไปได้ใน / etc / passwd และ / etc / shadow
mr_eclair

2
@ m59 >>พยายามเปิดไฟล์ในฐานะผู้ใช้ปัจจุบัน (ไม่ใช่รูท) ซึ่งจะล้มเหลวด้วยข้อผิดพลาดที่อนุญาตถูกปฏิเสธ การใช้sudo teeบายพาสนั้น หรือคุณสามารถปิดคำสั่งในsudo sh -c '...'เพื่อหลีกเลี่ยงปัญหานั้นได้
Lekensteyn

1

แม้ว่าโดยปกติแล้วจะไม่จำเป็นหรือแนะนำก็ตามคำตอบสำหรับคำถามของวิธีเพิ่มผู้ใช้โดยไม่ใช้คำสั่ง useraddคือการใช้sudo vipw

สิ่งนี้จะเรียกทำงานเอดิเตอร์ที่ระบบกำหนดของคุณขณะล็อกไฟล์ passwd ป้อนบรรทัดสำหรับผู้ใช้ใหม่ (ใน vi, shift-G เพื่อไปที่บรรทัดสุดท้ายจากนั้น yy p เพื่อทำซ้ำ) แก้ไขชื่อผู้ใช้และสร้างหมายเลข ID ผู้ใช้ที่ไม่ซ้ำกัน

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

นอกจากนี้ยังจำเป็นในการสร้างโฮมไดเรกทอรีคัดลอกไฟล์จากไดเรกทอรี Skeleton ตั้งค่าการอนุญาตกลุ่ม ฯลฯ แต่vipwเป็นทรัพยากรหลักของคุณ vigrดูเพิ่มเติม

แหล่งที่มา: http://itguykelly.wordpress.com/2011/04/19/manually-add-new-user-to-red-hat-edfhatoracentos/ (ใช่คำสั่งเหล่านี้ทำงานในหลากหลายรสชาติของ * ระวัง)


0

เมื่อผู้ใช้ถูกสร้างขึ้นในระบบจะมีผลกับไฟล์เช่น / etc / pass, / etc / group, / etc / shadow ดังนั้นให้ไปที่ไฟล์เหล่านี้และทำรายการด้วยตนเอง และสุดท้ายจากไฟล์ / etc / skel เพิ่มโครงกระดูกสำหรับผู้ใช้ในโฮมไดเร็กตอรี่ของผู้ใช้ซึ่งคุณต้องสร้างในโฮมไดเร็กตอรี่.

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