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


25

ฉันเพิ่งเริ่มใช้ Scientific Linux (7.0) (แม้ว่าฉันคิดว่าคำถามนี้อาจเป็นกลางการกระจาย .. ) รุ่นเคอร์เนลคือ 3.10.0-123.20.1.el7.x86_64

กลับมาที่คำถามของฉัน

ผมเปลี่ยนrootบัญชีและจากที่นั่นสร้างบัญชีผู้ใช้ใหม่โดยใช้คำสั่งtest-account adduser test-accountรหัสผ่านไม่ได้แจ้งให้ฉันทราบฉันไม่ได้ใช้ตัวเลือกเพื่อระบุรหัสผ่าน ดังนั้นฉันคิดว่ามันเป็นบัญชี "ไม่มีรหัสผ่าน" ฉันสามารถลงชื่อเข้าใช้บัญชีนี้จากบัญชีรูท - ซึ่งฉันคิดว่าฉันสามารถทำได้โดยไม่ต้องให้รหัสผ่านแม้ว่าบัญชีทดสอบจะมีรหัสผ่าน อย่างไรก็ตามเมื่อฉันพยายามเข้าสู่ระบบนี้ (ทดสอบบัญชี) จากบัญชีที่สาม - มันพร้อมท์ให้ฉันใส่รหัสผ่าน และเพียงแค่กดEnterไม่ทำงาน

เป็นไปได้หรือไม่ที่จะลงชื่อเข้าใช้บัญชีนี้จากบัญชีที่ไม่ใช่รูท มีวิธี (โดยไม่ต้องเปลี่ยนเป็นรูทหรือใช้sudo)?


นโยบายของระบบของคุณอาจเป็นไปได้ว่าต้องมีรหัสผ่าน adduserรู้ถึง-pตัวเลือกในการตั้งรหัสผ่าน แต่ไม่แนะนำให้ใช้ ในฐานะที่เป็น root ให้ทำpasswd test-accountและตั้งรหัสผ่าน
ott--

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

คุณจะเปลี่ยนจาก root ได้อย่างไร (คุณใช้คำสั่งอะไร)
roaima

su test-account@roaima ซึ่งจะสลับไปที่test-accountพร้อมท์ที่ไม่มีรหัสผ่าน (ซึ่งเป็นสิ่งที่จะเกิดขึ้นแม้ว่าจะtest-accountมีรหัสผ่าน) อย่างไรก็ตามเมื่อฉันพยายามที่จะเปลี่ยนไปใช้การทดสอบบัญชีจากบัญชีผู้ใช้ที่ไม่มีสิทธิ์อับละอองเกสรเคอร์เนลจะขอรหัสผ่านพร้อมกับฉันและจะไม่ยอมรับช่องว่าง (กดeneter)
Lavya

คุณได้รับคำตอบสำหรับเรื่องนี้แล้ว สนุก.
roaima

คำตอบ:


29

โดยค่าเริ่มต้นในองค์กร GNU / Linux และเป็นอนุพันธ์adduserคำสั่งจะสร้างผู้ใช้ที่ถูกปิดใช้งานจนกว่าคุณจะระบุรหัสผ่านสำหรับผู้ใช้นั้นอย่างชัดเจน

นี่คือตัวอย่างของ CentOS 6.5 ซึ่งควรเหมือนกับ Scientific Linux

 $ sudo adduser test
 $ sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

เหตุผลนี้เป็นเพราะใน/etc/shadowไฟล์ฟิลด์รหัสผ่านเป็น!!อย่างที่คุณเห็นในตัวอย่าง

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

ดังนั้นสิ่งที่คุณควรทำต่อไปนี้คือการมีผู้ใช้ที่ไม่มีรหัสผ่านเพียงแค่สร้างบัญชีจากนั้นจึงลบรหัสผ่าน

 $ sudo adduser test
 $ sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

ตอนนี้ผู้ใช้ควรจะสามารถใช้suและเข้าสู่ระบบในฐานะผู้ใช้testในตัวอย่างของฉัน คุณจะไม่ต้องใช้sudoเพื่อเข้าสู่ระบบในฐานะบัญชี

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

$ sudo passwd test
[sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

"คำสั่ง adduser จะสร้างผู้ใช้ที่ถูกปิดใช้งานจนกว่าคุณจะระบุรหัสผ่านสำหรับผู้ใช้นั้นอย่างชัดเจน": ฉันจะเปลี่ยนtest-account จากรูทได้อย่างไรถ้าเป็นกรณี (ผู้ใช้ถูกปิดใช้งาน)
Lavya

su test-account
Nathan McCoy

ฉันตั้งใจจะถามว่าถ้าบัญชีถูกปิดใช้งานแล้วฉันจะเปลี่ยนเป็นใช้suจากรูทได้อย่างไร
Lavya

2
rootผู้ใช้สามารถsuเข้าใช้บัญชีใด ๆ ที่มีเปลือก หากเปลือกถูกตั้งค่าเป็น/bin/falseมันจะไม่ทำงาน มันเป็นเพียงความมหัศจรรย์ของroot! บัญชีผู้ใช้จำนวนมากไม่มีเชลล์ที่ถูกต้องและใช้เพื่อรันโปรแกรมเฉพาะในฐานะผู้ใช้นั้นเท่านั้น เช่นapacheผู้ใช้และเว็บเซิร์ฟเวอร์ apache
Nathan McCoy

ใน Ubuntu 18.04 ฉันไม่สามารถเข้าสู่ระบบในฐานะผู้ใช้ด้วยรหัสผ่านที่ว่างเปล่า
Ciro Santilli 新疆改造中心法轮功六四事件

3

ฉันมีแขกผู้ใช้ซึ่งไม่มีรหัสผ่าน นี่คือบันทึก:

ผู้เข้าพัก: U6aMy0wojraho: 17057: 0: 99999: 7 :::

สตริง "U6aMy0wojraho" เป็นรหัสผ่านที่แฮชของผู้ใช้เกสต์ เมื่อฉันเข้าสู่ระบบฉันเพียงแค่กดปุ่มป้อนรหัสผ่านและระบบจะอนุญาตให้ฉัน

คุณควรแก้ไขไฟล์ / etc / shadow และเพิ่มสตริงที่กล่าวถึงข้างต้นหลังจากชื่อผู้ใช้และโคลอนแรก

ฉันคัดลอกสตริงนี้จาก Ubuntu live CD - ผู้ใช้ของมันคือ paswordless


แทนคำตอบที่ยอมรับได้ ( passwd -d ...) วิธีนี้ใช้กับ sddm ได้เพิ่มเติม
mzimmer

1
การแก้ไข/etc/shadowไฟล์โดยตรงมีความเสี่ยงและมักจะไม่แนะนำ การมีguestบัญชีใช้งานได้ดี แต่การใช้เครื่องมือในการแก้ไขรหัสผ่านจะช่วยลดโอกาสการป้อนข้อมูลของผู้ใช้ที่ไม่เหมาะสมหรือปัญหาเกี่ยวกับการบันทึกไฟล์หลายผู้ใช้
Nathan McCoy

@NathanMcCoy ฉันยอมรับว่ามันเสี่ยง แต่เครื่องมือ GUI ไม่อนุญาตให้สร้างรหัสผ่านที่ว่างเปล่า - ต้องมีอย่างน้อย 6 หรือ 8 ตัว อย่างน้อยนี่เป็นกรณีของ Kubuntu ที่ฉันใช้
Raicho Nikolov

@NathanMcCoy ใช่เราสามารถใช้chpasswd -eเพื่อทำสิ่งนั้นได้อย่างปลอดภัยมากขึ้น: unix.stackexchange.com/a/472966/32558
Ciro Santilli 中心改造中心中心法轮功事件事件

เหมาะอย่างยิ่งสำหรับกรณีการกู้คืนฉุกเฉินเสียบฮาร์ดไดรฟ์ (เพื่อพูด) และแก้ไขไฟล์คู่เพื่อแก้ไขเครื่อง เพิ่มผู้ใช้นี้โดยเฉพาะและเพิ่มเขาใน sudoers ชั่วคราวจากนั้นใช้คอนโซลอนุกรมเพื่อเข้าสู่ระบบและแก้ไขสิ่งที่ยากจน openssh
Ray Foss

2

ผู้ใช้ที่มีรหัสผ่านว่างเปล่า

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

พรอมต์รหัสผ่านยังคงแสดงอย่างน่าเสียดาย

test-user-0แต่ถ้าคุณแค่กดโดยไม่ต้องพิมพ์อะไรและมันเข้าสู่ระบบเป็นผู้ใช้

-eธงบอกchpasswdว่ารหัสผ่านจะถูกเข้ารหัสแล้วและU6aMy0wojrahoเป็นกัญชาของสตริงที่ว่างเปล่า

ทดสอบบน Ubuntu 18.04

BusyBox autologin

อย่างน้อยเทอร์มินัลคุณไม่จำเป็นต้องสร้างผู้ใช้โดยไม่มีรหัสผ่านเพื่ออนุญาตให้บางคนไม่พิมพ์รหัสผ่านของพวกเขาทุกครั้งแฮ็คinittabบิตก็พอ: วิธีการเข้าสู่ระบบโดยอัตโนมัติโดยไม่ต้องพิมพ์ชื่อผู้ใช้รูทหรือรหัสผ่าน

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