เราทุกคนต่างทราบเกี่ยวกับคำสั่งยอดนิยมที่เรียกว่า 'ผู้ใช้เพิ่ม' หรือ 'adduser'ในลินุกซ์ มีบางครั้งที่ผู้ดูแลระบบ Linux ขอให้สร้างบัญชีผู้ใช้บน Linux ด้วยคุณสมบัติ ข้อจำกัด หรือความคิดเห็นที่เฉพาะเจาะจง
ในลินุกซ์ a 'ผู้ใช้เพิ่ม' คำสั่งคือยูทิลิตี้ระดับต่ำที่ใช้สำหรับเพิ่ม/สร้างบัญชีผู้ใช้ใน ลินุกซ์ และอื่น ๆ คล้ายยูนิกซ์ ระบบปฏิบัติการ. NS 'adduser'คล้ายกับ .มาก ผู้ใช้เพิ่ม คำสั่งเพราะมันเป็นเพียงลิงค์สัญลักษณ์ไปยังมัน
ในลีนุกซ์รุ่นอื่นๆ ผู้ใช้เพิ่ม คำสั่งอาจมาพร้อมกับเวอร์ชันที่ต่างกันเล็กน้อย ฉันแนะนำให้คุณอ่านเอกสารของคุณ ก่อนใช้คำแนะนำของเราในการสร้างบัญชีผู้ใช้ใหม่ใน ลินุกซ์.
เมื่อเราวิ่ง 'ผู้ใช้เพิ่ม' คำสั่งในเทอร์มินัล Linux มันทำสิ่งต่อไปนี้:
ไวยากรณ์พื้นฐานของคำสั่งคือ:
useradd [ตัวเลือก] ชื่อผู้ใช้
ในบทความนี้เราจะแสดงให้คุณเห็นถึงการใช้งานมากที่สุด 15 ผู้ใช้เพิ่มคำสั่ง พร้อมตัวอย่างเชิงปฏิบัติใน
ลินุกซ์. เราได้แบ่งส่วนออกเป็นสองส่วนจาก ขั้นพื้นฐาน ถึง ก้าวหน้า การใช้คำสั่งส่วนที่ 1 – 10 การใช้งานพื้นฐานของ useradd Commands
ในการเพิ่ม/สร้างผู้ใช้ใหม่ คุณต้องทำตามคำสั่ง ‘ผู้ใช้เพิ่ม' หรือ 'adduser' กับ 'ชื่อผู้ใช้' 'ชื่อผู้ใช้' คือชื่อผู้ใช้สำหรับเข้าสู่ระบบ ที่ผู้ใช้ใช้ในการเข้าสู่ระบบ
สามารถเพิ่มผู้ใช้ได้เพียงรายเดียวเท่านั้นและชื่อผู้ใช้นั้นจะต้องไม่ซ้ำกัน (แตกต่างจากชื่อผู้ใช้อื่นที่มีอยู่แล้วในระบบ)
ตัวอย่างเช่น การเพิ่มผู้ใช้ใหม่ชื่อ ‘tecmint' ใช้คำสั่งต่อไปนี้
[[ป้องกันอีเมล] ~]# ผู้ใช้เพิ่ม tecmint
เมื่อเราเพิ่มผู้ใช้ใหม่ใน Linux ด้วย 'ผู้ใช้เพิ่ม'คำสั่งที่ถูกสร้างขึ้นในสถานะล็อคและเพื่อปลดล็อกบัญชีผู้ใช้นั้น เราจำเป็นต้องตั้งรหัสผ่านสำหรับบัญชีนั้นด้วย'รหัสผ่าน' สั่งการ.
[[ป้องกันอีเมล] ~]# passwd tecmint. การเปลี่ยนรหัสผ่านสำหรับผู้ใช้ tecmint รหัสผ่าน UNIX ใหม่: พิมพ์รหัสผ่าน UNIX ใหม่อีกครั้ง: passwd: อัปเดตโทเค็นการตรวจสอบสิทธิ์ทั้งหมดเรียบร้อยแล้ว
เมื่อสร้างผู้ใช้ใหม่แล้ว รายการจะถูกเพิ่มโดยอัตโนมัติใน '/etc/passwd' ไฟล์. ไฟล์นี้ใช้เพื่อเก็บข้อมูลผู้ใช้และรายการที่ควรจะเป็น
tecmint: x: 504:504:tecmint:/home/tecmint:/bin/bash
รายการด้านบนประกอบด้วยชุดของช่องที่คั่นด้วยเครื่องหมายทวิภาคเจ็ดช่อง แต่ละช่องมีความหมายของตัวเอง มาดูกันว่าฟิลด์เหล่านี้คืออะไร:
โดยค่าเริ่มต้น 'ผู้ใช้เพิ่ม'คำสั่งสร้างโฮมไดเร็กทอรีของผู้ใช้ภายใต้ /home ไดเรกทอรีที่มีชื่อผู้ใช้ ตัวอย่างเช่น เราได้เห็นเหนือโฮมไดเร็กทอรีเริ่มต้นสำหรับผู้ใช้ 'tecmint' เป็น '/home/tecmint‘.
อย่างไรก็ตาม การกระทำนี้สามารถเปลี่ยนแปลงได้โดยใช้ '-NS' พร้อมกับตำแหน่งของโฮมไดเร็กทอรีใหม่ (เช่น /data/projects). ตัวอย่างเช่น คำสั่งต่อไปนี้จะสร้างผู้ใช้ 'อนุชา' ด้วยโฮมไดเร็กตอรี่ '/data/projects‘.
[[ป้องกันอีเมล] ~]# useradd -d /data/projects anusha
คุณสามารถดูโฮมไดเร็กทอรีของผู้ใช้และข้อมูลอื่น ๆ ที่เกี่ยวข้องกับผู้ใช้ เช่น รหัสผู้ใช้ รหัสกลุ่ม เชลล์ และความคิดเห็น
[[ป้องกันอีเมล] ~]# cat /etc/passwd | grep anusha อนุชา:x: 505:505::/data/projects:/bin/bash
ใน Linux ผู้ใช้ทุกคนมีของตัวเอง UID (หมายเลขประจำตัวที่ไม่ซ้ำ). โดยค่าเริ่มต้น เมื่อใดก็ตามที่เราสร้างบัญชีผู้ใช้ใหม่ใน ลินุกซ์, มันกำหนด userid 500, 501, 502 และอื่นๆ…
แต่เราสามารถสร้าง user's ด้วย custom userid ด้วย '-ยู' ตัวเลือก. ตัวอย่างเช่น คำสั่งต่อไปนี้จะสร้างผู้ใช้ 'นาวิน'พร้อมรหัสผู้ใช้ที่กำหนดเอง'999‘.
[[ป้องกันอีเมล] ~]# useradd -u 999 navin
ตอนนี้ มาตรวจสอบว่าผู้ใช้สร้างด้วยรหัสผู้ใช้ที่กำหนดไว้ (999) โดยใช้คำสั่งต่อไปนี้
[[ป้องกันอีเมล] ~]# cat /etc/passwd | grep นาวิน นาวิน: x:999:999::/home/navin:/bin/bash
บันทึก: ตรวจสอบให้แน่ใจว่าค่าของ ID ผู้ใช้ต้องไม่ซ้ำกับผู้ใช้ที่สร้างไว้แล้วในระบบ
ในทำนองเดียวกัน ผู้ใช้ทุกคนก็มี GID (หมายเลขประจำตัวกลุ่ม). เราสามารถสร้างผู้ใช้ด้วย ID กลุ่มเฉพาะได้เช่นกันด้วย -NS ตัวเลือก.
ในตัวอย่างนี้ เราจะเพิ่มผู้ใช้ 'ตารุนิกา'โดยเฉพาะอย่างยิ่ง UID และ GID พร้อมกันด้วยความช่วยเหลือของ '-ยู' และ '-NS' ตัวเลือก.
[[ป้องกันอีเมล] ~]# useradd -u 1000 -g 500 tarunika
ตอนนี้ดูรหัสผู้ใช้และรหัสกลุ่มที่กำหนดใน '/etc/passwd' ไฟล์.
[[ป้องกันอีเมล] ~]# cat /etc/passwd | grep tarunika ตารุนิกา:NS:1000:500::/home/tarunika:/bin/bash
NS '-NS' ใช้ตัวเลือกเพื่อเพิ่มผู้ใช้ในกลุ่มเพิ่มเติม ชื่อกลุ่มแต่ละกลุ่มคั่นด้วยเครื่องหมายจุลภาค โดยไม่มีช่องว่างแทรกแซง
ในตัวอย่างนี้ เรากำลังเพิ่มผู้ใช้ 'tecmint'ออกเป็นหลายกลุ่มเช่น ผู้ดูแลระบบ, ผู้ดูแลเว็บ และ นักพัฒนา.
[[ป้องกันอีเมล] ~]# useradd -G admins, webadmin, นักพัฒนา tecmint
ถัดไป ตรวจสอบว่าหลายกลุ่มกำหนดให้กับผู้ใช้ด้วยคำสั่ง id
[[ป้องกันอีเมล]~]# id tecmint uid=1001(tecmint) gid=1001(tecmint) กลุ่ม=1001(tecmint),500(ผู้ดูแลระบบ),501(ผู้ดูแลเว็บ),502(นักพัฒนา) บริบท=รูท: system_r: unconfined_t: SystemLow-SystemHigh
ในบางสถานการณ์ที่เราไม่ต้องการกำหนดโฮมไดเร็กทอรีสำหรับผู้ใช้ เนื่องจากเหตุผลด้านความปลอดภัยบางประการ ในสถานการณ์เช่นนี้ เมื่อผู้ใช้เข้าสู่ระบบที่เพิ่งเริ่มต้นใหม่ โฮมไดเร็กทอรีจะเป็น root เมื่อผู้ใช้ดังกล่าวใช้ คำสั่ง suไดเร็กทอรีล็อกอินจะเป็นโฮมไดเร็กทอรีของผู้ใช้ก่อนหน้า
ในการสร้างผู้ใช้โดยไม่มีโฮมไดเร็กทอรี '-NS' ถูกนำมาใช้. ตัวอย่างเช่น คำสั่งต่อไปนี้จะสร้างผู้ใช้ 'ชิลปี้' โดยไม่มีโฮมไดเร็กทอรี
[[ป้องกันอีเมล] ~]# useradd -M ชิลปิ
ตอนนี้ ให้ตรวจสอบว่าผู้ใช้ถูกสร้างขึ้นโดยไม่มีโฮมไดเร็กทอรีโดยใช้คำสั่ง ls
[[ป้องกันอีเมล] ~]# ls -l /home/shilpi ls: ไม่สามารถเข้าถึงได้ /home/shilpi: ไม่พบไฟล์หรือโฟลเดอร์
โดยค่าเริ่มต้น เมื่อเราเพิ่มผู้ใช้ด้วย 'ผู้ใช้เพิ่ม'บัญชีผู้ใช้คำสั่งไม่มีวันหมดอายุเช่นวันหมดอายุถูกตั้งเป็น 0 (หมายถึงไม่มีวันหมดอายุ)
อย่างไรก็ตาม เราสามารถกำหนดวันหมดอายุโดยใช้ ‘-e'ตัวเลือกที่กำหนดวันที่ใน ปปปป-ดด-วว รูปแบบ. ซึ่งจะเป็นประโยชน์สำหรับการสร้างบัญชีชั่วคราวในช่วงระยะเวลาหนึ่ง
ในตัวอย่างนี้ เราสร้างผู้ใช้ 'อพาร์นา' ด้วยวันหมดอายุของบัญชีเช่น 27 เมษายน 2557 ใน ปปปป-ดด-วว รูปแบบ.
[[ป้องกันอีเมล] ~]# useradd -e 2014-03-27 aparna
ถัดไป ตรวจสอบอายุของบัญชีและรหัสผ่านด้วย 'chage'คำสั่งสำหรับผู้ใช้'อพาร์นา' หลังจากกำหนดวันหมดอายุของบัญชี
[[ป้องกันอีเมล] ~]# chage -l aparna การเปลี่ยนรหัสผ่านครั้งล่าสุด: 28 มีนาคม 2014 รหัสผ่านหมดอายุ: ไม่เคย รหัสผ่านไม่ทำงาน: ไม่เคย บัญชีหมดอายุ: 27 มี.ค. 2557 จำนวนวันขั้นต่ำระหว่างการเปลี่ยนรหัสผ่าน: 0 จำนวนวันสูงสุดระหว่างการเปลี่ยนรหัสผ่าน: 99999 จำนวนวันที่เตือนก่อนที่รหัสผ่านจะหมดอายุ: 7
NS '-NS' อาร์กิวเมนต์ใช้เพื่อกำหนดจำนวนวันหลังจากรหัสผ่านหมดอายุ ค่าของ 0 ปิดการใช้งานบัญชีผู้ใช้ทันทีที่รหัสผ่านหมดอายุ โดยค่าเริ่มต้น ค่าหมดอายุของรหัสผ่านตั้งเป็น -1 หมายถึงไม่มีวันหมดอายุ
ในตัวอย่างนี้ เราจะกำหนดวันหมดอายุรหัสผ่านของบัญชีเช่น 45 วัน กับผู้ใช้ 'tecmint' โดยใช้ '-e' และ '-NS' ตัวเลือก.
[[ป้องกันอีเมล] ~]# useradd -e 2014-04-27 -f 45 tecmint
NS '-ค' ตัวเลือกช่วยให้คุณเพิ่มความคิดเห็นที่กำหนดเอง เช่น ของผู้ใช้ ชื่อเต็ม, หมายเลขโทรศัพท์, ฯลฯ ถึง /etc/passwd ไฟล์. ความคิดเห็นสามารถเพิ่มเป็นบรรทัดเดียวโดยไม่ต้องเว้นวรรค
ตัวอย่างเช่น คำสั่งต่อไปนี้จะเพิ่มผู้ใช้ 'มันซี' และจะใส่ชื่อเต็มของผู้ใช้นั้น มนัส คูรานาลงในช่องแสดงความคิดเห็น
[[ป้องกันอีเมล] ~]# useradd -c "Manis Khurana" มันซี
คุณสามารถดูความคิดเห็นของคุณใน '/etc/passwd' ไฟล์ในส่วนความคิดเห็น
[[ป้องกันอีเมล] ~]# หาง -1 /etc/passwd มันซี:x: 1006:1008:มนัส คูรานา:/home/mansi:/bin/sh
บางครั้ง เราเพิ่มผู้ใช้ที่ไม่มีส่วนเกี่ยวข้องกับล็อกอินเชลล์ หรือบางครั้งเราจำเป็นต้องกำหนดเชลล์ที่แตกต่างกันให้กับผู้ใช้ของเรา เราสามารถกำหนดล็อกอินเชลล์ที่แตกต่างกันให้กับผู้ใช้แต่ละคนด้วย '-NS' ตัวเลือก.
ในตัวอย่างนี้จะเพิ่มผู้ใช้ 'tecmint' โดยไม่ต้องล็อกอินเชลล์เช่น '/sbin/nologin' เปลือก.
[[ป้องกันอีเมล] ~]# useradd -s /sbin/nologin tecmint
คุณสามารถตรวจสอบเชลล์ที่กำหนดให้กับผู้ใช้ใน '/etc/passwd' ไฟล์.
[[ป้องกันอีเมล] ~]# หาง -1 /etc/passwd tecmint:x: 1002:1002::/home/tecmint:/sbin/nologin.
ส่วนที่ 2 – 5 การใช้งานขั้นสูงของ useradd คำสั่ง
คำสั่งต่อไปนี้จะสร้างผู้ใช้ 'ราวี่' ด้วยโฮมไดเร็กทอรี '/var/www/tecmint', เชลล์เริ่มต้น /bin/bash และเพิ่มข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้
[[ป้องกันอีเมล] ~]# useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi
ในคำสั่งข้างต้น '-m -d'ตัวเลือกสร้างผู้ใช้ที่มีโฮมไดเร็กทอรีที่ระบุและ'-NS' ตัวเลือกตั้งค่าเชลล์เริ่มต้นของผู้ใช้เช่น /bin/bash. NS '-ค'ตัวเลือกเพิ่มข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้และ'-ยู' อาร์กิวเมนต์ สร้าง/เพิ่มกลุ่มที่มีชื่อเดียวกับผู้ใช้
คำสั่งคล้ายกับด้านบนมาก แต่ที่นี่เรากำหนดเชลล์เป็น '/bin/zsh'และกำหนดเอง UID และ GID ถึงผู้ใช้'ตารุนิกา‘. ที่ไหน '-ยู'กำหนดผู้ใช้ใหม่'s UID (เช่น. 1000) และในขณะที่ '-NS'กำหนด GID (เช่น. 1000).
[[ป้องกันอีเมล] ~]# useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 1000 tarunika
คำสั่งต่อไปนี้คล้ายกับสองคำสั่งด้านบนมาก ความแตกต่างเพียงอย่างเดียวคือเราปิดการใช้งานล็อกอินเชลล์ให้กับผู้ใช้ที่ชื่อ 'avishek'กับกำหนดเอง ID ผู้ใช้ (เช่น. 1019).
ที่นี่ '-NS' ตัวเลือกเพิ่มเชลล์เริ่มต้น /bin/bashแต่ในกรณีนี้เราตั้งค่าการเข้าสู่ระบบเป็น '/usr/sbin/nologin‘. นั่นหมายถึงผู้ใช้ 'avishek' จะไม่สามารถเข้าสู่ระบบได้
[[ป้องกันอีเมล] ~]# useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek
การเปลี่ยนแปลงเพียงอย่างเดียวในคำสั่งนี้คือ เราใช้ '-k' ตัวเลือกในการตั้งค่าไดเร็กทอรีโครงกระดูกที่กำหนดเองเช่น /etc/custom.skellไม่ใช่ค่าเริ่มต้น /etc/skel. เรายังใช้ '-NS' ตัวเลือกในการกำหนดเชลล์ที่แตกต่างกันเช่น /bin/tcsh ถึงผู้ใช้'นาวิน‘.
[[ป้องกันอีเมล] ~]# useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "ไม่มีสมาชิกที่ใช้งานอยู่ของ TecMint" -u 1027 navin
คำสั่งต่อไปนี้แตกต่างจากคำสั่งอื่นๆ ที่อธิบายไว้ข้างต้นอย่างมาก ที่นี่เราใช้ '-NS' ตัวเลือกในการสร้างผู้ใช้โดยไม่มีโฮมไดเร็กทอรีของผู้ใช้และ '-NS' ใช้อาร์กิวเมนต์ที่บอกให้ระบบสร้างชื่อผู้ใช้เท่านั้น (ไม่มีกลุ่ม) NS '-NS' อาร์กิวเมนต์มีไว้สำหรับสร้างผู้ใช้ระบบ
[[ป้องกันอีเมล] ~]# useradd -M -N -r -s /bin/false -c "สมาชิก TecMint ที่ปิดใช้งาน" เคลย์ตัน
สำหรับข้อมูลเพิ่มเติมและตัวเลือกเกี่ยวกับ useradd ให้เรียกใช้ 'ผู้ใช้เพิ่ม' คำสั่งบนเทอร์มินัลเพื่อดูตัวเลือกที่มี
อ่านเพิ่มเติม: 15 ตัวอย่างคำสั่ง usermod