Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

2
ฉันควรจะลบรหัสผ่านของผู้ใช้เมื่อฉันตั้งค่าการตรวจสอบคีย์สาธารณะสำหรับ SSH หรือไม่
เป็นการดีที่สุดที่จะใช้กุญแจสาธารณะสำหรับ SSH ดังนั้นฉันมีsshd_configPasswordAuthentication no ผู้ใช้บางคนไม่เคยเข้าสู่ระบบเช่น SFTP /usr/sbin/nologinผู้ใช้ที่มีเปลือก หรือบัญชีระบบ adduser gary --shell /usr/sbin/nologin --disabled-passwordดังนั้นผมจึงสามารถสร้างผู้ใช้ดังกล่าวได้โดยไม่ต้องใช้รหัสผ่านด้วย เป็นความคิดที่ดี / ไม่ดีใช่ไหม มีสิ่งแตกต่างที่ฉันไม่ได้พิจารณาหรือไม่?


1
$ {! #} ทำงานอย่างไรในการทุบตีเพื่อรับอาร์กิวเมนต์บรรทัดคำสั่งล่าสุด
จากคู่มือการใช้สคริปต์การทุบตีขั้นสูงเพื่อรับอาร์กิวเมนต์บรรทัดคำสั่งล่าสุด: หรือ: lastarg=${!#} เป็นการ อ้างอิงทางอ้อมกับ$#ตัวแปร โปรดทราบว่าlastarg=${!$#}ไม่ทำงาน
19 bash 

2
ทำไมคุณควรใช้ `rpm -U 'เสมอและไม่ใช่` rpm -i` เพื่อติดตั้งแพ็คเกจ?
รอบต่อนาทีมีตัวเลือก-i( --install) เพื่อติดตั้งแพคเกจ รอบต่อนาทีมีตัวเลือก-U( --upgrade) ที่จะติดตั้งหรืออัพเกรดแพคเกจ เอกสารหมวกสีแดงแสดงให้เห็นว่าrpm -iเป็นที่ยอมรับได้อย่างสมบูรณ์แบบ อย่างไรก็ตามเอกสารทั้งหมดที่ฉันเคยเห็นแนะนำให้ใช้-Uแม้ว่าจะติดตั้งแพคเกจเป็นครั้งแรกก็ตาม ทำไมเป็นrpm -Uที่ต้องการมากกว่าโดยทั่วไปrpm -i?
19 rpm 

3
ทำไมตารางไอโหนดจึงไม่สามารถปรับขนาดได้
ระบบไฟล์ Unix มักจะมีตารางไอโหนดและจำนวนรายการในตารางนี้มักจะได้รับการแก้ไขในเวลาที่ระบบไฟล์ถูกสร้างขึ้น บางครั้งสิ่งนี้นำไปสู่ผู้ที่มีพื้นที่ดิสก์จำนวนมากได้รับข้อความแสดงข้อผิดพลาดที่ทำให้สับสนเกี่ยวกับที่ว่างและแม้กระทั่งหลังจากที่พวกเขาทราบว่าปัญหาคืออะไรไม่มีวิธีแก้ง่ายสำหรับสิ่งที่ต้องทำ แต่ดูเหมือนว่า (สำหรับฉัน) ว่ามันจะเป็นที่พึงปรารถนาอย่างยิ่งที่จะหลีกเลี่ยงความยุ่งเหยิงทั้งหมดนี้ด้วยการจัดสรร inode ตามความต้องการโดยสมบูรณ์โปร่งใสให้กับผู้ใช้และผู้ดูแลระบบ หากคุณเข้าสู่แฮ็คที่น่ารักคุณสามารถทำให้ตารางไอโหนดนั้นเป็นไฟล์ได้และใช้รหัสที่คุณมีอยู่แล้วเพื่อหาพื้นที่ว่างบนดิสก์ หากคุณโชคดีคุณอาจท้ายด้วย inodes ซึ่งอยู่ใกล้กับไฟล์โดยไม่ต้องพยายามให้ได้ผลลัพธ์นี้ แต่ไม่มีใคร (ที่ฉันรู้) ทำสิ่งนี้จริง ๆ ดังนั้นอาจมีการจับที่ฉันหายไป มีความคิดอะไรที่อาจเป็น?

2
เป็นไปได้หรือไม่ที่จะ chown ไฟล์ตาม UID ที่เป็นตัวเลขให้กับผู้ใช้ที่ยังไม่มีอยู่?
ตัวอย่างเช่นสำหรับการจัดการดิสก์พาร์ติชันสำหรับระบบอื่นที่มีผู้ใช้อยู่ ฉันรู้ว่าฉันสามารถสร้างผู้ใช้ชั่วคราว แต่ฉันพบว่าคำถามนี้น่าสนใจ
19 chown 

2
วิธียกเลิกคำสั่ง Linux โดยไม่ทำลายแอปพลิเคชันที่ได้รับ
ฉันมีสคริปต์ทุบตีที่ทำงานตราบใดที่เครื่อง Linux เปิดอยู่ ฉันเริ่มมันดังแสดงด้านล่าง: ( /mnt/apps/start.sh 2>&1 | tee /tmp/nginx/debug_log.log ) & หลังจาก lauches ฉันสามารถดูคำสั่ง tee ในเอาต์พุตpsของฉันได้ดังแสดงด้านล่าง $ ps | grep tee 418 root 0:02 tee /tmp/nginx/debug_log.log 3557 root 0:00 grep tee ฉันมีฟังก์ชั่นที่ตรวจสอบขนาดของบันทึกที่teeสร้างและฆ่าคำสั่งteeเมื่อบันทึกถึงขนาดที่แน่นอน: monitor_debug_log_size() { ## Monitor the file size of the debug log to make sure it does not …
19 linux  scripting  pipe  kill  tee 

6
วิธีการคลายบีบอัดไฟล์ข้อความธรรมดาขนาดใหญ่บีบอัดบางส่วน?
ฉันมีไฟล์ zip ขนาด 1.5 GB เนื้อหาของมันคือไฟล์ข้อความตัวอักษรขนาดใหญ่ที่น่าขัน (60 GB) และตอนนี้ฉันมีพื้นที่เหลือบนดิสก์ไม่เพียงพอที่จะดึงมันออกมาทั้งหมดหรือฉันต้องการที่จะดึงมันออกมาทั้งหมดแม้ว่าฉันจะมีก็ตาม สำหรับกรณีการใช้งานของฉันมันจะพอเพียงถ้าฉันสามารถตรวจสอบบางส่วนของเนื้อหา ดังนั้นฉันต้องการแตกไฟล์เป็นสตรีมและเข้าถึงช่วงของไฟล์ (เช่นเดียวกับที่สามารถทำได้ผ่านส่วนหัวและส่วนท้ายในไฟล์ข้อความปกติ) ไม่ว่าจะโดยหน่วยความจำ (เช่นแยกสูงสุด 100kb เริ่มต้นที่เครื่องหมาย 32GB) หรือตามบรรทัด (ให้บรรทัดข้อความธรรมดา 3700-3900) มีวิธีการที่จะบรรลุเป้าหมายนั้นหรือไม่?

1
ฉันจะรักษาความปลอดภัยระบบ Linux กับการโจมตีระยะไกล BlueBorne ได้อย่างไร
Armis Lab ได้ค้นพบการโจมตีแบบเวกเตอร์ใหม่ที่ส่งผลกระทบต่ออุปกรณ์ทั้งหมดที่เปิดใช้งาน Bluetooth รวมถึงระบบ Linux และ IoT BlueBorne โจมตีบน Linux Armis เปิดเผยสองช่องโหว่ในระบบปฏิบัติการ Linux ที่ทำให้ผู้โจมตีสามารถควบคุมอุปกรณ์ที่ติดไวรัสได้อย่างสมบูรณ์ สิ่งแรกคือช่องโหว่การรั่วไหลของข้อมูลซึ่งสามารถช่วยให้ผู้โจมตีสามารถตรวจสอบเวอร์ชันที่แน่นอนที่อุปกรณ์เป้าหมายใช้และปรับการใช้ประโยชน์ของเขาให้เหมาะสม ประการที่สองคือสแตกล้นด้วยสามารถนำไปสู่การควบคุมเต็มรูปแบบของอุปกรณ์ ตัวอย่างเช่นอุปกรณ์ทั้งหมดที่เปิดใช้งานบลูทู ธ ควรทำเครื่องหมายว่าเป็นอันตราย อุปกรณ์ที่ติดไวรัสจะสร้างเครือข่ายที่เป็นอันตรายซึ่งทำให้ผู้โจมตีสามารถควบคุมอุปกรณ์ทั้งหมดได้จากระยะบลูทู ธ การใช้บลูทู ธ บนระบบ Linux เพื่อเชื่อมต่ออุปกรณ์ต่อพ่วง (คีย์บอร์ด, เม้าส์, หูฟัง, ฯลฯ ) ทำให้ Linux อยู่ภายใต้ความเสี่ยงที่หลากหลาย การโจมตีนี้ไม่ต้องการการโต้ตอบจากผู้ใช้การพิสูจน์ตัวตนหรือการจับคู่ทำให้ไม่สามารถมองเห็นได้ในทางปฏิบัติ CVE-2017-1000250 อุปกรณ์ Linux ทั้งหมดที่ใช้งาน BlueZ ได้รับผลกระทบจากช่องโหว่การรั่วไหลของข้อมูล ระบบปฏิบัติการ Linux ทั้งหมดที่เปิดใช้งานบลูทู ธ ของฉันถูกทำเครื่องหมายว่ามีความเสี่ยงหลังจากตรวจสอบด้วยเครื่องสแกน BlueBorne Vulnerability (แอพพลิเคชั่น …

3
ls pip เท่ากับ ls -1 หรือไม่
lsคืนค่าเอาต์พุตในหลาย ๆ คอลัมน์ในขณะที่ls|catคืนค่าเอาต์พุตแบบเหมือนไบต์ด้วยls -1สำหรับไดเรกทอรีที่ฉันได้ลอง ฉันยังคงเห็นประปาในคำตอบเช่นls -1 ls -1|wc -lมีเหตุผลที่จะชอบls -1ไหม? ทำไมไม่...|catเปลี่ยนการส่งออกของls?
19 shell  ls 

2
grep ทำอย่างไรเมื่อไม่ได้ใช้งาน CPU
เมื่อมองหาการจับคู่กับgrepฉันมักจะพบว่าการค้นหาที่ตามมาใช้เวลาน้อยกว่าครั้งแรกอย่างมาก - เช่น 25s กับ 2s เห็นได้ชัดว่าไม่ใช่การใช้โครงสร้างข้อมูลซ้ำจากการเรียกใช้ครั้งล่าสุด - สิ่งที่ควรได้รับการจัดสรรคืน ใช้timeคำสั่งgrepฉันสังเกตเห็นปรากฏการณ์ที่น่าสนใจ: real 24m36.561s user 1m20.080s sys 0m7.230s เวลาที่เหลือไปที่ไหน มีอะไรที่ฉันสามารถทำได้เพื่อให้มันวิ่งเร็วทุกครั้งหรือไม่? (เช่นมีกระบวนการอื่นอ่านไฟล์ก่อนgrepค้นหา)
19 grep  performance 

3
รับมากกว่า 2 GB ในการสร้าง PDF ด้วย ImageMagick
ฉันใช้convertเพื่อสร้างไฟล์ PDF จากประมาณ 2,000 ภาพ: convert 0001.miff 0002.miff ... 2000.miff -compress jpeg -quality 80 out.pdf กระบวนการยุติการทำซ้ำได้เมื่อไฟล์เอาต์พุตถึง 2 ^ 31-1 ไบต์ (2 GB −1) พร้อมข้อความ convert: unknown `out.pdf'. ข้อกำหนดไฟล์ PDF ช่วยให้≈10 GB ฉันพยายามดึงข้อมูลเพิ่มเติมจาก-debug allแต่ฉันไม่เห็นว่ามีประโยชน์ในการบันทึกผลลัพธ์ ระบบไฟล์ext3ซึ่งช่วยให้ไฟล์อย่างน้อยถึง 16 ลิ่ม (อาจจะมากขึ้น) ในฐานะที่เป็นulimit, คือfile size มีเพียงบรรทัดที่ใส่ความคิดเห็นเท่านั้น มีอะไรอีกที่ทำให้เกิดสิ่งนี้และฉันจะเพิ่มขีด จำกัด ได้อย่างไรunlimited/etc/security/limits.conf รุ่น ImageMagick: 6.4.3 2016-08-05 Q16 การ …

3
รั้งการขยายตัวลึกลับใน Bash
นี้: $ echo {{a..c},{1..3}} ผลิตสิ่งนี้: a b c 1 2 3 ซึ่งเป็นสิ่งที่ดี แต่ยากที่จะอธิบายให้ที่ $ echo {a..c},{1..3} จะช่วยให้ a,1 a,2 a,3 b,1 b,2 b,3 c,1 c,2 c,3 เอกสารนี้อยู่ที่ไหนสักแห่ง? ทุบตีอ้างอิงไม่ได้พูดถึงมัน (แม้ว่ามันจะมีตัวอย่างการใช้มัน)

2
Grep: ผลลัพธ์ที่ไม่คาดคิดเมื่อค้นหาคำในหัวข้อจากหน้าคน
ฉันพบพฤติกรรมแปลก ๆ เมื่อพยายาม grep man page ใน macOS ตัวอย่างเช่นหน้า Bash man มีการเกิดขึ้นของสตริงอย่างชัดเจนNAME: $ man bash | head -5 | tail -1 NAME และถ้าฉัน grep สำหรับnameฉันจะได้รับผลลัพธ์ แต่ถ้าฉัน grep สำหรับNAMEฉันไม่ได้: $ man bash | grep 'NAME' $ man bash | grep NAME ฉันลองคำอื่น ๆ ที่ฉันรู้ว่ามีอยู่แล้วและค้นหาสิ่งที่ให้SHELLผลตอบแทนในขณะที่ค้นหาBASHผลลัพธ์ เกิดอะไรขึ้นที่นี่? ปรับปรุง : ขอบคุณสำหรับคำตอบทั้งหมด! ฉันคิดว่ามันคุ้มค่าที่จะเพิ่มบริบทที่ฉันพบเจอ ฉันต้องการเขียนฟังก์ชัน bash …

1
echo [9876543210] แสดง 1 4 5 6 …ทำไม?
โปรดอธิบายว่าทำไม 1 4 5 6 แสดงเป็นคำสั่ง echo สี่ครั้งล่าสุด ฉันตีมันโดยบังเอิญครั้งเดียว แต่ตอนนี้ฉันอยากรู้ว่าทำไมพฤติกรรมนี้เกิดขึ้น ข้อความเหล่านี้ทำงานได้ตามที่คาดไว้ (สำหรับฉัน) $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] ข้อความสะท้อนเหล่านี้แสดงอย่างต่อเนื่อง 1 4 5 6. มีอะไรพิเศษเกี่ยวกับตัวเลขเหล่านี้หรือไม่? $ echo [9876543210] 1 4 5 6 $ echo [abcd9876543210ghi] 1 4 5 6 $ echo [-123456-] 1 4 5 …

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