ฉันได้ทำการเปลี่ยนแปลงบางอย่างกับไฟล์ / etc / passwd ตอนนี้ฉันต้องการที่จะดูว่าผลของการเปลี่ยนแปลงที่เกิดขึ้นหรือไม่คำสั่งสิ่งที่ฉันควรใช้สำหรับการที่
ตัวอย่างเช่นหลังจากทำการเปลี่ยนแปลงไฟล์ / etc / ssh / ssh_config ฉันจะรันคำสั่ง /etc/init.d/sshd
ฉันได้ทำการเปลี่ยนแปลงบางอย่างกับไฟล์ / etc / passwd ตอนนี้ฉันต้องการที่จะดูว่าผลของการเปลี่ยนแปลงที่เกิดขึ้นหรือไม่คำสั่งสิ่งที่ฉันควรใช้สำหรับการที่
ตัวอย่างเช่นหลังจากทำการเปลี่ยนแปลงไฟล์ / etc / ssh / ssh_config ฉันจะรันคำสั่ง /etc/init.d/sshd
คำตอบ:
เพื่อตรวจสอบpasswd
และสอดคล้องไฟล์ใช้shadow
pwck
ในการตรวจสอบgroup
และสอดคล้องกับgshadow
Fiile ให้ใช้grpck
' ดู manpages สำหรับรายละเอียดของการกระทำที่พวกเขาทำ
การแก้ไขด้วยมือ/etc/passwd
นั้นทำได้ดีที่สุด (ถ้าทั้งหมด) กับvipw
และvipw -s
สำหรับshadow
ไฟล์ สำหรับ/etc/group
และ/etc/gshadow
ใช้vigr
และvigr -s
ตามลำดับ การใช้เครื่องมือเหล่านี้ไม่เพียง แต่ให้การล็อคเพื่อป้องกัน muultiple, การอัพเดตผู้ใช้พร้อมกัน แต่ยังมีการตรวจสอบความถูกต้องอีกด้วย
โดยทั่วไปการแก้ไขรหัสผ่านและไฟล์กลุ่มทำได้ดีที่สุดโดยใช้มาตรฐานuser(add|mod|del)
และgroup(add|mod|del)
เครื่องมือ
ไม่มีคำสั่งดังกล่าวเพื่อใช้การเปลี่ยนแปลงจากไฟล์ / etc / passwd
หากผู้ใช้รายละเอียดที่คุณเปลี่ยนแปลงเข้าสู่ระบบควรเพียงแค่เชื่อมโยงใหม่เพื่อใช้การเปลี่ยนแปลง ถ้าไม่พวกเขาจะสามารถใช้ได้ทันทีหลังจากเข้าสู่ระบบ
นี่เป็นเพราะการเข้าสู่ระบบอ่านรายละเอียดจากไฟล์ passwd ระหว่างการเข้าสู่ระบบและเก็บไว้ในหน่วยความจำจนกระทั่งออกจากระบบ
ฉันประสบความสำเร็จกับupdate-passwd
คำสั่งหลังจากฉันแก้ไขไฟล์ / etc / passwd ด้วยตนเองบนระบบที่ใช้ Debian (เช่น Ubuntu) ฉันรู้ว่านี่ไม่ใช่จุดประสงค์ของการใช้คำสั่งนี้ แต่ใช้ได้กับวัตถุประสงค์นี้เช่นกัน ดูหน้า man ของมันสำหรับ deatails เพิ่มเติม: http://manpages.ubuntu.com/manpages/precise/man8/update-passwd.8.html
ในระบบที่ใช้ Red Hat / CentOS ฉันไม่พบคำสั่งที่เทียบเท่าในระบบที่ฉันต้องรีบูตระบบเพื่อให้การเปลี่ยนแปลงมีผล
ตามที่บางคนกล่าวมาแล้วจะเป็นการดีที่สุดที่จะไม่แก้ไขไฟล์ / etc / passwd ด้วยตนเอง ฉันใช้คำสั่ง useradd / userdel / usermod แทนทุกครั้งที่ทำได้ เหตุผลที่ถูกต้องเพียงอย่างเดียวสำหรับการแก้ไขไฟล์ / etc / passwd และ / etc / group IMO คือเมื่อฉันต้องการคัดลอกบัญชีจำนวนมากจากระบบอื่น หลังจากเพิ่มเช่น 100 บัญชีด้วยวิธีนี้ฉันมักจะรีบูตระบบเต็มรูปแบบ นอกจากนี้เมื่อคุณแก้ไขไฟล์ / etc / passwd และ / หรือ / etc / groups ด้วยตนเองคุณต้องไม่ลืมที่จะแก้ไขไฟล์เงาที่เหมาะสมเช่นกัน
ฉันไม่คิดว่ามีคำสั่งดังกล่าวเนื่องจากมันไม่จำเป็นในตอนแรกนอกจากนี้ยังไม่แนะนำให้แก้ไขไฟล์นั้นโดยตรงแทนที่จะใช้คำสั่งที่เหมาะสมเช่น useradd และ passwd
หากคุณไม่มั่นใจให้ทำการรีบูทหลังจากแก้ไขไฟล์แล้วการเปลี่ยนแปลงทั้งหมดจะมีผล
คุณไม่ควรแก้ไข/etc/passwd
ด้วยตนเอง ใช้usermod
แทน
ตัวอย่างเช่น:
หากคุณต้องการเปลี่ยนโฮมไดเร็กทอรีผู้ใช้ให้ใช้คำสั่งนี้:
usermod --home /path/to/home/dir username
vipw
ควรใช้
passed
ไฟล์จะรวบรวมทั้งลงไปที่รูปแบบไบนารีที่เร็วขึ้นในการดำเนินการหรือถูกเก็บไว้เฉพาะสำหรับการทำงานร่วมกันและข้อมูลที่จะต้องมีการแปลลงในแบบฟอร์มรหัสผ่าน DB พื้นเมืองของ OS