เหตุใดผู้คนจึงกลัวที่จะเขียนรหัสผ่านในบรรทัดคำสั่ง
ไฟล์ประวัติอยู่ใน~/.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