ฉันเปิดใช้งานโดยไม่ตั้งใจ (ตั้งค่า) รหัสผ่านรูทของฉัน (โดยค่าเริ่มต้นจะถูกล็อค) และตอนนี้ฉันต้องการที่จะ "เลิกทำ" ฉันใช้ทั้งสองคำสั่ง
sudo usermod -p '!' root
และ
sudo passwd -dl root
เพื่อให้.
ฉันจะตรวจสอบว่าบัญชีของรูทถูกล็อคได้อย่างไร?
ฉันเปิดใช้งานโดยไม่ตั้งใจ (ตั้งค่า) รหัสผ่านรูทของฉัน (โดยค่าเริ่มต้นจะถูกล็อค) และตอนนี้ฉันต้องการที่จะ "เลิกทำ" ฉันใช้ทั้งสองคำสั่ง
sudo usermod -p '!' root
และ
sudo passwd -dl root
เพื่อให้.
ฉันจะตรวจสอบว่าบัญชีของรูทถูกล็อคได้อย่างไร?
คำตอบ:
คุณสามารถใช้passwd
คำสั่ง:
# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S
root NP 11/04/2014 -1 -1 -1 -1
จากman 1 passwd
:
-S, --status
Display account status information. The status information consists
of 7 fields. The first field is the user's login name. The second
field indicates if the user account has a locked password (L), has
no password (NP), or has a usable password (P). The third field
gives the date of the last password change. The next four fields
are the minimum age, maximum age, warning period, and inactivity
period for the password. These ages are expressed in days.
ข้อมูลที่แสดงจะถูกเก็บไว้ใน/etc/shadow
ไฟล์ที่เก็บรหัสผ่านที่เข้ารหัส
ตัวอย่างเช่นหลังจากแต่ละpasswd
คำสั่งข้างต้นสถานะคือ:
1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::
ความเป็นไปได้อย่างหนึ่งคือดู / etc / passwd โดยการป้อน
grep root /etc/passwd
ควรแสดงบรรทัดที่ขึ้นต้นด้วยroot:x: ......
ที่ x ระบุว่าเก็บรหัสผ่านที่เข้ารหัสไว้ในไฟล์ shadow หากเป็นกรณีนี้เราตรวจสอบโดยเรียกใช้
sudo grep root /etc/shadow
(ไฟล์เงาต้องเปิด sudo!) คุณควรได้รับบรรทัดที่ขึ้นต้นดังนี้ดังต่อไปนี้ซึ่งเป็นผลจากการroot:!: ......
ที่!
หรือ*
สัญญาณส่งสัญญาณว่าบัญชีถูกปิดการใช้งาน ค่าอื่น ๆ (ไม่ใช่เริ่มต้นด้วย! หรือ *) หลังจากนั้นroot:
จะระบุรหัสผ่านที่ใช้งานได้
man passwd.5
และman shadow.5
ง่าย.
กด Ctrl + Alt + F1 สิ่งนี้จะนำไปสู่เทอร์มินัลแยกต่างหาก ลองเข้าสู่ระบบในฐานะรูทโดยพิมพ์root
เป็นชื่อล็อกอินของคุณและระบุรหัสผ่าน
หากบัญชีรูทถูกเปิดใช้งานการเข้าสู่ระบบจะใช้งานได้ หากบัญชีรูทถูกปิดใช้งานการเข้าสู่ระบบจะล้มเหลว
หากต้องการกลับไปที่ GUI ของคุณให้กด Ctrl + Alt + F7
su
จะทำอะไรง่าย ๆ
ตามค่าเริ่มต้นเมื่อคุณติดตั้ง Ubuntu คุณไม่ควรรู้รหัสผ่านรูท มันมีอยู่ แต่ผู้ใช้ไม่ควรรู้ แน่นอนว่าผู้ดูแลระบบสามารถเลือกที่จะเปลี่ยนรหัสผ่านด้วยsudo passwd
แต่โดยทั่วไปไม่ควรจำเป็นเว้นแต่คุณจะรู้ว่าคุณทำอะไรอยู่และทำไมคุณถึงต้องทำ
ไฟล์ที่มีข้อมูลเกี่ยวกับรหัสผ่านผู้ใช้ทั้งหมดคือ/etc/shadow
และแต่ละรายการในไฟล์นั้นถูกเข้ารหัส ดังนั้นหากผู้โจมตีเข้าถึงระบบของคุณและขโมยไฟล์นี้เขาหรือเธอจะไม่สามารถเข้ารูทได้เลย มีความเป็นไปได้ของหลักสูตรด้วยเหตุนี้ผมแนะนำให้คุณปิดใช้งานคุณลักษณะการเข้าถึงระยะไกล: เทลเน็ต (ไม่ได้เปิดใช้งานโดยค่าเริ่มต้น), SSH สก์ท็อประยะไกล ฯลฯ รับตัวเองnmap
เครื่องมือและสแกนระบบของคุณด้วยsudo nmap localhost
เพื่อดูว่าพอร์ตอาจจะเปิดบน ระบบ. รับไฟร์วอลล์ด้วยตัวเอง; ubuntu มาพร้อมกับไฟร์วอลล์ ufw ซึ่งใช้งานง่ายและทำงานได้ดีพอ
ท่ามกลางวิธีอื่นคุณสามารถทดสอบบัญชีรูทด้วย sudo -i
ในไฟล์คุณควรจะมีเส้นเช่นนี้:/etc/sudoers
sudo -i
หากคุณไม่สามารถเข้าสู่ระบบได้ในฐานะรูทคุณจะไม่เห็นข้อความแจ้งเตือน # เนื่องจากบัญชีถูกล็อค
Defaults env_reset,timestamp_timeout=30
timestamp_timeout จะบอกให้ sudo ขอรหัสผ่านหลังจาก 30 วินาทีอีกครั้งเพื่อให้คุณไม่ได้ลงชื่อเข้าใช้ด้วยสิทธิ์พิเศษของรูทตลอดเวลา นี่เป็นวิธีหนึ่งในการรักษาความปลอดภัยให้กับระบบของคุณ
ผลข้างเคียงที่ไม่พึงประสงค์ของการเปลี่ยนรหัสผ่านรูทคือถ้าคุณลืมรหัสผ่านหรือผู้ใช้รายอื่นในระบบของคุณลืมรหัสผ่านคุณจะไม่สามารถเข้าถึงรูทได้ ฉันไม่ได้ตระหนักถึงกรณีใด ๆ แต่มีความเป็นไปได้ที่จะทำให้ระบบยุ่งเหยิงเพราะบางกระบวนการทำงานเป็นรูตและหากคุณล็อกรูทแอคเค้าท์อาจเป็นไปได้ที่กระบวนการเหล่านั้นอาจทำงานไม่ถูกต้องหรือเลย
ผมขอแนะนำให้คุณอ่านผ่านman sudoers
, man passwd,
คน shadow`
ขอให้โชคดีและหวังว่านี่จะช่วยได้!
for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less