คำตอบ:
ฉันอยากรู้อยากเห็นถ้า chmod 000 /
จะทำงาน
ดีไม่มีที่ติ ไม่กี่นาทีต่อมาฉันกำลังค้นหาซีดีช่วยเหลือ
เมื่อฉันเริ่มทำงานในฐานะที่ปรึกษาผู้ใช้สำหรับมหาวิทยาลัยที่ฉันเข้าร่วมฉันได้รับsudo
สิทธิ์อย่าง จำกัดในการช่วยเหลือนักเรียนที่ลืมรหัสผ่าน sudo passwd <username>
เป็นเพื่อนใหม่ของฉัน หนึ่งชั่วโมงหลังจากการปฐมนิเทศของฉันความอยากรู้ของฉันได้ดีกว่าของฉันและฉันก็พิมพ์sudo passwd
และจ้องมองด้วยความกลัวที่พร้อมท์สำหรับรหัสผ่านใหม่ ฉันค่อนข้างกลัวที่จะ^C
ออกไปจากที่นั่นคิดว่า (ไม่สุภาพกลับกลายเป็นว่า) ฉันอาจทิ้งบัญชีที่เป็นปัญหาในสถานะชั่วคราวดังนั้นฉันจึงป้อนรหัสผ่านและเดินขึ้นไปบนโดเมนชั้น 2 อันศักดิ์สิทธิ์ของฉันทันที วิทยาเขต SuperUser และถามว่าเขาต้องการทราบรหัสผ่านรูทของระบบหลักหรือไม่
passwd
ประพฤติตัวตลกเมื่อทำงานเป็นราก ตัวอย่างเช่นเมื่อล้มเหลวในการตรวจสอบการพิมพ์ผิดมันจะถามอีกครั้ง
แปลกใจที่ไม่มีใครพูดถึงสิ่งนี้อีกแล้ว:
rm -rf .*
(ในขณะที่พยายามที่จะลบไฟล์และไดเรกทอรีย่อยที่ซ่อนอยู่ทั้งหมดลืมไปว่ามันจะถูกคืนสู่.
และ..
)
rm
จะไม่ทำอย่างนั้นในขณะนี้ rm: "." and ".." may not be removed
ฉันพยายามดาร์วินและมีข้อผิดพลาด
.
และการใช้งาน..
.[^.]*
(อย่างนี้จริงจะพลาดไฟล์ทั้งหมดที่เริ่มต้นด้วย..
แต่มักจะมีเพียงหนึ่ง.)
.??*
ฉันพิมพ์ง่ายขึ้น อันนี้จะไม่ตรงกับไฟล์ dot สองตัวอักษรเช่น.a
กัน แต่มันก็ผิดปกติเหมือนกัน ฉันค้นหาไฟล์ปรับแต่งในไดเรกทอรีบ้านของฉันด้วยgrep -r .??*
เช่น
Makefile:
clean:
@rm -f * .o
ซึ่งแน่นอนทำให้การmake clean
เช็ดซอร์สโค้ดของคุณแทนที่จะเป็นเพียงวัตถุไฟล์
บทเรียน: ใช้การควบคุมเวอร์ชัน
*
และ.o
มีเพื่อนที่ทำงาน:() { :|:&}; :
บนเซิร์ฟเวอร์ระยะไกลที่เราไม่สามารถเข้าถึงคอนโซลได้ ไม่สามารถรีบูตเซิร์ฟเวอร์ที่ใช้งานจริงทั้งหมด
แยกย่อย (ตามคำขอ) เพื่อให้อ่านได้ง่ายขึ้น
:() # Define ':' as a function. Every time we say ':' execute the following code block
{ # Start of code block
: # Call ':' again.
| # Pipe output to...
: # Another ':'
& # Disown process.
# All on one line this would read :|:&,
} # End of code block
; # End definition of ':' as a function
: # Call ':'
มันอาจจะง่ายกว่าที่จะดูเป็น
bomb() { bomb|bomb& }; bomb
:
มันจะไม่ทำอะไรเลย และมันไม่ได้ใช้หน่วยความจำเลยเพียงแค่ส้อมมาก [ใช่ฉันลองแล้ว :)] เอฟเฟกต์สามารถบล็อกด้วยโควต้าจำนวนกระบวนการต่อผู้ใช้
ฉันตั้งใจจริง ๆ พยายามจะchmod
ซ้ำไดเรกทอรีและจบลงด้วยการแลกเปลี่ยนกับ./
/
ในฐานะที่เป็นรากของหลักสูตรเพราะมีเพียงความเจ็บปวดที่แท้จริงเท่านั้นที่สามารถบรรลุความสำเร็จได้
ฉันเช็ดตารางพาร์ทิชันของไดรฟ์หลักของฉันโดยไม่ได้ตั้งใจคิดว่าฉันกำลังทำงานกับไดรฟ์อื่น
ด้วย scrollback, การใช้งานอย่างระมัดระวังdf
, หน่วยความจำและโชคฉันสามารถสร้างมันขึ้นมาใหม่เขียนใหม่รีบูตและหวังว่า ... และมันก็ใช้ได้
dd
การอ่านบล็อก 4k แรกของทุก cylinder ที่ส่งเข้าไปfile -
เพื่อค้นหา superblock และเป็นการเริ่มต้นของระบบไฟล์ นี่เป็นซีดีสดและมี RAM ไม่เพียงพอที่จะทำทุกสิ่งที่เราต้องทำ (ซึ่งรวมถึงการติดตั้งแพคเกจหรือสอง) ดังนั้นเราจึงส่งไปยังกระบวนการที่ทำงานใน ssh บนเครื่องอื่น
sfdisk -O
จะสำรองตารางพาร์ทิชันเสมอ FYI: cgsecurity.org/wiki/TestDiskสามารถทำให้สิ่งที่ @Neil Mayhew ทำโดยอัตโนมัติได้
testdisk
ช่วยชีวิตฉันไว้ในกล่อง
gpart
ซึ่งมองหาสิ่งที่อาจมีลักษณะคล้ายกับระบบไฟล์และสร้างตารางพาร์ทิชันจากที่
ไม่ใช่ช่วงเวลาของฉัน แต่เป็นของคนอื่น
ย้อนกลับไปเมื่อฉันทำงานที่ศูนย์วิจัยวิทยาศาสตร์นิวเคลียร์เราเคยใช้คอมพิวเตอร์ SunOS, Ultrix และ Linux จำนวนหนึ่งและนักวิจัยก็ต้องแชร์ CPU บนเครื่องเหล่านั้น เมื่อกลุ่มวิจัยแต่ละกลุ่มได้รับทุนวิจัยของตนเองพวกเขาซื้อคอมพิวเตอร์เป็นของตัวเองส่วนใหญ่ SparcStations และพวกเขาทำการบริหารระบบด้วยตนเอง
SunOS เคยใช้กับเดสก์ท็อป OpenView และเป็นตัวจัดการไฟล์ที่ดีนี่คือสิ่งที่ดูเหมือน:
นักวิจัยของเราส่วนใหญ่ทำงานเป็นรูทและมากกว่าหนึ่งครั้งเราต้องติดตั้งระบบปฏิบัติการใหม่เพราะมีคนตัดสินใจจัดระเบียบไดเรกทอรีรูทและย้าย / bin, / etc, / tmp และทุกอย่างที่ทำให้มุมมองไม่เป็นระเบียบ Trashcan หรือโฟลเดอร์ย่อย
ผู้ใช้รายอื่นเลือกที่จะจัดระเบียบไดเร็กทอรี / bin และลบคำสั่งใด ๆ ที่ไม่ทราบ
ผู้โชคดีมีการสำรองข้อมูลส่วนใหญ่ซื้อเทปไดรฟ์ แต่ไม่มีประเพณีในการสำรองข้อมูลด้วยตนเอง
ย้อนกลับไปในช่วงกลางถึงปลายยุค 90 เพื่อนของฉันและฉันกำลังคุยกันถึงความเขลาrm -rf *
และจุดที่กล่องลีนุกซ์จะหายไป เราได้เข้าสู่การเชื่อมโยงแบบคงที่และการเชื่อมโยงห้องสมุดแบบไดนามิกและฉัน posited ว่าระบบสามารถอยู่ได้ค่อนข้างดีโดยไม่ต้อง/lib
แล้วเปลี่ยนชื่อมันบนเวิร์กสเตชันของฉัน สิ่งเลวร้ายเกิดขึ้นแต่เราถูกทิ้งให้อยู่กับหน้าต่างคอนโซลแบบเปิดหลายหน้าต่างซึ่งต้องลองและแก้ไขความเสียหาย (การปิดระบบไม่ใช่ตัวเลือกอีกต่อไป) ไม่มีบรรณาธิการคนใดที่จะทำงาน มันเป็นเรื่องมหัศจรรย์ที่ผู้ลึกลับใช้คุณสามารถค้นหาecho
คำสั่งได้
vi
และCaps-Lockเทียบกับ/etc/passwd
su -
vi /etc/passwd
. ไม่มีvipw
และ "เรากำลังทำการแก้ไขเล็กน้อย" อย่างไรก็ตามฉันทำสิ่งนี้ครั้งเดียว น่าแปลกที่ระบบยังคงใช้งานได้เป็นเดือน Cronjobs วิ่งได้ดีไม่มีข้อผิดพลาดโดดเด่นในไฟล์บันทึก
เราไม่ได้สังเกตเห็นปัญหานี้จนกว่าเราจะรีบูตระบบในเดือนต่อมาและไม่สามารถลงชื่อเข้าใช้ที่คอนโซล ps
แสดงกลุ่มงานที่ UID เป็นเจ้าของ '0' ไม่ใช่โดยผู้ใช้ 'root'
คุณไม่สามารถเข้าสู่ระบบในฐานะรูทหรือรันsu
หรือsu -
และไม่มีsudo
ในกล่องนี้ ไม่มีฟล็อปปี้ไดรฟ์ CD-ROM ถูกจับและไม่มีพอร์ต USB (ดังนั้นจึงไม่มี CD-ROM ภายนอก) /etc/passwd
โหมดผู้เดียวไม่ได้ทำงานเพราะคุณจะต้องพิมพ์รหัสผ่านสำหรับรากและที่มาจาก
rm -f * ~
และ
rm -rf ${DIR}/
เมื่อDIR
ไม่ได้ตั้งค่า!
${DIR}
อะไร เพราะ$(DIR)
จะพยายามรันคำสั่ง DIR
ฉันจำได้ว่าพยายามส่งSysRqลำดับที่สำคัญไปยังเครื่องระยะไกล ...
... แต่มันถูกจับโดยคนท้องถิ่น
ง่าย ๆ ที่halt
รู้ว่าอีกไม่กี่วินาทีต่อมาฉันไม่ได้อยู่บนโลคัลเชลล์และไม่มีความเป็นไปได้ที่จะเปิดใช้งานเซิร์ฟเวอร์การผลิตอีกครั้ง
บทเรียนที่ได้เรียนรู้? พรอมต์ของเครื่องตอนนี้ดูเหมือน
[ --> root <-- @kompost:/home/echox] #
ด้วยมาร์กอัปสีแดงที่ดี ;-)
molly-guard
ว่าตรวจสอบว่าคุณเข้าสู่ระบบจากระยะไกลและถามว่าคุณต้องการทำเช่นนี้หรือไม่
ช่วงเวลาที่ฉันชอบคือเมื่อเพื่อนร่วมงานซึ่งเป็นผู้ใช้ emacs ต้องการแก้ไขไฟล์สำคัญ
เนื่องจากemacs
พิมพ์มากเกินไปเขาจึงตั้งค่าชื่อแทนสำหรับemacs
:
alias em=emacs
ภายใต้อิทธิพลของกาแฟไม่เพียงพอหรือมากเกินไปเขาแน่นอนพิมพ์ผิดem
...
นี่เป็นอีกเหตุผลที่จะใช้vi
... ;)
alias e=emacs
แต่ไม่ได้ใช้เพียงแค่
หรือประสบการณ์อื่นวิธีรู้สึกโง่จริงๆในไม่กี่ขั้นตอนง่ายๆที่ไม่ได้ดูว่าโง่ทุกที
ขั้นตอนที่หนึ่ง: สร้างบัญชีสำหรับเด็กในกรณีที่เขาต้องการใช้กล่อง Linux ให้รหัสผ่านเล็กน้อยเพราะหลังจากทั้งหมดนี้เป็นระบบโฮมและไม่ได้ถูกเปิดเผยในเน็ต
ขั้นตอนที่สอง: ให้เวลาผ่านไปดังนั้นคุณจำขั้นตอนที่หนึ่งไม่ได้
ขั้นตอนที่สาม: เปิดพอร์ต SSH ในไฟร์วอลล์ (จริง ๆ แล้ว NAT บนเราเตอร์) เพื่อที่จะ ssh ระบบบัญชีของฉันมีรหัสผ่านที่ดีมากและมันก็ไม่เหมือนมีอะไรที่มีค่ามหาศาล
ขั้นตอนที่สี่: รับการแจ้งเตือนจาก ISP ว่ามีกิจกรรม DOS บางประเภทที่ไปยังไซต์ภาษาสวีเดน สมมติว่าเป็นกล่อง Windows และตรวจสอบและทำให้แข็งขึ้น
ขั้นตอนที่ห้า: รับการแจ้งเตือนจาก ISP ว่ากำลังดำเนินการอยู่ ขอรายละเอียดบางส่วนรับที่อยู่ IP ของเว็บไซต์สวีเดนดับไฟ Wireshark ค้นหากล่องที่การโจมตีมาจาก
ขั้นตอนที่หก: ทำความสะอาดกล่อง Linux รู้สึกงี่เง่า ค้นหาการเข้าสู่ระบบมาจากที่อยู่โรมาเนีย ลบบัญชีที่ไม่มีรหัสผ่านที่ดี
ในห้องแล็บคอมพิวเตอร์เมื่อฉันอยู่ในวิทยาลัยพวกเขามีโปรแกรมรักษาหน้าจอที่จำลองลูกบอลหลายลูกที่จะลอยไปมา พวกเขาดึงแต่ละคนด้วยแรงโน้มถ่วงจำลอง
ครั้งหนึ่งในขณะที่ฉันกำลังยุ่งกับการตั้งค่ามันก็ล้มเหลวด้วยข้อผิดพลาด Error: force on balls too great
ฉันเคยพัฒนาไดรเวอร์อุปกรณ์สำหรับ Unix มันมีปัญหาตัวชี้และในระหว่างการทดสอบก็เริ่มที่จะเขียนออกจากจุดสิ้นสุดของอาร์เรย์ในหน่วยความจำเคอร์เนล ฉันพบจุดนี้ช้าและไม่ได้กดปุ่มรีเซ็ตทันที คนขับได้เขียนดิสก์แคชบัฟเฟอร์ซึ่งถูกลบไปยังดิสก์ก่อนที่ฉันจะรีเซ็ต บล็อกจำนวนมากเป็น inodes และไดเร็กตอรี่และฉันก็ลงเอยด้วยระบบไฟล์ที่ถูกทิ้งทั้งหมด ฉันคิดว่ามีไฟล์ของเด็กกำพร้า 6,000 ไฟล์lost+found
ก่อนที่ฉันจะเลิกและติดตั้งใหม่ โชคดีที่นี่เป็นเพียงระบบทดสอบไม่ใช่เวิร์กสเตชันของฉันที่มีไฟล์ทั้งหมดอยู่
ฉันลบ / ฯลฯ และกู้คืนแล้วมัน ฉันไม่คิดว่าฉันเรียนรู้บทเรียนของฉัน ... ฉันต้องกู้คืนจากการลบ/bin
เช่นกัน chroot
ดูเหมือนว่าจะเกิดขึ้นเมื่อฉันได้รับการทำงานร่วมกับ
ปีที่แล้วเพื่อนร่วมงานของฉันใช้หนึ่งในเวิร์กสเตชัน linux ของเราเพื่อสร้างสำเนาของดิสก์แฟลชโดยใช้dd
คำสั่ง เขาพิมพ์สิ่งที่คล้ายกับสิ่งต่อไปนี้โดยไม่ตั้งใจ
dd if=flash-image.img of=/dev/sda1
เมื่อถึงเวลาที่เขาตระหนักถึงความผิดพลาดของเขา - เขียนทับฮาร์ดดิสก์ของเครื่องแทนที่จะเป็นแฟลชไดรฟ์ - เครื่องถูก hosed ไว้แล้ว เราต้องสร้างกล่องขึ้นมาใหม่ซึ่งบังเอิญเป็นเครื่องจักรที่โฮสต์ VM ทั้งหมดของเราในเวลานั้น ...
dd
!!! :-)
เรื่องนี้เกิดขึ้นกับฉันเมื่อปีที่แล้ว ฉันลบบางไฟล์ออกจากเซิร์ฟเวอร์โดยใช้ตัวแปรชั่วคราว:
rm -rf ${prefix}*
คาดเดาอะไร ตัวแปร$prefix
ไม่ได้ถูกกำหนดไว้!
คุณสามารถจินตนาการถึงความหายนะ ... ส่งผลให้มีการลบไฟล์สำคัญบางไฟล์
ฉันเกือบจะพังControl-Cและวิ่งไปที่ CPU เพื่อถอดสายเคเบิลเครือข่าย !!
ฮ่าฮ่าฮ่าฉันแน่ใจว่ามีคนทำสิ่งนี้ไปแล้ว ...
ในขณะที่ในปีที่ 2 ของฉันในการศึกษาวิทยาศาสตร์คอมพิวเตอร์เราได้รับมอบหมายให้ทำการบ้านเพื่อเขียนโปรแกรมใน C ที่จะวางไข่จำนวนของกระบวนการย่อยด้วยfork
และทำให้พวกเขาสื่อสารกับท่อใน "วงกลม" และคิดว่าอันไหนควรเป็น "ผู้นำ "
เรายังไม่เห็นใครมาก่อนและคนส่วนใหญ่ไม่มีเครื่อง Linux ดังนั้นเราจึงทำงานกับบัญชีของเราบนเซิร์ฟเวอร์หลักของคณะ (ซึ่งเป็นโฮสต์เว็บไซต์ทางการและบัญชีพนักงานและเว็บไซต์ด้วย) คนส่วนใหญ่เขียน forkbombs ในบางช่วงของการพยายามทำการบ้าน กลุ่มของฉันมากกว่าครึ่งไปถึงabusers
ไฟล์แล้ว นั่นคือโหลดสูงสุดบนเซิร์ฟเวอร์นั้นในเวลา looong :)
เมื่อมหาวิทยาลัยตัดสินใจเปลี่ยนเครือข่ายไร้สายให้ใช้การตรวจสอบสิทธิ์ Cisco LEAP ที่เป็นกรรมสิทธิ์ ...
เริ่มการต่อสู้ที่ยาวนานมากซึ่งจบลงด้วยดีพอ เขียนเอกสารสำหรับคนอื่น ๆ ที่ต้องการใช้งาน Linux และสามารถเข้าถึงอินเทอร์เน็ตได้ หกเดือนต่อมาพวกเขาตัดสินใจเพิ่มการสนับสนุน PEAP เช่นกัน ตบหน้า
ฉันชอบมากเพราะฉันชนะ ฉันได้มันไปทำงาน
ในฐานะที่เป็นรากบน Solaris
$ kill -9 1
... และทุกอย่างก็ลงไป
เพื่อนของฉันโดนไล่ออกเพราะเหตุนี้
ฉันเป็นผู้ช่วยแล็บสำหรับคลาส Linux นักเรียนคนหนึ่งของที่เรียกว่าผมมากกว่าเพราะเธอไม่สามารถเพราะเธอได้รับsu -
permission denied
ตกลงเธอพิมพ์ผิด / พิมพ์ผิดรหัสผ่าน รีบูตเข้าสู่โหมดผู้ใช้คนเดียวและรีเซ็ต อะไร?! su
ยังไม่ทำงานเหรอ! มันต้องกราบไหว้ต่อความประสงค์ของฉัน! ดังนั้นฉันรีบูตในโหมดผู้ใช้คนเดียวเพื่อค้นหาสิ่งที่เธอทำ ฉันรู้ว่าเธอวิ่งchmod -R 777 /var/www/html/drupal-6.19 /
หมายเหตุช่องว่างระหว่างชื่อไดเรกทอรีและเครื่องหมายทับสุดท้าย
หลังจากนั้นไม่กี่นาทีของ "ผมไม่ต้องการให้มีการติดตั้งของเธอดังนั้นนี่คืออะไรทำและวิธีการ." ฉันจัดการเพื่อพบว่า / bin / su 777
ตอนนี้มีสิทธิ์ของแฟ้มของ ที่สามารถอ่านเป็นสิทธิ์ของแฟ้มของ0777
ที่เอาบิต setuid /bin/su
จาก อย่างรวดเร็วchmod u+s /bin/su
และฉันเป็นฮีโร่
ไม่ว่าเจ็บปวด ... แต่เป็นช่วงเวลาที่สนุก ๆ :
ฉันได้พิมพ์ผิดls
เป็นsl
และพบว่าดูแลระบบได้บางสิ่งบางอย่างที่ติดตั้งสำหรับกรณีดังกล่าว
git init
git clean -f
สิ่งนี้ไม่ได้ลบที่เก็บ สิ่งนี้จะลบทุกสิ่งที่ไม่ได้อยู่ในที่เก็บ
หลังจากพยายามกำจัด repo ที่มีอยู่แล้วเริ่มการควบคุมแหล่งที่มาอีกครั้ง (ในเวอร์ชันแรกที่สมบูรณ์ของโครงการ) คำสั่งสองคำสั่งเหล่านี้ทำให้โค้ดทั้งหมดของฉันสมบูรณ์
บริษัท ที่ฉันเคยทำงานให้ผลิตภัณฑ์ของตนทำงานบน SCO ฉันกำลังทำการดีบักบางอย่างเกี่ยวกับแอปพลิเคชันที่ได้รับช้ามากบนเซิร์ฟเวอร์ตัวอย่างของเราและในขณะเดียวกันก็มีลูกค้าจำนวนมากที่ได้รับการสาธิต / บรรยายเกี่ยวกับคุณสมบัติใหม่ที่กำลังจะมาถึง
ดังนั้นฉันจึงรันแอปพลิเคชันที่เคยติดขัดทำสิ่งที่ฉันทำไว้เพื่อตรวจสอบสาเหตุที่แท้จริง แต่เนื่องจากมันยัง "ติดอยู่" ฉันจึงพยายามฆ่ามัน:
pkill -9 mytestapplication
สิ่งที่ฉันได้เรียนรู้ก็คือ pkill ไม่ได้ทำแบบเดียวกันกับ SCO เหมือนกับใน linux =)
... โดยพื้นฐานแล้วมันจะฆ่าทุกสิ่งที่ผู้ใช้สามารถเข้าถึงและด้วยรูท ... นั่นคือทุกอย่าง =)
สวิตช์ของฉันจาก Debian เป็น Ubuntu เริ่มต้นวันที่ฉันพยายามลบไฟล์และไดเรกทอรีซึ่งหมายถึงพิมพ์
rm -r /var/tmp/*
น่าเสียดายที่ฉันแทรกช่องว่างระหว่าง "/ var / tmp /" และ "*" และยิ่งแย่กว่านั้นคือฉันอยู่ในรูทของระบบไฟล์
root@workstation:/# rm -r /var/tmp/ *
โปรดอย่าลองทำที่บ้าน!
มีเคล็ดลับเรียบร้อยในการทำเทียบเท่าdirname
และbasename
ตามลำดับใน Bash:
${path%/*}
${path##*/}
ไม่ตลกนักเมื่อ$path
มีเครื่องหมายทับต่อท้าย ...
/mnt
ฉันมีสองไดรฟ์ที่ติดตั้งในจุดหนึ่งและมีระบบแฟ้มรากของไดรฟ์ที่สองติดตั้งอยู่ในไดเรกทอรีภายใน ฉันอยู่ในไดเรกทอรีนั้นและพยายามลบvar
แต่จบลงด้วยการพิมพ์rm -rf /var
แทน สัญชาตญาณบางอย่างดูเหมือนจะเตะในที่กล่าวว่าvar
จะต้องนำหน้าด้วยเฉือน!
เมื่อฉันรู้ว่าสิ่งที่ฉันทำฉันตีทันทีCtrl-Cแต่มันก็สายเกินไป rpm
ฐานข้อมูลของฉันมีความยาวตั้งแต่ออกจากอาคาร ฉันใช้เวลานานในการทำให้ทุกอย่างกลับมาเป็นปกติ
ตอนนี้สำหรับส่วนที่เจ็บปวด
ฉันกลับไปที่ไดเรกทอรีนั้น/mnt
เพื่อดำเนินการต่อในสิ่งที่ฉันทำ ฉันจะพิมพ์อะไร สมมุติว่าสัญชาตญาณเตะเข้ามาอีกครั้ง
อย่างน้อยฉันก็สามารถกู้คืนระบบได้เร็วขึ้นเป็นครั้งที่สอง;)
rm
คำสั่ง หรือเศร้า