ฉันควรใช้คำสั่งอะไรหลังจากทำการเปลี่ยนแปลงไฟล์ / etc / passwd


12

ฉันได้ทำการเปลี่ยนแปลงบางอย่างกับไฟล์ / etc / passwd ตอนนี้ฉันต้องการที่จะดูว่าผลของการเปลี่ยนแปลงที่เกิดขึ้นหรือไม่คำสั่งสิ่งที่ฉันควรใช้สำหรับการที่

ตัวอย่างเช่นหลังจากทำการเปลี่ยนแปลงไฟล์ / etc / ssh / ssh_config ฉันจะรันคำสั่ง /etc/init.d/sshd

คำตอบ:


19

เพื่อตรวจสอบpasswdและสอดคล้องไฟล์ใช้shadow pwckในการตรวจสอบgroupและสอดคล้องกับgshadowFiile ให้ใช้grpck' ดู manpages สำหรับรายละเอียดของการกระทำที่พวกเขาทำ

การแก้ไขด้วยมือ/etc/passwdนั้นทำได้ดีที่สุด (ถ้าทั้งหมด) กับvipwและvipw -sสำหรับshadowไฟล์ สำหรับ/etc/groupและ/etc/gshadowใช้vigrและvigr -sตามลำดับ การใช้เครื่องมือเหล่านี้ไม่เพียง แต่ให้การล็อคเพื่อป้องกัน muultiple, การอัพเดตผู้ใช้พร้อมกัน แต่ยังมีการตรวจสอบความถูกต้องอีกด้วย

โดยทั่วไปการแก้ไขรหัสผ่านและไฟล์กลุ่มทำได้ดีที่สุดโดยใช้มาตรฐานuser(add|mod|del)และgroup(add|mod|del)เครื่องมือ


7

ไม่มีคำสั่งดังกล่าวเพื่อใช้การเปลี่ยนแปลงจากไฟล์ / etc / passwd

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

นี่เป็นเพราะการเข้าสู่ระบบอ่านรายละเอียดจากไฟล์ passwd ระหว่างการเข้าสู่ระบบและเก็บไว้ในหน่วยความจำจนกระทั่งออกจากระบบ


2
"... ไม่มีคำสั่งดังกล่าว ..." บน Linux อื่น ๆ อีกมากมาย * ixes มีคำสั่งดังกล่าว passedไฟล์จะรวบรวมทั้งลงไปที่รูปแบบไบนารีที่เร็วขึ้นในการดำเนินการหรือถูกเก็บไว้เฉพาะสำหรับการทำงานร่วมกันและข้อมูลที่จะต้องมีการแปลลงในแบบฟอร์มรหัสผ่าน DB พื้นเมืองของ OS
Warren Young

2

ฉันประสบความสำเร็จกับ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 ด้วยตนเองคุณต้องไม่ลืมที่จะแก้ไขไฟล์เงาที่เหมาะสมเช่นกัน


1

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

หากคุณไม่มั่นใจให้ทำการรีบูทหลังจากแก้ไขไฟล์แล้วการเปลี่ยนแปลงทั้งหมดจะมีผล


0

คุณไม่ควรแก้ไข/etc/passwdด้วยตนเอง ใช้usermodแทน

ตัวอย่างเช่น:

หากคุณต้องการเปลี่ยนโฮมไดเร็กทอรีผู้ใช้ให้ใช้คำสั่งนี้:

usermod --home /path/to/home/dir username

1
บางครั้งจำเป็นต้องแก้ไขไฟล์ด้วยมือ แต่vipwควรใช้
Kusalananda

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