คำถามติดแท็ก linux

Linux เป็นคำศัพท์ทั่วไปสำหรับระบบปฏิบัติการโอเพนซอร์ซเหมือนโอเพนซอร์สที่ใช้เคอร์เนลลินุกซ์

5
รายการที่อนุญาตอนุญาตให้ใช้ IP (เข้า / ออก) โดยใช้ iptables
ฉันมีช่วง IP ไม่กี่ช่วงที่ฉันต้องการให้เซิร์ฟเวอร์ของฉันสามารถเชื่อมต่อและผู้ใช้เชื่อมต่อได้ ทุกอย่างอื่นควรถูกบล็อก ฉันจะทำเช่นนั้นกับ iptables ได้อย่างไร ระบบปฏิบัติการของฉันคือการกระจาย linux ที่ใช้ Debian

2
เซิร์ฟเวอร์ขัดข้องด้วยอักขระ ASCII NUL ใน syslog (^ @ ^ @ ^ @ …)
ฉันมีเซิร์ฟเวอร์เฉพาะที่โฮสต์โดย OVH (ผู้ให้บริการฝรั่งเศส) ระบบปฏิบัติการ: Ubuntu 12.04 x64 ไม่กี่เดือนที่ผ่านมาหนึ่งในเซิร์ฟเวอร์ของฉันทำงานล้มเหลว สิ่งเดียวที่แปลกคือ caracters "ASCII NUL" ใน syslog: ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ …

1
ทำไม rsync ถึงเกิดกระบวนการหลายอย่างสำหรับฉัน
ฉันใช้คำสั่ง cron ต่อไปนี้เพื่อสำรองข้อมูลจากโฟลเดอร์หนึ่งไปยังโฟลเดอร์อื่นในเครื่องเดียวกัน: 19 21 * * * root rsync -ac --delete /source/folder /dest/folder เมื่อฉันใช้pstreeฉันเห็น cron แยกสามกระบวนการ ├─cron───cron───rsync───rsync───rsync และ ps 9972 ? Ds 1:00 rsync -ac --delete /source/folder /dest/folder 9973 ? S 0:29 rsync -ac --delete /source/folder /dest/folder 9974 ? S 0:09 rsync -ac --delete /source/folder /dest/folder เหตุใดจึงมีสามกระบวนการ ฉันสามารถ จำกัด …
21 linux  rsync 

4
การกำหนดค่า Systemd Service เพื่อรันด้วยการเข้าถึงรูท
ฉันมีบริการในรูปแบบของแอปพลิเคชัน node.js ที่ติดตั้งกับ Systemd บน Raspbian Jessie และใช้บัญชีผู้ใช้ของตัวเอง อย่างไรก็ตามฉันพบว่าบริการไม่ทำงานอย่างถูกต้องเพราะไม่มีสิทธิ์ที่จำเป็น หนึ่งในโมดูลโหนดที่ฉันติดตั้งต้องการการเข้าถึงรูท ถ้าฉันเรียกใช้แอปด้วยตนเองโดย sudo ทุกอย่างทำงานได้ดี มีวิธีบอก systemd ให้ใช้บริการด้วย sudo หรือไม่?

2
กำหนดค่าบริการ buggy systemd เพื่อยกเลิกผ่าน SIGKILL
พื้นหลัง ฉันถูกขอให้สร้างsystemdสคริปต์สำหรับบริการใหม่foo_daemonซึ่งบางครั้งอาจเข้าสู่ "สถานะไม่ดี" และจะไม่ตายSIGTERM(อาจเกิดจากตัวจัดการสัญญาณที่กำหนดเอง) นี่เป็นปัญหาสำหรับนักพัฒนาเนื่องจากได้รับคำแนะนำให้เริ่ม / หยุด / เริ่มบริการใหม่ผ่าน: systemctl start foo_daemon.service systemctl stop foo_daemon.service systemctl restart foo_daemon.service ปัญหา บางครั้งเนื่องจากfoo_daemonการเข้าสู่สถานะที่ไม่ดีเราต้องบังคับให้ฆ่าผ่าน: systemctl kill -s KILL foo_daemon.service คำถาม ฉันจะตั้งค่าsystemdสคริปต์ของฉันอย่างไรfoo_daemonเพื่อที่เมื่อใดก็ตามที่ผู้ใช้พยายามหยุด / เริ่มบริการใหม่systemdจะ: พยายามปิดสง่างามของผ่านfoo_daemonSIGTERM ให้มากถึง 2 วินาทีเพื่อให้การปิด / การสิ้นสุดของfoo_daemonเสร็จสมบูรณ์ พยายามปิดการบังคับfoo_daemonผ่านSIGKILLถ้ากระบวนการยังมีชีวิตอยู่ (ดังนั้นเราจึงไม่มีความเสี่ยงที่จะมีการรีไซเคิล PID และsystemdปัญหาSIGKILLต่อ PID ที่ไม่ถูกต้อง) อุปกรณ์ที่เรากำลังทดสอบวางไข่ / แยกกระบวนการจำนวนมากอย่างรวดเร็วดังนั้นจึงมีข้อกังวลที่หายาก แต่แท้จริงเกี่ยวกับการรีไซเคิล PID ที่ก่อให้เกิดปัญหา หากในทางปฏิบัติฉันแค่หวาดระแวงเกี่ยวกับการรีไซเคิล PID ฉันก็โอเคกับสคริปต์ที่ออกมาSIGKILLต่อต้านกระบวนการ …

3
systemd: ให้สิทธิ์ผู้ใช้ที่ไม่ได้รับสิทธิพิเศษเพื่อแก้ไขบริการหนึ่งที่เฉพาะเจาะจง
ฉันใช้เซิร์ฟเวอร์เกมส่วนตัวบนกล่อง linux ที่ไม่มีหัว เนื่องจากฉันไม่ใช่คนโง่พูดว่าเซิร์ฟเวอร์กำลังทำงานในฐานะผู้ใช้ที่ไม่มีสิทธิ์ของตัวเองด้วยสิทธิ์การเข้าถึงขั้นต่ำที่เปลือยเปล่าซึ่งจำเป็นต้องดาวน์โหลดการอัปเดตและแก้ไขฐานข้อมูลโลก ฉันยังสร้างไฟล์หน่วย systemd เพื่อเริ่มต้นอย่างถูกต้องหยุดและรีสตาร์ทเซิร์ฟเวอร์เมื่อจำเป็น (เช่นสำหรับการอัปเดตดังกล่าว) อย่างไรก็ตามเพื่อที่จะโทรจริงsystemctlหรือservice <game> start/stop/restartฉันยังต้องเข้าสู่ระบบในฐานะผู้ใช้รูทหรือsudoผู้ใช้ที่มีความสามารถ มีวิธีบอก systemd หรือไม่ว่าสำหรับ<game>บริการผู้ใช้ที่gamesrvไม่มีสิทธิได้รับอนุญาตให้รันคำสั่ง start / stop / restart ได้หรือไม่?
20 linux  systemd 

4
การกระจาย NTP คืออะไรและฉันจะควบคุมมันได้อย่างไร
เราเปิดตัวเซิร์ฟเวอร์ Ubuntu 14.04 บนเครือข่ายแยกที่ใช้ ntpd 4.2.6p5 ซึ่งกำหนดค่าให้ใช้เซิร์ฟเวอร์ NTP หลายตัวตามที่ลูกค้าให้บริการ (ไม่สามารถเข้าถึง pool.ntp.org) อุปกรณ์ไคลเอ็นต์เทอร์มินัลโง่ของเราใช้ BusyBox เวอร์ชันเก่า (1.00-rc2) และntpclient 2010จาก Larry Doolittle รุ่นเก่า การตั้งค่านี้ใช้งานได้ดีมาหลายปี แต่เมื่อเร็ว ๆ นี้เราได้พบสิ่งกีดขวางบนถนนกับลูกค้าใหม่ พวกเขาให้เรามีที่อยู่เซิร์ฟเวอร์ NTP 5 แห่งซึ่งดูเหมือนว่าจะทำงานได้ดีด้วยตัวเองเท่าที่ntpdate-debianเกี่ยวข้องกับเซิร์ฟเวอร์ Linux อย่างไรก็ตามในด้าน BusyBox ntpclientบ่นกับ "การกระจายสูงเกินไป" จากเอาต์พุตดีบักntpclientรับ "1217163.1" จากเซิร์ฟเวอร์ NTP แต่ค่าสูงสุดที่รองรับคือค่าสัมบูรณ์ (65536) $ /usr/sbin/ntpclient -s -i 15 -h 10.17.162.250 -d Configuration: -c probe_count …
20 linux  ubuntu  ntp  ntpd  busybox 

4
เคอร์เนลสแต็กติดตามไปยังบรรทัดซอร์สโค้ด
ด้วยการติดตามเคอร์เนลสแต็กดังต่อไปนี้คุณจะกำหนดบรรทัดของรหัสเฉพาะที่เกิดปัญหาได้อย่างไร kernel: [<ffffffff80009a14>] __link_path_walk+0x173/0xfb9 kernel: [<ffffffff8002cbec>] mntput_no_expire+0x19/0x89 kernel: [<ffffffff8000eb94>] link_path_walk+0xa6/0xb2 kernel: [<ffffffff80063c4f>] __mutex_lock_slowpath+0x60/0x9b kernel: [<ffffffff800238de>] __path_lookup_intent_open+0x56/0x97 kernel: [<ffffffff80063c99>] .text.lock.mutex+0xf/0x14 kernel: [<ffffffff8001b222>] open_namei+0xea/0x712 kernel: [<ffffffff8006723e>] do_page_fault+0x4fe/0x874 kernel: [<ffffffff80027660>] do_filp_open+0x1c/0x38 kernel: [<ffffffff8001a061>] do_sys_open+0x44/0xbe kernel: [<ffffffff8005d28d>] tracesys+0xd5/0xe0 ในขณะที่ฉันไม่มีปัญหาในการค้นหาการเรียกใช้ฟังก์ชั่น - แต่การแปล__link_path_walkบวกการชดเชยให้กับหมายเลขบรรทัดจริงเป็นส่วนที่ยาก สมมติว่านี่เป็นเคอร์เนลที่มีการกระจายแบบมาตรฐานซึ่งฉันรู้รุ่นและหมายเลขบิลด์ที่แน่นอนกระบวนการในการดึงข้อมูลเมตาที่จำเป็นและการค้นหาที่สอดคล้องกันคืออะไร

1
วิธีปิดกั้นการเข้าถึงอินเทอร์เน็ตไปยังบางโปรแกรมบน Linux
เมื่อเร็ว ๆ นี้ฉันพบปัญหาในการ จำกัด การเข้าถึงอินเทอร์เน็ตเฉพาะบางโปรแกรม ใครช่วยแนะนำวิธีที่ดีในการทำเช่นนั้นโดยไม่ต้องใช้ซอฟต์แวร์ใด ๆ โดยเฉพาะ?

3
Cent OS: ฉันจะปิดหรือลดหน่วยความจำเกินความจำได้อย่างไรและปลอดภัยหรือไม่?
ในบางครั้งเซิร์ฟเวอร์ "ของฉัน" จะหยุดทำงานเนื่องจากหน่วยความจำและพื้นที่สว็อปหมด (มันยังคงตอบสนองต่อ ping แต่ไม่มีอะไรมากไปกว่านั้นไม่ใช่แม้แต่ ssh) ฉันบอกว่า linux ทำ overcommitment หน่วยความจำซึ่งเท่าที่ฉันเข้าใจเหมือนกับธนาคารใช้เงิน: มันให้การประมวลผลหน่วยความจำมากกว่าที่มีจริงโดยสมมติว่ากระบวนการส่วนใหญ่จะไม่ใช้หน่วยความจำทั้งหมดที่พวกเขาถาม อย่างน้อยก็ไม่ได้ทั้งหมดในเวลาเดียวกัน โปรดสมมติว่านี่เป็นสาเหตุที่ทำให้ระบบของฉันหยุดทำงานเป็นบางครั้งเราจะไม่พูดถึงที่นี่ว่าเป็นกรณีนี้หรือไม่ (ดูสิ่งที่ทำให้บริการทั้งหมดบนเซิร์ฟเวอร์ล่ม แต่ยังตอบสนองต่อการปิง ) . ดังนั้น, ฉันจะปิดการใช้งานหรือลดหน่วยความจำ overcommitment อย่างมากใน CentOS ได้อย่างไร ฉันได้อ่านมีการตั้งค่าสองอย่างที่เรียกว่า vm.overcommit_memory (ค่า 0, 1, หรือ 2) และ vm.overcommit_ratiom แต่ฉันไม่มีความคิดว่าฉันต้องค้นหาและเปลี่ยน (ไฟล์การกำหนดค่าบางอย่างหวังว่า) และฉันต้องรีบูตเซิร์ฟเวอร์เพื่อให้การเปลี่ยนแปลงมีผล และปลอดภัยหรือไม่ ฉันคาดหวังผลข้างเคียงอะไรบ้าง เมื่อ googling สำหรับ overcommit_memory ฉันพบสิ่งที่น่ากลัวอย่างที่คนบอกว่าเซิร์ฟเวอร์ไม่สามารถบู๊ตได้อีกต่อไป .... เนื่องจากสิ่งที่ทำให้การใช้หน่วยความจำเพิ่มขึ้นอย่างฉับพลันคือ mysql เนื่องจากการสอบถามที่ทำโดย php ซึ่งจะถูกเรียกในขณะที่ให้บริการการร้องขอ …
20 linux  centos  memory  centos5 

4
การพึ่งพา Systemd และลำดับการบู๊ต
ฉันต้องระบุลำดับการบู๊ตเพื่อให้กระบวนการเริ่มต้น ฉันมี 389 Directory Server และ Samba ทำงานบน Fedora 18. ฉันจะให้บริการเครือข่ายได้อย่างไรจากนั้น 389 DS และ Samba แล้ว? มี GUI สำหรับจัดการสิ่งนี้ใน Fedora หรือไม่? systemctl enable smb.serviceผมได้เปิดใช้แซมบ้าจะเริ่มต้นด้วย ฉันยังได้เปิดใช้งาน 389 DS systemctl enable dirsrv.targetกับ
20 linux  fedora  systemd 

1
ความแตกต่างระหว่างตัวเลือก iptables -A และ -I
ฉันได้ลอง (หลายชั่วโมง) เพื่อกำหนดค่า iptables ให้อนุญาตการสืบค้น DNS ไปยังเซิร์ฟเวอร์ DNS ของฉันและเพิ่งพบว่า iptables ของฉันยังคงบล็อกการเข้าถึงเนื่องจากตัวเลือกเพิ่มกฎที่ฉันใช้อยู่ ฟอรัมส่วนใหญ่แนะนำกฎที่คล้ายกับต่อไปนี้: iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT อย่างไรก็ตามในกรณีของฉันฉันต้องเปลี่ยนกฎเป็นinsertประเภทเพื่อให้ทำงานได้: iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT ฉันรู้ว่ากฎหนึ่งสำหรับการต่อท้ายและกฎอื่น ๆ สำหรับการแทรกและสิ่งที่ทั้งสองคำหมายถึง แต่ใครบางคนได้โปรดอธิบายความแตกต่างระหว่างทั้งสองและเมื่อใช้ตัวเลือกที่? ฉันค้นหา iptables ของ Ubuntu แล้ว แต่ไม่เห็นข้อมูลมากนัก
20 linux  iptables 

4
tar สงวนสิทธิ์ไว้หรือไม่หาก ID ผู้ใช้เปลี่ยนไป
ฉันต้องการสำรองข้อมูลด้วยตัวเลือก "p" บนคำสั่ง tar ปัญหาคือสถานที่ที่ฉันจะกู้คืนข้อมูลนี้จะมีผู้ใช้เดียวกันทั้งหมด แต่ผู้ใช้เหล่านั้นอาจมี ID ที่แตกต่างกัน สิ่งนี้สร้างความแตกต่างให้กับ tar หรือจะเรียกคืนสิทธิ์อย่างถูกต้องด้วยชื่อผู้ใช้หรือไม่?
20 linux  tar 

2
ทำไม chroot_local_user ของ vsftpd ที่ไม่ปลอดภัย
ฉันตั้งค่า vsftpd ใน VPS ของฉันและฉันไม่ต้องการให้ผู้ใช้ได้รับอนุญาตให้ออกจากนั่นคือ ftp home directory ฉันใช้ local_user ftp ไม่ใช่แบบไม่ระบุชื่อดังนั้นฉันจึงเพิ่ม: chroot_local_user = ใช่ ฉันได้อ่านในโพสต์บนฟอรัมจำนวนมากว่านี่ไม่ปลอดภัย ทำไมสิ่งนี้ถึงไม่ปลอดภัย? หากสิ่งนี้ไม่ปลอดภัยเนื่องจากการใช้ ssh เพื่อเข้าร่วม VPS ของฉันเช่นกันฉันสามารถล็อคผู้ใช้เหล่านี้จาก sshd ได้ไหม? มีตัวเลือกอื่นสำหรับการบรรลุพฤติกรรมของ vsftpd นี้หรือไม่? (ฉันไม่ต้องการลบสิทธิ์การอ่านในทุกโฟลเดอร์ / ไฟล์สำหรับ "โลก" ในระบบของฉัน)
20 linux  centos  ftp  vps  vsftpd 

3
วิธีที่ดีที่สุดในการรับ MAC ของ eth0
มีวิธีที่มีประสิทธิภาพมากกว่าในการดึงที่อยู่ MAC ของ NIC ใน Linux หรือไม่ งานนี้: ip link show dev eth0 | awk ' /link\/ether/ { print $2 }' แต่สามารถพบได้ผ่านสิ่งที่ชอบ: cat /sys/net/something
20 linux  mac  ethernet  awk  net 

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