จะตั้งรหัสผ่านสั้น ๆ บน Ubuntu ได้อย่างไร


102

เมื่อฉันติดตั้ง Ubuntu ฉันจะตั้งรหัสผ่านสั้น ๆ (<4) ตอนนี้ฉันต้องการเปลี่ยนรหัสผ่านสั้น ๆ อื่น ๆ โดย "passwd" หรือเปลี่ยนข้อความรหัสผ่านในโปรแกรม "รหัสผ่านและกุญแจ" ก็ต้องใช้รหัสผ่าน> 4 ถ่าน


2
ทำไมคุณต้องการตั้งรหัสผ่านสั้น ๆ ไม่ปลอดภัยลองเปลี่ยนรหัสผ่านจากบัญชีรูทแม้ว่าคุณจะบังคับให้ทำ
karthick87

18
@ karthick87 เพราะคอมพิวเตอร์ที่บ้านของฉันไม่ใช่ Fort Knox หากคนแปลกหน้ายุ่งกับเดสก์ท็อปของฉันฉันก็มีความกังวลมากกว่าคอมพิวเตอร์
Torben Gundtofte-Bruun

4
@ karthick87 ทำไมต้องใช้รหัสผ่านสั้น ๆ Ubuntu อาจทำงานเป็นเครื่องเสมือนและซอฟต์แวร์การจำลองเสมือนของคุณขาดฟังก์ชั่นการคัดลอกและวางสำหรับบรรทัดคำสั่งของแขก Linux (เช่นเดสก์ท็อป Parallels สำหรับ Mac 8.0 พลาด) จากนั้นคุณต้องการเข้าถึง Ubuntu ด้วยรหัสผ่านสั้น ๆ รหัสผ่านทั้งหมด
สำรองข้อมูล Pro

@ karthick87 การแก้ไขพารามิเตอร์ของรหัสผ่านควรทำให้รหัสผ่านง่ายต่อการเดาและปลอดภัยน้อยกว่า
DustWolf

ทำไมสั้น ๆ รหัสผ่านของฉันมี 1,4 GB! - มันสนุก!
dschinn1001

คำตอบ:


174

ใช้คำสั่งต่อไปนี้ใน Terminal:

sudo passwd <user>

แทนที่<user>ด้วยชื่อผู้ใช้ที่คุณต้องการเปลี่ยนรหัสผ่าน

วิธีนี้ใช้งานได้เนื่องจากpasswdระงับการตรวจสอบความยาวหรือเอนโทรปีทั้งหมดเมื่อคุณใช้เป็นผู้ใช้รูท

คำเตือน:หากผู้ใช้เป้าหมายมีโฮมไดเร็กตอรี่ที่เข้ารหัส , สิ่งนี้จะทำให้เกิดปัญหา! ( ดูความคิดเห็นด้านล่าง )


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

3
มันใช้งานได้ดีสำหรับฉัน ฉันสามารถตั้งรหัสผ่านของผู้ใช้ให้aใช้วิธีนี้บนระบบ Ubuntu 12.04 LTS
Eliah Kagan

12
สิ่งนี้จะทำให้เกิดปัญหาเมื่อคุณมีโฮมไดเร็กตอรี่ที่เข้ารหัสเนื่องจากมันจะทำการถอดรหัสecryptfsข้อความรหัสผ่านโดยอัตโนมัติ
guntbert

3
@guntbert ถูกต้อง: บังคับให้ใช้รหัสผ่านด้วยวิธีนี้ผู้ใช้จะไม่สามารถเข้าสู่ระบบได้อีกหากไดเรกทอรีหลักของเขา / เธอถูกเข้ารหัสลับดังนั้นนี่ไม่ใช่วิธีแก้ปัญหาที่ถูกต้องในกรณีเหล่านี้
fuenfundachtzig

2
โปรดทราบว่านี่ไม่ได้อัปเดตพวงกุญแจ gnome ซึ่งนำไปสู่ข้อผิดพลาดเช่น "รหัสผ่านสำหรับพวงกุญแจ gnome นั้นไม่เหมือนกับรหัสผ่านเข้าสู่ระบบ"
FuePi

36

ตามค่าเริ่มต้น Ubuntu ต้องมีความยาวรหัสผ่านขั้นต่ำ 6 ตัวอักษรรวมถึงการตรวจสอบเอนโทรปีพื้นฐาน ค่าเหล่านี้ถูกควบคุมในไฟล์/etc/pam.d/common-passwordซึ่งมีการอธิบายไว้ด้านล่าง

password        [success=2 default=ignore]      pam_unix.so obscure sha512

หากคุณต้องการปรับความยาวขั้นต่ำเป็น 4 ตัวอักษรให้เพิ่มตัวแปรที่เหมาะสม ( minlen = 4 ) ที่ท้ายบรรทัด การปรับเปลี่ยนอยู่ด้านล่าง

password        [success=2 default=ignore]      pam_unix.so obscure sha512 minlen=4

แหล่ง


1
ฉันไม่สามารถรับ min = เพื่อใช้งานได้และไม่ตรงกับหน้า man แม้จะเป็นหน้า Wiki ดูเหมือนว่าจะเป็น minlen =
John S Gruber

3
ลบ "คลุมเครือ" เพื่อปิดการตรวจสอบความซับซ้อนด้วย
Pisu

5
sudo passwd userดูเหมือนว่ามีประโยชน์มากขึ้น
gyozo kudor

23

เรียกใช้เทอร์มินัลแล้วแก้ไข /etc/pam.d/common-password

เปลี่ยนบรรทัดนี้:

password    [success=1 default=ignore]  pam_unix.so obscure sha512

ไปที่:

password    [success=1 default=ignore]  pam_unix.so obscure sha512 minlen=4

รหัสผ่านยังต้องการความซับซ้อนในระดับหนึ่งตามที่ระบุโดยพารามิเตอร์ปิดบังด้านบน

password    [success=1 default=ignore]  pam_unix.so minlen=2 sha512

ลบการตรวจสอบที่ยัง

ทั้งหมดนี้อนุมานว่าคุณคิดว่านี่ฉลาด

ดู man pam_unix

สิ่งเหล่านี้ทำงานบนระบบของฉัน


ใช้งานได้กับ ubuntu12.04
David

ใช้ได้สำหรับ 13.04 ด้วย
Torben Gundtofte-Bruun

ใช้ได้กับ 15.10 (Wily) เช่นกัน
kmonsoor

2

สามารถทำได้ด้วยโมดูล PAM pwdfile

วิธีที่อธิบายไว้ที่นี่จะเปลี่ยนเฉพาะการเข้าสู่ระบบเดสก์ท็อป (บริการ lightdm) แต่สามารถนำไปใช้กับบริการอื่น ๆ ได้เช่นกันหากคุณต้องการ

นอกจากนี้ยังช่วยให้คุณมีรหัสผ่านที่แข็งแกร่งดั้งเดิมของคุณสำหรับ "sudo" ในขณะที่ยังคงความเป็นวิธีที่ง่ายในการเข้าสู่เดสก์ท็อป Ubuntu

คำสั่งสามารถออกได้ในโปรแกรมเทอร์มินัล

การติดตั้งซอฟต์แวร์

อันดับแรกเราติดตั้งแพคเกจซอฟต์แวร์ชื่อlibpam-pwdfile:

sudo apt-get install libpam-pwdfile

การสร้างไฟล์รหัสผ่านผู้ใช้

จากนั้นเราจะสร้างไฟล์ผู้ใช้ / รหัสผ่าน คุณจะได้รับแจ้งให้ป้อนรหัสผ่าน PIN ใหม่ รหัสผ่านของคุณจะถูกเข้ารหัสและบันทึกลงในไฟล์ชื่อpasswd.like

pinpass=$(mkpasswd -5)
echo "$pinpass" | sudo tee /etc/passwd.like

หรือคุณอาจใช้: openssl passwd -1 yourpinpasswordhereและสร้างไฟล์ชื่อ /etc/passwd.like และรหัสผ่านนั้น

การตั้งค่าบริการเข้าสู่ระบบบนเดสก์ท็อป

ขั้นตอนต่อไปคือการเตรียมบริการเข้าสู่ระบบเดสก์ท็อปเพื่อยอมรับรหัสผ่าน PIN ก่อนขั้นตอนรหัสผ่านอื่น ๆ ผมได้กล่าวแล้วชื่อของบริการการเข้าสู่ระบบสก์ท็อปlightdm ,

ลองดูที่ไฟล์:

cat /etc/pam.d/lightdm

หากคุณไม่มีไฟล์นี้แสดงว่าบริการเดสก์ท็อป (เข้าสู่ระบบ) เป็นไฟล์อื่นและคุณควรค้นหาผู้จัดการเดสก์ท็อปของคุณก่อนดำเนินการต่อ ตามที่อธิบายไว้ก่อนหน้านี้คู่มือนี้มีไว้สำหรับ Ubuntu 16.04 แต่สามารถใช้สำหรับบริการเข้าสู่ระบบอื่นเช่นกัน

มันอาจมีประโยชน์หากคุณสร้างข้อมูลสำรองด้วย:

sudo cp /etc/pam.d/lightdm /etc/pam.d/lightdm.backup

ตอนนี้คุณสามารถแก้ไขไฟล์โดยใช้ nano หรือ gedit หรือโปรแกรมแก้ไขข้อความอื่น ๆ :

sudo gedit /etc/pam.d/lightdm

ที่ด้านบนของไฟล์มี:

#%PAM-1.0
auth    requisite       pam_nologin.so
auth    sufficient      pam_succeed_if.so user ingroup nopasswdlogin
@include common-auth

ฉันได้ปรับเปลี่ยนเช่น:

#%PAM-1.0
auth requisite pam_nologin.so
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
auth required pam_pwdfile.so pwdfile=/etc/passwd.like
auth required pam_permit.so
#@include common-auth

บันทึกไฟล์และปิดโปรแกรมแก้ไขข้อความของคุณ

ออกจากระบบและกลับเข้าสู่ระบบ

คุณควรใช้รหัสผ่าน PIN ที่คุณตั้งไว้ เมื่อทำตามคำแนะนำนี้รหัสผ่าน PIN จะใช้สำหรับบริการเข้าสู่ระบบเดสก์ท็อปเท่านั้นไม่ใช่รหัสผ่านของคำสั่ง sudo

ที่มา: http://blog.radevic.com/2017/11/how-to-set-pin-password-or-short.html


1
สิ่งที่น่าสนใจ คุณช่วยกรุณาดูคำถามที่เกี่ยวข้องที่ฉันเพิ่งโพสต์หลังจากคำตอบของคุณโดยไม่ตั้งใจ? ขอบคุณ
Miladiouss

1

คุณยังสามารถใช้ตัวเลือก -f

$passwd -f username
Changing password for user username.
New password: 
Retype new password:

0

ในการตั้งค่ารหัสผ่านแบบง่ายฉันลองใช้sudo passwd usernameวิธีง่าย ๆแต่มันล้มเหลวบน Ubuntu Server 12.04 LTS

ดังนั้นฉันจึงพยายามลบobscureตัวเลือกจาก/etc/pam.d/common-passwdไฟล์กำหนดค่า แต่ก็ยังล้มเหลว

ดังนั้นฉันจึงลบobscureตัวเลือกออกจาก/usr/share/pam-configs/unixไฟล์ปรับแต่ง และจากนั้นก็ใช้งานได้ :-)

ฉันยอมรับว่ามันควรจะง่ายกว่านี้เมื่อทำหน้าที่suตั้งรหัสผ่านที่อ่อนแอไม่ว่าด้วยเหตุผลใดก็ตามที่เราต้องการจะทำ! คำเตือนว่า "รหัสผ่านที่อ่อนแอ, ยืนยัน?" จะสมบูรณ์แบบ ...


คนที่มีใจแคบได้ให้คะแนนลบในคำตอบที่ยอดเยี่ยมนี้ การอ้างอิงถึง "obscure" ใน / usr / share / pam-configs / unix นั้นสำคัญมากและเกี่ยวข้องกับบางสถานการณ์ เพียงเพราะมันไม่ได้ผลสำหรับคุณไม่ได้หมายความว่ามันไม่ใช่คำตอบที่ดี แบ่งเบาคะแนนโหวตติดลบและต้อนรับผู้ที่มีมุมมองที่แตกต่างจากของคุณ! คุณอาจได้รับแจ้งที่ดีขึ้นในตอนท้ายของวัน
LMSingh

ในการสนับสนุนของคำตอบ user171987 อ่านหน้าเว็บที่wiki.ubuntu.com/PAMConfigFrameworkSpec#config_file_format มันแสดงให้เห็นว่าการกำหนดค่า PAM ทำงานอย่างไรและอธิบายโปรไฟล์และการใช้งาน pam-configs โฟลเดอร์เก็บการกำหนดค่าต่าง ๆ และ "unix" เป็นเพียงหนึ่งในนั้น
LMSingh

ใน Ubuntu 18 ดูเหมือนว่าเพียงพอแล้วที่จะลบตัวเลือก 'obscure' ออกจาก /etc/pam.d/common-passwd - ไม่จำเป็นต้องซับซ้อนเกินไปโดยการแก้ไข / usr / share / pam-configs / unix
Gino

0

ใน Ubuntu 18.04 ไม่มีวิธีแก้ไขปัญหาอื่นที่เหมาะกับฉัน ฉันต้องแทนที่ทั้งสองบรรทัดนี้:

password    requisite                   pam_cracklib.so retry=3 minlen=8 difok=3 dcredit=-1 enforce_for_root lcredit=-1 ocredit=-1 reject_username ucredit=-1
password    [success=1 default=ignore]  pam_unix.so obscure use_authtok try_first_pass sha512

ใน/etc/pam.d/common-passwordด้วย:

password    [success=1 default=ignore]  pam_unix.so minlen=2 sha512

การเปลี่ยนแปลงเหล่านี้ให้ฉันเปลี่ยนรหัสผ่านของฉันได้อย่างง่ายดายและหลังจากเปลี่ยนรหัสผ่านฉันกู้คืนไฟล์เป็นรูปแบบดั้งเดิม

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