Android

วิธีสร้างผู้ใช้ใน linux (คำสั่ง useradd)

Linux - Add, Delete and Modify Users (adduser, deluser, passwd, chfn)

Linux - Add, Delete and Modify Users (adduser, deluser, passwd, chfn)

สารบัญ:

Anonim

Linux เป็นระบบที่มีผู้ใช้หลายคนซึ่งหมายความว่ามากกว่าหนึ่งคนสามารถโต้ตอบกับระบบเดียวกันในเวลาเดียวกัน ในฐานะผู้ดูแลระบบคุณมีความรับผิดชอบในการจัดการผู้ใช้และกลุ่มของระบบโดยการสร้างและลบผู้ใช้และมอบหมายให้กลุ่มต่าง ๆ

ใน Linux คุณสามารถสร้างบัญชีผู้ใช้และกำหนดผู้ใช้ให้กับกลุ่มต่างๆโดยใช้คำสั่ง useradd useradd เป็นยูทิลิตี้ระดับต่ำผู้ใช้ Debian และ Ubuntu มีแนวโน้มที่จะใช้คำสั่ง adduser ที่เป็นมิตรกว่าแทน

เราจะพูดถึงวิธีการใช้คำสั่ง useradd และสำรวจตัวเลือก

คำสั่ง useradd

ไวยากรณ์ทั่วไปสำหรับคำสั่ง useradd มีดังนี้:

useradd USERNAME

เพื่อให้สามารถใช้คำสั่ง useradd และสร้างผู้ใช้ใหม่คุณจะต้องเข้าสู่ระบบในฐานะ root หรือผู้ใช้ที่มีการเข้าถึง sudo

เมื่อเรียกใช้ useradd จะสร้างบัญชีผู้ใช้ใหม่โดยใช้ตัวเลือกที่ระบุในบรรทัดคำสั่งรวมถึงค่าเริ่มต้นที่ระบุในไฟล์ /etc/default/useradd

ตัวแปรที่กำหนดไว้ในไฟล์นี้แตกต่างจากการกระจายไปยังการกระจายซึ่งทำให้คำสั่ง useradd ให้ผลลัพธ์ที่แตกต่างกันในระบบที่แตกต่างกัน

คำสั่งยังอ่านเนื้อหาของไฟล์ /etc/login.defs ไฟล์นี้มีการกำหนดค่าสำหรับชุดรหัสผ่านเงาเช่นนโยบายการหมดอายุของรหัสผ่านช่วงของรหัสผู้ใช้ที่ใช้เมื่อสร้างระบบและผู้ใช้ทั่วไปและอื่น ๆ

วิธีการสร้างผู้ใช้ใหม่ใน Linux

หากต้องการสร้างบัญชีผู้ใช้ใหม่ให้พิมพ์ useradd แล้วตามด้วยชื่อผู้ใช้

ตัวอย่างเช่นการสร้างชื่อผู้ใช้ใหม่ชื่อ username คุณจะเรียกใช้:

sudo useradd username ในรูปแบบที่ง่ายที่สุดเมื่อใช้โดยไม่มีตัวเลือกใด ๆ useradd จะสร้างบัญชีผู้ใช้ใหม่ด้วยการตั้งค่าเริ่มต้นที่ระบุในไฟล์ /etc/default/useradd

คำสั่งเพิ่มรายการในไฟล์ /etc/passwd , /etc/shadow, /etc/group และ /etc/gshadow

เพื่อให้สามารถเข้าสู่ระบบในฐานะผู้ใช้ที่สร้างขึ้นใหม่คุณต้องตั้งรหัสผ่านผู้ใช้ ในการทำเช่นนั้นให้รันคำสั่ง passwd ตามด้วยชื่อผู้ใช้:

sudo passwd username

คุณจะได้รับแจ้งให้ป้อนและยืนยันรหัสผ่าน ตรวจสอบให้แน่ใจว่าคุณใช้รหัสผ่านที่คาดเดายาก

Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully.

วิธีเพิ่มผู้ใช้ใหม่และสร้างโฮมไดเร็กตอรี่

ใน Linux distros ส่วนใหญ่เมื่อสร้างบัญชีผู้ใช้ใหม่ด้วยคำสั่ง useradd ไดเรกทอรีหลักของผู้ใช้จะไม่ถูกสร้างขึ้น

ใช้ตัวเลือก -m ( --create-home ) เพื่อสร้างโฮมไดเรกทอรีผู้ใช้เป็น /home/username :

sudo useradd -m username

คำสั่งด้านบนสร้างโฮมได /etc/skel ของผู้ใช้ใหม่และคัดลอกไฟล์จาก /etc/skel ไปยังโฮมได /etc/skel ของผู้ใช้. หากคุณแสดงรายการไฟล์ในไดเรกทอรี /home/username คุณจะเห็นไฟล์เริ่มต้น:

ls -la /home/username/

drwxr-xr-x 2 username username 4096 Dec 11 11:23. drwxr-xr-x 4 root root 4096 Dec 11 11:23.. -rw-r--r-- 1 username username 220 Apr 4 2018.bash_logout -rw-r--r-- 1 username username 3771 Apr 4 2018.bashrc -rw-r--r-- 1 username username 807 Apr 4 2018.profile

ภายในโฮมไดเร็กทอรีผู้ใช้สามารถเขียนแก้ไขและลบไฟล์และไดเรกทอรี

การสร้างผู้ใช้ด้วย Home Directory เฉพาะ

ตัวอย่างเช่นในการสร้างผู้ใช้ใหม่ชื่อ username ด้วยโฮมไดเรกทอรีของ /opt/username คุณจะต้องเรียกใช้คำสั่งต่อไปนี้:

sudo useradd -m -d /opt/username username

การสร้างผู้ใช้ด้วย ID ผู้ใช้เฉพาะ

ในระบบปฏิบัติการ Linux และ Unix จะมีการระบุผู้ใช้ด้วย UID และชื่อผู้ใช้ที่ไม่ซ้ำใคร

User identifier (UID) เป็นจำนวนเต็มบวกเฉพาะที่กำหนดโดยระบบ Linux ให้กับผู้ใช้แต่ละคน UID พร้อมกับนโยบายควบคุมการเข้าถึงอื่น ๆ จะใช้เพื่อกำหนดประเภทของการกระทำที่ผู้ใช้สามารถดำเนินการกับทรัพยากรระบบ

โดยดีฟอลต์เมื่อผู้ใช้ใหม่ถูกสร้างขึ้นระบบจะกำหนด UID ที่พร้อมใช้งานถัดไปจากช่วงของ ID ผู้ใช้ที่ระบุในไฟล์ login.defs

ใช้อ็อพชัน -u ( --uid ) เพื่อสร้างผู้ใช้ที่มี UID เฉพาะ ตัวอย่างเช่นการสร้างชื่อผู้ใช้ใหม่ชื่อ username ด้วย UID 1500 คุณจะพิมพ์:

sudo useradd -u 1500 username

คุณสามารถตรวจสอบ UID ของผู้ใช้โดยใช้คำสั่ง id :

id -u username

1500

การสร้างผู้ใช้ด้วย ID กลุ่มเฉพาะ

กลุ่ม Linux เป็นหน่วยองค์กรที่ใช้ในการจัดระเบียบและจัดการบัญชีผู้ใช้ใน Linux วัตถุประสงค์หลักของกลุ่มคือการกำหนดชุดของสิทธิพิเศษเช่นการอ่านการเขียนหรือการดำเนินการอนุญาตสำหรับทรัพยากรที่กำหนดที่สามารถใช้ร่วมกันระหว่างผู้ใช้ภายในกลุ่ม

เมื่อสร้างผู้ใช้ใหม่พฤติกรรมเริ่มต้นของคำสั่ง useradd คือการสร้างกลุ่มที่มีชื่อเดียวกันกับชื่อผู้ใช้และ GID เดียวกับ UID

ใช้ตัวเลือก -g ( --gid ) เพื่อสร้างผู้ใช้ที่มีกลุ่มเข้าสู่ระบบเริ่มต้นที่เฉพาะเจาะจง คุณสามารถระบุชื่อกลุ่มหรือหมายเลข GID ชื่อกลุ่มหรือ GID ต้องมีอยู่แล้ว

ตัวอย่างเช่นการสร้างชื่อผู้ใช้ใหม่ชื่อ username และตั้งค่ากลุ่มเข้าสู่ประเภท users :

sudo useradd -g users username

ในการตรวจสอบ GID ของผู้ใช้ให้ใช้คำสั่ง id :

id -gn username

users

การสร้างผู้ใช้และมอบหมายหลายกลุ่ม

มีสองประเภทของกลุ่มในระบบปฏิบัติการ Linux กลุ่มหลักและกลุ่มรองหรือกลุ่มเสริม ผู้ใช้แต่ละคนสามารถอยู่ในกลุ่มหลักหนึ่งกลุ่มและกลุ่มรองอย่างน้อยหนึ่งกลุ่ม

ตัวเลือก -G ( --groups ) ช่วยให้คุณระบุรายการกลุ่มเสริมที่ผู้ใช้จะเป็นสมาชิก

คำสั่งต่อไปนี้จะสร้างชื่อผู้ใช้ใหม่ชื่อ username กับ users กลุ่มหลักและกลุ่ม wheel รองและ docker

sudo useradd -g users -G wheel, developers username

คุณสามารถตรวจสอบกลุ่มผู้ใช้โดยการพิมพ์

id username

uid=1002(username) gid=100(users) groups=100(users), 10(wheel), 993(docker)

การสร้างผู้ใช้ด้วยเชลล์ล็อกอินเฉพาะ

โดยค่าเริ่มต้นเปลือกเข้าสู่ระบบของผู้ใช้ใหม่จะถูกตั้งค่าเป็นหนึ่งที่ระบุไว้ในไฟล์ /etc/default/useradd ใน Linux ดิสทริบิวชันเช่น Ubuntu 18.04 เชลล์เริ่มต้นถูกตั้งค่าเป็น /bin/sh ในขณะที่อื่น ๆ มันถูกตั้งค่าเป็น /bin/bash

--shell -s ( --shell ) อนุญาตให้คุณระบุเชลล์ล็อกอินของผู้ใช้ใหม่

ตัวอย่างเช่นการสร้างชื่อผู้ใช้ใหม่ชื่อ username มี /usr/bin/zsh เป็นประเภทเปลือกเข้าสู่ระบบ:

sudo useradd -s /usr/bin/zsh username

ตรวจสอบรายการผู้ใช้ในไฟล์ /etc/passwd เพื่อตรวจสอบเชลล์ล็อกอินของผู้ใช้:

grep username /etc/passwd

username:x:1001:1001::/home/username:/usr/bin/zsh

การสร้างผู้ใช้ด้วยความคิดเห็นที่กำหนดเอง

--comment -c ( --comment ) อนุญาตให้คุณเพิ่มคำอธิบายสั้น ๆ สำหรับผู้ใช้ใหม่ โดยทั่วไปแล้วชื่อเต็มของผู้ใช้หรือข้อมูลการติดต่อจะถูกเพิ่มเป็นความคิดเห็น

ในตัวอย่างต่อไปนี้เรากำลังสร้างชื่อผู้ใช้ใหม่ชื่อ username ด้วยสตริงข้อความ Test User Account เป็นความคิดเห็น:

sudo useradd -c "Test User Account" username

ความคิดเห็นถูกบันทึกในไฟล์ /etc/passwd :

grep username /etc/passwd

username:x:1001:1001:Test User Account:/home/username:/bin/sh

ช่องแสดงความคิดเห็นยังเป็นที่รู้จักกันในนาม GECOS

การสร้างผู้ใช้ที่มีวันหมดอายุ

ตัวเลือก -e (- --expiredate ) ช่วยให้คุณสามารถกำหนดเวลาที่บัญชีผู้ใช้ใหม่จะหมดอายุ ตัวเลือกนี้มีประโยชน์สำหรับการสร้างบัญชีชั่วคราว ต้องระบุวันที่โดยใช้ YYYY-MM-DD

ตัวอย่างเช่นในการสร้างบัญชีผู้ใช้ใหม่ที่ชื่อชื่อ username โดยกำหนดเวลาหมดอายุเป็น 22 มกราคม 2019 คุณจะเรียกใช้:

sudo useradd -e 2019-01-22 username

คุณสามารถใช้คำสั่ง chage เพื่อตรวจสอบวันหมดอายุของบัญชีผู้ใช้:

sudo chage -l username

ผลลัพธ์จะมีลักษณะดังนี้:

Last password change: Dec 11, 2018 Password expires: never Password inactive: never Account expires: Jan 22, 2019 Minimum number of days between password change: 0 Maximum number of days between password change: 99999 Number of days of warning before password expires: 7

การสร้างผู้ใช้ระบบ

ไม่มีความแตกต่างทางเทคนิคที่แท้จริงระหว่างระบบและผู้ใช้ปกติ (ปกติ) โดยทั่วไปผู้ใช้ระบบจะถูกสร้างขึ้นเมื่อติดตั้งระบบปฏิบัติการและแพ็คเกจใหม่

ในบางสถานการณ์คุณอาจต้องสร้างผู้ใช้ระบบที่จะถูกใช้โดยแอพพลิเคชั่นบางตัว

ใช้ตัวเลือก -r ( --system ) เพื่อสร้างบัญชีผู้ใช้ระบบ ตัวอย่างเช่นในการสร้างผู้ใช้ระบบใหม่ชื่อ username คุณจะต้องรัน:

sudo useradd -r username

ผู้ใช้ระบบถูกสร้างขึ้นโดยไม่มีวันหมดอายุ UID ของพวกเขาถูกเลือกจากช่วงของ ID ผู้ใช้ระบบที่ระบุในไฟล์ login.defs ซึ่งแตกต่างจากช่วงที่ใช้สำหรับผู้ใช้ปกติ

การเปลี่ยนค่า useradd เริ่มต้น

ตัวเลือก useradd เริ่มต้นสามารถดูและเปลี่ยนแปลงได้โดยใช้ตัวเลือก -D , --defaults หรือแก้ไขค่าด้วยตนเองในไฟล์ /etc/default/useradd

วิธีดูประเภทตัวเลือกเริ่มต้นปัจจุบัน:

useradd -D

ผลลัพธ์จะมีลักษณะดังนี้:

GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no

สมมติว่าคุณต้องการเปลี่ยนเชลล์ล็อกอินเริ่มต้นจาก /bin/sh เป็น /bin/bash ในการทำเช่นนั้นให้ระบุเชลล์ใหม่ดังที่แสดงด้านล่าง:

sudo useradd -D -s /bin/bash

คุณสามารถตรวจสอบว่าค่าเปลือกเริ่มต้นมีการเปลี่ยนแปลงโดยใช้คำสั่งต่อไปนี้:

sudo useradd -D | grep -i shell

SHELL=/bin/bash

ข้อสรุป

ในบทช่วยสอนนี้เราได้แสดงวิธีสร้างบัญชีผู้ใช้ใหม่โดยใช้คำสั่ง useradd คำแนะนำเดียวกันนี้สำหรับการแจกจ่าย Linux รวมถึง Ubuntu, CentOS, RHEL, Debian, Fedora และ Arch Linux

อย่าลังเลที่จะแสดงความคิดเห็นหากคุณมีคำถามใด ๆ

กลุ่มผู้ใช้ปลายทาง