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


18

หากฉันเพิ่มexport HISTCONTROL=ignorespaceเข้า.bashrcมาทุบตีจะไม่บันทึกคำสั่งใด ๆ ที่มีช่องว่างก่อนหน้าพวกเขาลงในประวัติศาสตร์ แต่ฉันไม่เข้าใจว่าสถานการณ์จะเป็นประโยชน์หรือไม่ ใครช่วยยกตัวอย่างบ้าง

คำตอบ:


32

หากคำสั่งของคุณมีรหัสผ่านหรือข้อมูลที่ละเอียดอ่อนอื่น ๆ


4
@acgtyrant ดังนั้นคุณไม่เคยป้อนคำสั่งด้วยรหัสผ่าน ความคิดคือถ้าคุณให้รหัสผ่านใน commandline เพียงแค่ใส่ช่องว่างก่อนคำสั่งและจะไม่ได้รับการบันทึกไปยังHISTFILE
Ulrich Dangel

3
คำสั่ง mysql สามารถยอมรับรหัสผ่านของผู้ใช้ที่คุณเชื่อมต่อกับฐานข้อมูลด้วยมีรายการมากเกินไปที่นี่ จุดที่ @Ulrich Dangel ทำขึ้นเป็นจุด หากคุณกำลังพิมพ์คำสั่งด้วยรหัสผ่านอย่าทิ้งไว้ในประวัติ
slm

5
ฉันจะเพิ่มว่าเมื่อคุณและผู้ดูแลระบบคุณมักไม่ต้องการประวัติเพราะถ้าผู้โจมตีเข้าสู่ระบบคุณจะทิ้งร่องรอยของสิ่งที่อยู่ในกล่องและคำสั่งประเภทใด มักจะทำงานบนกล่อง
slm

1
หากคุณไม่มีคำสั่งใด ๆ ที่มีข้อมูลที่ละเอียดอ่อนแสดงว่าคุณไม่ใช่ผู้ชมเป้าหมายสำหรับคุณลักษณะนั้น ผู้ใช้ทุกคนใช้คุณสมบัติบางอย่างในโปรแกรมไม่ได้ (นั่นเป็นเหตุผลหนึ่งที่โปรแกรมมี "คุณสมบัติคืบ": ทุกคนใช้คุณสมบัติโหล แต่เป็นโหลที่แตกต่างกันและสงสัยในสิ่งที่คนอื่น ๆ ไร้ประโยชน์ cruft สำหรับ)
Kaz

1
โปรดทราบว่าอาร์กิวเมนต์บรรทัดคำสั่งมักจะมองเห็นได้ในหรือโดยการมองในps /procระบบบางระบบทำให้ผู้ใช้รายอื่นเห็นสภาพแวดล้อมเช่นกัน ไฟล์โหมด 0700 ใน tmpfs, OTOH ไม่มีปัญหาเหล่านี้
Derobert

26

rm -rf *การใช้งานก็คือคำสั่งที่คุณไม่ต้องการที่จะตั้งใจทำซ้ำเช่น ฉันใช้ประโยชน์จากประวัติอย่างกว้างขวางและบางครั้งก็ตีEnterโดยไม่ตั้งใจเมื่อคำสั่งที่ฉันดึงมาจากประวัติไม่ใช่สิ่งที่ฉันกำลังมองหา จริงอยู่ที่โซลูชันคือการอ่านคำสั่งอย่างรอบคอบก่อนดำเนินการ แต่ด้วยความที่ฉันรู้สึกอึดอัดใจฉันชอบที่จะออกคำสั่งทำลายโดยเฉพาะอย่างยิ่งจากประวัติของฉันเพื่อความระมัดระวังเป็นพิเศษ


14
HISTIGNORE=" *:rm -f*:rm -r*:*--force*"ฉันต้องการเพิ่มที่ผมพบว่ามันง่ายมากที่จะต่อไม่สนใจคำสั่งอันตรายบางแม้ว่าผมจะลืมที่จะรวมพื้นที่: ป้องกันนี้rm -fและจากการถูกบันทึกไว้ในประวัติศาสตร์เช่นเดียวกับสิ่งที่มีอยู่rm -r --force
Petr Pudlák

นี่คือ / a ทางออกที่แท้จริง อย่าทิ้งมีดไว้รอบตัวโดยพูดว่าทางออกที่แท้จริงคือไม่ต้องสะกิดพวกเขา ในขณะที่สุภาษิตเก่าไป“ คุณไม่สามารถแยกตัวออกจากแม่น้ำไม่ได้” - ความหมายไม่ทำความสะอาดแม่น้ำแทนที่จะหยุดทิ้งขยะลงไป
ctrl-alt-delor

6

อดีตเพื่อนร่วมงานของฉันทำสิ่งนี้ด้วยคำสั่งcdและส่วนใหญ่lsเพื่อบันทึกเฉพาะคำสั่ง "มีประโยชน์"


3
ฉันแทบไม่เคยทำงานที่ไม่ทำงานโดยไม่ทำสิ่งนี้ ... (หรือบนสุดหรือ ... )
ล็อตออฟไทม์

อันที่จริงคนที่สามารถเพิ่มexport HISTCONTROL=ingoredupsใน.bashrcการที่จะบอกทุบตีไม่ซ้ำกันเพื่อให้การจัดเก็บประวัติให้ชัดเจนมากขึ้น คุณสามารถอ่านบทความนี้
acgtyrant

2

ความเป็นส่วนตัวของข้อมูล ช่วงเวลาที่การบังคับใช้กฎหมายแยกออกจากประตูคุณอาจไม่ต้องการให้พวกเขาพบสิ่งตกค้าง

  • ที่ซึ่งคุณได้รับการออกเสียงล่าสุด ^ Wwarez จาก
  • ภาพยนตร์ใดที่คุณฉีกขาดและส่งไปยัง torrent
  • รหัสผ่านที่ส่งผ่านข้อโต้แย้งไปยังโปรแกรมเข้ารหัส / ถอดรหัส

อย่างจริงจังมันอาจเทียบเท่ากับการตั้งค่าความเป็นส่วนตัวที่เข้มงวดในเบราว์เซอร์ของคุณหยุดมันจากการบันทึกประวัติศาสตร์การท่อง


0

หากคุณควบคุมเวอร์ชัน. bash_historyเป็นวิธีที่มีประโยชน์ในการทำเครื่องหมายคำสั่งบางคำว่า "พิเศษ" เมื่อรวมกับhistory-search- *มันเป็นวิธีการกดSpace+ m+ Up+ Enterเพื่อเรียกใช้make --directory ~/dev/tilde cleanและSpace+ e+ Up+ Enterเพื่อเรียกใช้editor ~/.bash_historyซึ่งทั้งสองอย่างนี้ฉันใช้สำหรับบำรุงรักษาไฟล์ประวัติ Bash

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