ฉันต้องการสร้างผู้ใช้ใหม่เพื่อเรียกใช้บริการบนระบบ แต่ไม่ต้องการมี/home
และไฟล์การกำหนดค่าอื่น ๆ เหมือนมีผู้ใช้สำหรับ postgres แต่ไม่มี/home
ไดเรกทอรีใด ๆ
ฉันต้องการสร้างผู้ใช้ใหม่เพื่อเรียกใช้บริการบนระบบ แต่ไม่ต้องการมี/home
และไฟล์การกำหนดค่าอื่น ๆ เหมือนมีผู้ใช้สำหรับ postgres แต่ไม่มี/home
ไดเรกทอรีใด ๆ
คำตอบ:
โดยค่าเริ่มต้นคำสั่ง useradd ไม่ได้สร้างโฮมไดเรกทอรี แต่สำหรับ daemon ฉันแนะนำให้คุณใช้ตัวเลือกระบบและเปลี่ยนเชลล์เป็นไม่มีอยู่ดังนั้นไม่มีใครสามารถเข้าสู่ระบบด้วยบัญชีดังกล่าว (ในตัวอย่าง ssh):
sudo useradd -r -s /bin/false USERNAME
คุณสามารถเห็นตัวเลือกทั้งหมดด้วยman useradd
และman groupadd
ถ้าคุณต้องการสร้างกลุ่มสำหรับผู้ใช้ด้วย
/sbin/nologin
เป็นเชลล์ล็อกอินแม้ว่าการใช้/bin/false
จะไม่สร้างความแตกต่างใด ๆ
ลองadduser --system --no-create-home USERNAME
หรือเพียงแค่ดูที่man adduser
อ้างว่าเป็น " ส่วนหน้ามิตรกับเครื่องมือระดับต่ำเช่น useradd ... "
adduser
กับuseradd
และใช้คำสั่งuseradd
กับตัวเลือกเหล่านี้ไม่ได้ผลิตข้อผิดพลาดใด ๆ /bin/bash
แต่สร้างบัญชีที่มีเปลือก "ระวังผู้ซื้อ"
ฉันต้องการสิ่งที่คล้ายกัน - ผู้ใช้ใหม่ที่ไม่มีสิทธิ์การเข้าสู่ระบบและเชื่อมโยงกับบริการของระบบ อย่างไรก็ตามคำตอบโดย Clausi สร้างผู้ใช้ที่มีกลุ่มหลักเป็น 'nogroup' ซึ่งไม่ต้องการจริงๆ
adduser --system --no-create-home --group USERNAME
สร้างกลุ่มระบบที่มีชื่อเดียวกับผู้ใช้และเชื่อมโยงกับกลุ่มผู้ใช้เป็นกลุ่มหลัก นี้จากนั้นจะสามารถตรวจสอบได้โดยใช้groups USERNAME
หรือid USERNAME
คำสั่ง
ในการเพิ่มผู้ใช้ที่ไม่มีโฮมไดเร็กทอรีคำสั่งคือ:
useradd -M username
หรือ
useradd --no-create-home username
หรือ
adduser -M username
หรือ
adduser --no-create-home username
ลองคำสั่งนี้:
sudo useradd vivek
สิ่งนี้จะสร้างผู้ใช้โดยไม่ต้องสร้างโฟลเดอร์บ้านของคุณที่ /home/vivek
/home/vivek
จะสร้างขึ้นโดยอัตโนมัติ