ผู้ใช้รายอื่นสามารถดูอาร์กิวเมนต์ที่ส่งไปยังคำสั่งได้หรือไม่?


21

ถ้าฉันเรียกคำสั่งที่มีข้อโต้แย้งเช่นนั้น:

bob@bob-pc:~$ command -arg1 -arg2

... ผู้ใช้รายอื่นสามารถดูอาร์กิวเมนต์ที่ส่งไปยังคำสั่งได้หรือไม่


คำตอบ "ใช่" "ไม่" ง่าย ๆ สำหรับคำถามนี้จะขัดแย้งกับเนื้อหาและชื่อ: P
kizzx2

@ kizzx2: แก้ไขแล้ว
บาฮามา

คำตอบ:


13

โดยทั่วไปแล้วพวกเขาสามารถเห็นมัน นี่คือจากwหน้าคน:

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

บรรทัดคำสั่งที่สมบูรณ์ของกระบวนการที่กำลังทำงานอยู่จะปรากฏขึ้น นั่นเป็นเหตุผลที่คุณไม่ต้องการให้สิ่งต่าง ๆ เช่นรหัสผ่านผ่านอาร์กิวเมนต์บรรทัดคำสั่ง


ไม่มีวิธีปิดใช้งานหรือไม่
Nathan Osman

3
@ George มีอยู่เพราะ rdesktop ทำอย่างใด (อาร์กิวเมนต์รหัสผ่านจะเปลี่ยนเป็นXXXXXXXX) ฉันชอบที่จะรู้ว่า มันอาจทำอะไรบางอย่างที่อ่อนแอเหมือนการฟาดฟันตัวเองและทะเลาะโต้เถียงกัน ฉันไม่แน่ใจ
Michael Mrozek

13
บน Linux กระบวนการสามารถเขียนทับอาเรย์อาร์กิวเมนต์ที่ส่งไปให้ นี่คือภาพสะท้อนในแผนผังกระบวนการที่ผู้ใช้รายอื่นมองเห็นได้ อย่างไรก็ตามยังคงมีเวลาเสมอเมื่อมีการเปิดรับและอาจเสี่ยงต่อการแข่งขันและการโจมตีตามกำหนดเวลา
mattdm

15

โดยทั่วไปอาร์กิวเมนต์บรรทัดคำสั่งจะปรากฏแก่ทุกคน ตัวอย่างเช่นในฐานะผู้ใช้ที่ไม่ใช่รูทบน OpenBSD ฉันสามารถดูอาร์กิวเมนต์ของกระบวนการที่รันในฐานะรูท:

$ ps -U root -o command= |grep getty |head -n 1
/usr/libexec/getty std.9600 ttyC0

บน Linux คุณจะสังเกตเห็นว่า/proc/*/cmdlineไฟล์ทั้งหมดสามารถอ่านได้ทั่วโลก

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


8

ในการตั้งค่ามาตรฐานอาร์กิวเมนต์จะสามารถมองเห็นได้ ในฐานะที่เป็นที่กล่าวถึงแล้วกระบวนการสามารถเขียนทับไว้ในหน่วยความจำ แต่ไม่ก่อนที่กระบวนการอื่น ๆ ได้มีโอกาสที่จะเห็นพวกเขา

อย่างไรก็ตามชุดโปรแกรมแก้ไขความปลอดภัย grsecurity จะมีชุดข้อมูลแก้ไขซึ่งจะทำให้เจ้าของกระบวนการ (และรูท) เท่านั้นที่สามารถเห็นอาร์กิวเมนต์ที่ส่งผ่านไปยังกระบวนการ

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