เหตุใดผู้คนจึงกลัวที่จะเขียนรหัสผ่านในบรรทัดคำสั่ง
ไฟล์ประวัติอยู่ใน~/.history
ดังนั้นจึงใช้ได้เฉพาะกับผู้ใช้ที่ดำเนินการคำสั่ง (และรูท)
export mypass=secret
และคุณจะใช้งานa_command --password=$mypass
คุณจะเห็นsecret
ในps
ตาราง
เหตุใดผู้คนจึงกลัวที่จะเขียนรหัสผ่านในบรรทัดคำสั่ง
ไฟล์ประวัติอยู่ใน~/.history
ดังนั้นจึงใช้ได้เฉพาะกับผู้ใช้ที่ดำเนินการคำสั่ง (และรูท)
export mypass=secret
และคุณจะใช้งานa_command --password=$mypass
คุณจะเห็นsecret
ในps
ตาราง
คำตอบ:
บรรทัดคำสั่งไม่ได้มีให้ในประวัติศาสตร์เท่านั้น พวกเขายังมีอยู่เช่นในผลลัพธ์ของps -ocmd
หรือผ่าน/proc
ระบบแฟ้ม ( /proc/<pid>/cmdline
) ซึ่งเป็นที่ที่ps
พวกเขาอ่าน
นอกจากนี้ไดเรกทอรีบ้านของผู้ใช้มักจะสามารถอ่านได้ทั่วโลกหรือเป็นกลุ่ม คุณสามารถทำให้ไฟล์ประวัติอ่านได้โดยผู้ใช้เท่านั้น แต่อาจไม่รอดและการลบ
รหัสผ่านในบรรทัดคำสั่งเป็นเพียงความคิดที่ไม่ดีตลอดทาง นอกเหนือจากวิธีการที่กล่าวถึงในคำตอบอื่น ๆ :
ps
)คำสั่งของผู้ใช้สามารถแสดงในตำแหน่งเหล่านี้เช่นกัน:
นอกจากนี้คำสั่งของผู้ใช้ยังสามารถแสดงเมื่อผู้ใช้เข้าสู่ระบบระหว่างระบบดังนั้นโดยทั่วไปแล้วมันเป็นข้อปฏิบัติที่ไม่ดีและควรหลีกเลี่ยงตลอดเวลา
ปัญหาคือการมองเห็นของพารามิเตอร์ (กับผู้ใช้รายอื่นในกรณีส่วนใหญ่แม้สำหรับรูท) ในขณะที่คำสั่งกำลังทำงานอยู่ ดูผลลัพธ์ของ
ps -eo pid,user,args