Unix & Linux

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

1
ไม่มีเส้นทางไปยังโฮสต์ด้วย nc แต่สามารถ ping ได้
ฉันกำลังพยายามเชื่อมต่อกับพอร์ต 25 กับ netcat จากเครื่องเสมือนหนึ่งไปยังอีกเครื่องหนึ่ง แต่กำลังบอกฉันno route to hostแม้ว่าฉันจะสามารถ ping ได้ ฉันมีการตั้งค่านโยบายเริ่มต้นของไฟร์วอลล์ของฉันที่จะลดลง แต่ฉันมีข้อยกเว้นที่จะยอมรับปริมาณการใช้งานสำหรับพอร์ต 25 ในเครือข่ายย่อยที่เฉพาะเจาะจงนั้น ฉันสามารถเชื่อมต่อจาก VM 3 ถึง VM 2 บนพอร์ต 25 ด้วย nc แต่ไม่ใช่จาก VM 2 ถึง 3 นี่เป็นตัวอย่างของกฎไฟร์วอลล์ของฉันสำหรับ VM2 นี่เป็นตัวอย่างของกฎไฟร์วอลล์ของฉันสำหรับ VM 3 เมื่อฉันแสดงบริการฟังฉันมี*:25ซึ่งหมายความว่ามันกำลังฟังที่อยู่ ipv4 ทั้งหมดและ:::25ที่อยู่ ipv6 ฉันไม่เข้าใจว่าข้อผิดพลาดอยู่ที่ใดและทำไมไม่ทำงานทั้งกฎของไฟร์วอลล์ยอมรับการรับส่งข้อมูลบนพอร์ต 25 ดังนั้นจึงควรทำการเชื่อมต่อ ฉันลองเปรียบเทียบความแตกต่างระหว่างทั้งสองเพื่อดูว่าทำไมฉันสามารถเชื่อมต่อจาก vm3 กับ vm2 ได้ แต่การตั้งค่าเหมือนกันทั้งหมด ข้อเสนอแนะใด ๆ …

1
ใช้ netcat สำหรับการส่งต่อพอร์ต
ฉันมีกระบวนการที่คอยรับฟังIP:portในความเป็นจริงมันเป็น spark สตรีมมิ่งที่เชื่อมต่อกับซ็อกเก็ต ปัญหาคือฉันต้องการสร้างเซิร์ฟเวอร์ที่เชื่อมต่อเพื่อจุดประกายบนพอร์ตหนึ่งและข้อมูลจะถูกสตรีมไปยังเซิร์ฟเวอร์นี้จากพอร์ตอื่น ตัวอย่างเช่นตัวอย่างการสตรีมแบบ spark ใช้ยูทิลิตี netcat (ตัวอย่างnc -lk 5005) อย่างไรก็ตามฉันมีบริการอื่นที่รับฟังข้อความที่เข้ามาจากนั้นคายข้อความ ดังนั้นฉันต้องการเซิร์ฟเวอร์บางประเภทที่สามารถฟังข้อความจากบริการ A และส่งต่อไปยังประกายไฟ บริการของฉัน A พึ่งพาซ็อกเก็ต และผู้บริโภคที่เป็นประกายของฉันอาศัยซ็อกเก็ต นี่คือสิ่งที่ฉันได้ทำไปแล้วจนถึงตอนนี้คือการส่งต่อจากพอร์ตหนึ่งไปอีกพอร์ต แต่ดูเหมือนจะไม่ทำงาน: nc -X 4 -x 127.0.0.1:5005 localhost 5006 ด้วยแนวคิดที่ว่าบริการA:5005-> ซ็อกเก็ต -> 5006-> Spark ฉันไม่สามารถหาวิธีที่ถูกต้องในการทำงานนี้ คำตอบบางข้อเสนอแนะต่อไปนี้: socat tcp-l:5005,fork,reuseaddr tcp:127.0.0.1:5006 ผู้รับซ็อกเก็ต Spark ของฉันไม่ได้หรือไม่สามารถเชื่อมต่อได้ ฉันได้รับข้อผิดพลาด:Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused
20 linux  networking  netcat  nc 

5
บน Apple Keyboard ภายใต้ Linux ฉันจะทำให้ปุ่มฟังก์ชั่นทำงานโดยไม่ต้องใช้ปุ่มตัวปรับเปลี่ยน fn ได้อย่างไร
ฉันใช้คีย์บอร์ดแบบมีสายของ Apple บน Linux โดยค่าเริ่มต้นปุ่มฟังก์ชั่น (F1, F2, F3, ฯลฯ ) fnจะต้องกดปุ่มเพื่อให้ปุ่มเหล่านั้นทำงาน โดยไม่ต้องfnคีย์คีย์เหล่านี้ควบคุมคุณสมบัติเช่นหน้าจอสว่าง, ปริมาณ, ควบคุมและติดตามเพลง มีวิธีใดบ้างที่จะสลับสิ่งเหล่านี้รอบ ๆ ดังนั้นปุ่มฟังก์ชั่นจึงไม่ต้องการfnตัวดัดแปลง แต่ฟังก์ชั่นอื่น ๆ (ความสว่าง ฯลฯ ) ทำหน้าที่อะไร?

4
ขยายพาร์ติชันล่าสุดโดยอัตโนมัติเพื่อใช้พื้นที่ที่ไม่ได้ปันส่วนทั้งหมดโดยใช้การแบ่งส่วนในโหมดแบทช์
เรื่องสั้นสั้นฉันต้องดำเนินการทั้งหมดนี้โดยอัตโนมัติเมื่อบูต (ระบบฝังตัว) วิศวกรของเราจะส่งภาพไปยังอุปกรณ์การผลิต รูปภาพเหล่านี้จะมีตารางพาร์ติชันเล็ก ๆ ในการบู๊ตฉันต้องขยายพาร์ติชั่นสุดท้ายโดยอัตโนมัติ (# 3) เพื่อใช้พื้นที่ทั้งหมดบนดิสก์ นี่คือสิ่งที่ฉันได้รับเมื่อฉันดูพื้นที่ว่างบนดิสก์ของฉัน > parted /dev/sda print free Model: Lexar JumpDrive (scsi) Disk /dev/sda: 32.0GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 17.4kB 1049kB 1031kB Free Space 1 1049kB 25.3MB 24.2MB fat16 primary …
20 parted 

2
แก้ไขการตั้งค่าไฟล์ ssh config เพื่อ tunnel ไปยังเครื่องที่ 3
ฉันกำลังพยายามอุโมงค์ไปยังเซิร์ฟเวอร์ผ่านเซิร์ฟเวอร์บริดจ์ จนถึงตอนนี้ฉันสามารถทำให้มันใช้งานได้จากเชลล์คำสั่งอย่างถูกต้องโดยใช้คำสั่งต่อไปนี้: ssh -A -t bridge_userid@bridgemachine.com ssh -A remote_userid@remoteserver.com แต่ฉันพยายามที่จะรวม~/.ssh/configไฟล์นี้ไว้ในไฟล์ของฉันและฉันมีปัญหา ฉันได้พยายาม: Host axp User remote_userid HostName remoteserver.com IdentityFile ~/.ssh/id_rsa.eric ProxyCommand ssh -A -t bridge_userid@bridge_userid.com ssh -A remote_userid@%h แต่เมื่อฉันทำฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้remoteserver.comและฉันไม่แน่ใจว่าเกิดจากอะไร: ksh: SSH-2.0-OpenSSH_6.8 ^ M: ไม่พบ ฉันรู้ว่าเมื่อฉันเข้าสู่เปลือกของฉันคือremoteserver.com/usr/bin/ksh ฉันพยายามเพิ่มพา ธ อาร์กิวเมนต์ไปยังคำสั่ง ssh ในไฟล์ปรับแต่ง แต่มันก็ไม่ต่างกัน ความคิดใด ๆ ที่สามารถเป็นได้?

2
กำลังจัดเก็บชื่อผู้ใช้และรหัสผ่านใน Git
เมื่อฉันทำ git push ฉันได้รับคำสั่งเช่นนั้น Username for 'https://github.com': จากนั้นฉันป้อนชื่อผู้ใช้ด้วยตนเองเช่น Username for 'https://github.com': myusername จากนั้นฉันก็กดEnterและฉันจะขอรหัสผ่านให้ Password for 'https://myusername@github.com': ฉันต้องการให้ชื่อผู้ใช้ถูกเขียนโดยอัตโนมัติแทนที่จะต้องพิมพ์ด้วยตนเองตลอดเวลา ฉันลองทำด้วยxdotoolแต่มันก็ไม่ได้ผล ฉันได้ทำไปแล้ว git config --global user.name myusername git config --global user.email myemail@gmail.com แต่ก็ยังขอให้ฉันพิมพ์ด้วยตนเองเสมอ
20 git 

2
วิธีส่งออกไพรเวตคีย์ GPG และพับลิกคีย์ไปยังไฟล์
ฉันสร้างคีย์โดยใช้ GPG โดยดำเนินการคำสั่งต่อไปนี้ gpg --gen-key ตอนนี้ฉันต้องส่งออกคู่กุญแจไปยังไฟล์ เช่นคีย์ส่วนตัวและสาธารณะไปยังprivate.pgpและpublic.pgpตามลำดับ ฉันต้องทำอย่างไร?
20 gpg  pgp  openpgp 

3
grep ไม่ส่งออกจนกว่า EOF หากส่งผ่าน cat
รับตัวอย่างที่น้อยที่สุดนี้ ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) มันจะออกผลลัพธ์LINE 1และแล้วหลังจากที่สองเอาท์พุทLINE 2, คาดว่าเป็น ถ้าเราไปป์นี้ให้ได้ grep LINE ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) | grep LINE พฤติกรรมจะเหมือนกับในกรณีก่อนหน้าตามที่คาดไว้ หากอีกวิธีหนึ่งเราจะทำสิ่งนี้เพื่อ cat ( echo "LINE 1" ; sleep 1 ; echo "LINE …
19 bash  grep  pipe 

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

1
จะบันทึกสิ่งที่แนบมาที่ติดแท็กทั้งหมดใน mutt ได้อย่างไร?
คุณสามารถบันทึกไฟล์แนบทั้งหมดผ่านทาง ติดแท็กไฟล์แนบทั้งหมดด้วยการกดปุ่ม t ; s เลือกไดเรกทอรีปลายทางและกดa(ทั้งหมด) วิธีนี้ใช้ได้ผล แต่มีผลข้างเคียงที่รุนแรง: คุณต้องกด n-times enterสำหรับไฟล์แนบ n ไฟล์ ซึ่งหมายความว่าแม้ว่าจะไม่มีการชนกันของชื่อไฟล์ในไดเรกทอรีปลายทาง นอกจากนี้ยังมีการบันทึกไว้ในMutt คำถามที่พบบ่อย ไม่สะดวกมาก ผู้ใช้ mutt บางรายดูเหมือนจะแนะนำการไพพ์ข้อความถึง munpack (ลิงก์ข้อความตัวอย่าง) ความคิดที่ดี - แต่จะทำให้ Mutt พรอมต์สำหรับไดเรกทอรีปลายทางได้อย่างไร (เป็นส่วนหนึ่งของmunpackแมโครที่กล่าวอ้าง) ฉันจะสร้างมาโครได้อย่างไร หรือมีวิธีแก้ปัญหาที่ดีกว่านี้หรือไม่?
19 mutt 

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

2
ไม่อนุญาตให้โปรแกรมโหมดผู้ใช้เข้าถึงหน่วยความจำพื้นที่เคอร์เนลและดำเนินการคำสั่งเข้าและออกเอาชนะวัตถุประสงค์ของการมีโหมด CPU หรือไม่
เมื่อ CPU อยู่ในโหมดผู้ใช้ CPU จะไม่สามารถประมวลผลคำแนะนำพิเศษและไม่สามารถเข้าถึงหน่วยความจำพื้นที่เคอร์เนลได้ และเมื่อ CPU อยู่ในโหมดเคอร์เนล CPU สามารถดำเนินการคำสั่งทั้งหมดและสามารถเข้าถึงหน่วยความจำทั้งหมด ตอนนี้ใน Linux โปรแกรมโหมดผู้ใช้สามารถเข้าถึงหน่วยความจำทั้งหมด (โดยใช้/dev/mem) และสามารถดำเนินการตามคำแนะนำพิเศษสองอย่างINและOUT(โดยใช้iopl()ฉันคิดว่า) ดังนั้นโปรแกรมโหมดผู้ใช้ใน Linux สามารถทำสิ่งต่าง ๆ ได้ (ฉันคิดว่าเกือบทุกอย่าง) ซึ่งสามารถทำได้ในโหมดเคอร์เนล ไม่อนุญาตให้โปรแกรมโหมดผู้ใช้ใช้พลังงานทั้งหมดนี้เพื่อวัตถุประสงค์ในการมีโหมด CPU หรือไม่
19 linux 

4
เคอร์เนล Linux ต้องการระบบไฟล์เพื่อให้ทำงานได้หรือไม่?
ความคิดเห็นของฉันคือใช่มันเป็นเช่นนั้นเพราะการได้รับประโยชน์ที่มีประโยชน์ต่อโลกภายนอก (โหมดตัวประมวลผลที่ไม่มีสิทธิพิเศษ) จะต้องมีกระบวนการที่ทำงานในโลกภายนอกก่อน ที่จะต้องใช้ระบบไฟล์แม้ชั่วคราวในแรมระบบไฟล์ วิศวกรอีกคนไม่เห็นด้วยกับฉัน แต่ดูเหมือนว่าฉันจะไม่สามารถพิสูจน์เรื่องนี้ได้เลย คำตอบสำหรับคำถามนี้ขึ้นอยู่กับคำจำกัดความของ 'การทำงาน' หรือไม่?

1
ตัวเลือก ssh“ -P” มันใช้ทำอะไร?
ในสคริปต์เก่า (2001?) สำหรับ Linux OS ฉันพบการใช้งาน-Pตัวเลือกสำหรับsshคำสั่ง: $ ssh -P host.domain -l user แต่ในsshหน้าคู่มือไม่มีการพูดถึง-Pตัวเลือก อย่างไรก็ตามการดำเนินการssh -P host.domainจะไม่แสดงคำเตือนหรือข้อผิดพลาดใด ๆ มันคืออะไร? อาจเป็นตัวเลือกเก่า / ไม่มีเอกสาร?
19 ssh 

2
chmod -u ทำอะไรได้บ้าง
โดยอุบัติเหตุฉันวิ่งและมันออกทั้งหมดของสิทธิ์ที่ฉันมีในchmod -u filenamefilename หน้าคนไม่ได้อ้างอิง-uตัวเลือก การทดลองฉันสามารถสรุปได้ว่ามันไม่ได้ลบสิทธิ์ทั้งหมด แต่เพียงแค่อ่านและดำเนินการเข้าถึงโดยปล่อยให้การเข้าถึงการเขียนยังคงอยู่ แล้วมันทำอะไรกันแน่ ข้อสรุปข้างต้นของฉันผิดฉันคิดว่าการลบสิทธิ์ที่เจ้าของมีจากทุกหมวดหมู่คืออะไร ฉันคิดว่าพฤติกรรมนั้นคล้ายคลึงกับa=uแต่มีเพียง-แทนที่จะเป็น=และaสามารถถูกทิ้งได้เช่นเดียวกับที่a+xทำได้

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