Syslogd Linux และ Unix Command

Sysklogd มีระบบสาธารณูปโภคสองระบบที่ให้การสนับสนุนการเข้าสู่ระบบและการดักข้อความเคอร์เนล การสนับสนุนซ็อกเก็ตโดเมนอินเทอร์เน็ตและซ็อกเก็ต Unix ช่วยให้แพ็กเกจยูทิลิตีนี้สามารถรองรับการบันทึกข้อมูลทั้งแบบโลคัลและระยะไกล

การเข้าสู่ระบบระบบมีให้โดย syslogd (8) ซึ่งมาจากแหล่ง BSD ของสต็อก การสนับสนุนการบันทึกเคอร์เนลมีให้โดยอรรถประโยชน์ klogd (8) ซึ่งอนุญาตให้มีการบันทึกเคอร์เนลในแบบสแตนด์อโลนหรือเป็นไคลเอ็นต์ของ syslogd

Syslogd ให้ชนิดของการเข้าสู่ระบบที่ใช้ในปัจจุบันหลายโปรแกรม ทุกข้อความที่เข้าสู่ระบบมีอย่างน้อยเวลาและเขตข้อมูลชื่อโฮสต์โดยปกติจะเป็นฟิลด์ชื่อของโปรแกรม แต่ก็ขึ้นอยู่กับว่าเชื่อถือโปรแกรมการบันทึกข้อมูลได้อย่างไร

ในขณะที่แหล่งที่มาของ syslogd ได้รับการแก้ไขอย่างมากในสองบันทึกย่ออยู่ในลำดับ ประการแรกมีการพยายามอย่างเป็นระบบเพื่อให้แน่ใจว่า syslogd ปฏิบัติตามค่าเริ่มต้นพฤติกรรม BSD มาตรฐาน แนวคิดที่สำคัญประการที่สองที่ควรทราบก็คือเวอร์ชัน syslogd นี้โต้ตอบกับเวอร์ชันของ syslog ที่พบในไลบรารีมาตรฐานอย่างโปร่งใส ถ้าไบนารีที่เชื่อมโยงกับไลบรารีที่ใช้ร่วมกันมาตรฐานไม่สามารถทำงานได้อย่างถูกต้องเราต้องการตัวอย่างของพฤติกรรมผิดปกติ

ไฟล์คอนฟิกูเรชันหลัก /etc/syslog.conf หรือไฟล์อื่นที่ระบุด้วยตัวเลือก -f จะถูกอ่านเมื่อเริ่มต้น บรรทัดใด ๆ ที่ขึ้นต้นด้วยเครื่องหมายแฮช (`` # '') และบรรทัดที่ว่างเปล่าจะถูกละเลย หากเกิดข้อผิดพลาดระหว่างการแยกวิเคราะห์บรรทัดทั้งหมดจะถูกละเว้น

สรุป

s- โพรเซสซิง ] [ -d ] [ -f config ] [ -d ] [ -f config file ] [ -h ] [ -l hostlist ] [ -m ช่วง ] [ -n ] v ] [ -x ]

ตัวเลือก

- ซ็อกเก็ต

ใช้อาร์กิวเมนต์นี้คุณสามารถระบุซ็อกเก็ตเพิ่มเติมจาก syslogd ที่ ต้องฟัง นี่เป็นสิ่งที่จำเป็นหากคุณต้องการให้ daemon ทำงานภายในสภาพแวดล้อม chroot () คุณสามารถใช้ซ็อกเก็ตเพิ่มเติมได้ถึง 19 ช่อง หากสภาพแวดล้อมของคุณต้องการมากยิ่งขึ้นคุณต้องเพิ่มสัญลักษณ์ MAXFUNIX ภายในไฟล์ต้นฉบับ syslogd.c ตัวอย่างสำหรับ chroot () daemon จะอธิบายโดยผู้คนจาก OpenBSD ที่ http://www.psionic.com/papers/dns.html

-d

เปิดโหมดแก้ปัญหา ใช้ daemon นี้จะไม่ดำเนินการ แยก (2) เพื่อตั้งตัวเองในพื้นหลัง แต่ตรงข้ามกับที่อยู่ในเบื้องหน้าและเขียนข้อมูลการแก้ปัญหามากใน tty ปัจจุบัน ดูส่วน DEBUGGING สำหรับข้อมูลเพิ่มเติม

ไฟล์ config- f

ระบุไฟล์การกำหนดค่าอื่นแทน /etc/syslog.conf ซึ่งเป็นค่าดีฟอลต์

-h

โดยค่าเริ่มต้น syslogd จะไม่ส่งต่อข้อความที่ได้รับจากโฮสต์ระยะไกล การระบุสวิตช์นี้บนบรรทัดคำสั่งจะทำให้ demon daemon ส่งต่อข้อความรีโมตที่ได้รับไปยังโฮสต์การส่งต่อที่กำหนดไว้

-l hostlist

ระบุชื่อโฮสต์ที่ควรจะเข้าสู่ระบบเฉพาะกับชื่อโฮสต์ที่เรียบง่ายและไม่ใช่ fqdn อาจมีการระบุโฮสต์หลายตัวโดยใช้เครื่องหมายทวิภาค (``: '')

-m ช่วง

syslogd บันทึกเวลาประทับเครื่องหมายไว้อย่างสม่ำเสมอ ระยะเวลา เริ่มต้นระหว่างสอง - MARK - เส้นคือ 20 นาที ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้ตัวเลือกนี้ การตั้งค่า ช่วง เป็นศูนย์จะปิดโดยสิ้นเชิง

-n

หลีกเลี่ยงการสร้างพื้นหลังอัตโนมัติ นี้เป็นสิ่งจำเป็นโดยเฉพาะอย่างยิ่งถ้า syslogd จะเริ่มต้นและควบคุมโดย init (8)

-p socket

คุณสามารถระบุซ็อกเก็ตโดเมน unix อื่นแทน / dev / log

-r

ตัวเลือกนี้จะช่วยให้สถานที่รับข้อความจากเครือข่ายโดยใช้ซ็อกเก็ตโดเมนอินเทอร์เน็ตที่มีบริการ syslog (ดู (5)) ค่าดีฟอลต์คือไม่ได้รับข้อความใด ๆ จากเครือข่าย

ตัวเลือกนี้ถูกนำมาใช้ในเวอร์ชัน 1.3 ของแพคเกจ sysklogd โปรดทราบว่าลักษณะการทำงานเริ่มต้นตรงกันข้ามกับวิธีที่รุ่นเก่าทำงานดังนั้นคุณอาจต้องเปิดใช้งาน

-s domainlist

ระบุชื่อโดเมนที่ควรจะถูกตัดออกก่อนที่จะเข้าสู่ระบบ โดเมนหลายโดเมนอาจถูกระบุโดยใช้ตัวคั่น ("::)" โปรดทราบว่าไม่สามารถระบุโดเมนย่อยได้ แต่ใช้เฉพาะโดเมนเท่านั้น ตัวอย่างเช่นถ้ามีการระบุถึง -s north.de และการบันทึกโฮสต์จะแก้ไขได้ที่ satu.infodrom.north.de ไม่มีโดเมนใดที่จะถูกตัดออกคุณจะต้องระบุโดเมนสองแห่งเช่น: -s north.de:infodrom.north.de

-v

พิมพ์เวอร์ชันแล้วออก

-x

ปิดใช้งานการค้นหาชื่อเมื่อรับข้อความจากระยะไกล นี้จะหลีกเลี่ยง deadlocks เมื่อ nameserver ทำงานอยู่ในเครื่องเดียวกันที่รันภูตระบบ syslog

สัญญาณ

Syslogd ทำปฏิกิริยากับชุดของสัญญาณ คุณสามารถส่งสัญญาณไปยัง syslogd โดยใช้ข้อมูลต่อไปนี้:

ฆ่า SYNAL` cat / var / run / syslogd.pid`

SIGHUP

ซึ่งจะทำให้ syslogd สามารถเริ่มต้นใหม่ได้ เปิดไฟล์ทั้งหมดที่เปิดอยู่ไฟล์การกำหนดค่า (ค่าดีฟอลต์คือ /etc/syslog.conf ) จะถูก reread และระบบ syslog (3) จะเริ่มทำงานอีกครั้ง

SIGTERM

syslogd จะตาย

SIGINT , SIGQUIT

ถ้าการดีบักถูกเปิดใช้งานเหล่านี้จะถูกละเว้นมิฉะนั้น syslogd จะตาย

SIGUSR1

เปิด / ปิดการแก้จุดบกพร่อง ตัวเลือกนี้สามารถใช้ได้เฉพาะเมื่อ syslogd เริ่มต้นด้วยตัวเลือกดีบัก -d

SIGCHLD

รอให้เด็กเกิดบางส่วนเนื่องจากมีข้อความติดผนัง

ความแตกต่างของไวยากรณ์ไฟล์การกำหนดค่า

Syslogd ใช้ไวยากรณ์ที่แตกต่างกันเล็กน้อยสำหรับไฟล์คอนฟิกูเรชันมากกว่าแหล่ง BSD ต้นฉบับ เดิมข้อความทั้งหมดที่มีลำดับความสำคัญเฉพาะเจาะจงขึ้นไปถูกส่งต่อไปยังไฟล์บันทึก

ตัวอย่างเช่นบรรทัดต่อไปนี้ทำให้เกิดผลลัพธ์ทั้งหมดจาก daemons โดยใช้สิ่งอำนวยความสะดวกของภูต (การแก้ปัญหาเป็นลำดับความสำคัญต่ำสุดดังนั้นทุกๆที่สูงกว่าก็จะตรงกับ) ไปที่ / usr / adm / daemons :

# ตัวอย่าง syslog.conf daemon.debug / usr / adm / daemons

ภายใต้โครงการใหม่พฤติกรรมนี้ยังคงเหมือนเดิม ความแตกต่างคือการเพิ่มสี่ specifiers ใหม่เครื่องหมายดอกจัน ( * ) เครื่องหมายสมการ ( = ), เครื่องหมายอัศเจรีย์ ( ! ) และเครื่องหมายลบ ( - )

* ระบุว่าข้อความทั้งหมดสำหรับสิ่งอำนวยความสะดวกที่ระบุจะถูกนำไปยังจุดหมายปลายทาง โปรดทราบว่าลักษณะการทำงานนี้เสื่อมลงโดยระบุระดับความสำคัญของการแก้ปัญหา ผู้ใช้ระบุว่าเครื่องหมายดอกจันเป็นแบบที่ใช้งานง่ายกว่า

สัญลักษณ์ตัวแทน = ใช้เพื่อ จำกัด การเข้าสู่ระบบไปยังระดับความสำคัญที่ระบุ ซึ่งจะช่วยให้ตัวอย่างเช่นการกำหนดเส้นทางข้อความการดีบักเท่านั้นไปยังแหล่งข้อมูลการเข้าสู่ระบบที่เฉพาะเจาะจง

ตัวอย่างเช่นบรรทัดต่อไปนี้ใน syslog.conf จะนำข้อความการแก้ปัญหาออกจากแหล่งข้อมูลทั้งหมดไปยังไฟล์ / usr / adm / debug

# ตัวอย่าง syslog.conf *. = แก้ปัญหา / usr / adm / debug

! ถูกใช้เพื่อยกเว้นการเข้าสู่ระบบตามลำดับความสำคัญที่ระบุ นี้มีผลต่อความเป็นไปได้ทั้งหมด (!) ในการกำหนดลำดับความสำคัญ

ตัวอย่างเช่นบรรทัดต่อไปนี้จะบันทึกข้อความทั้งหมดของจดหมายสิ่งอำนวยความสะดวกยกเว้นข้อมูลที่มีลำดับความสำคัญไปยังไฟล์ / usr / adm / mail และข้อความทั้งหมดจาก news.info (รวม) ถึง news.crit (ไม่รวม) จะถูกบันทึกลงในไฟล์ / usr / adm / news

# ตัวอย่างอีเมล syslog.conf *; mail! = info / usr / adm / news.info จดหมายข่าว! crit / usr / adm / news

คุณสามารถใช้มันอย่างสังหรณ์ใจเป็นตัวระบุข้อยกเว้น การตีความดังกล่าวข้างต้นเป็นเพียงฤinษี ทำในสิ่งที่คุณอาจใช้

mail.none

หรือ

อีเมล.! *

หรือ

อีเมล.! แก้ปัญหา

เพื่อข้ามข้อความที่มาพร้อมกับสิ่งอำนวยความสะดวกทางไปรษณีย์ทั้งหมด มีห้องพักมากมายในการเล่นด้วย :-)

- สามารถใช้ได้เฉพาะกับคำนำหน้าชื่อไฟล์หากคุณต้องการละเว้นการซิงค์ไฟล์หลังจากเขียนทุกครั้ง

ซึ่งอาจใช้การปรับตัวให้เข้ากับสภาพแวดล้อมใหม่ ๆ สำหรับบุคคลเหล่านั้นที่ใช้พฤติกรรม BSD บริสุทธิ์ แต่ผู้ทดสอบได้ระบุว่าไวยากรณ์นี้มีความยืดหยุ่นมากกว่าพฤติกรรม BSD โปรดทราบว่าการเปลี่ยนแปลงเหล่านี้ไม่ควรส่งผลต่อ ไฟล์ syslog.conf (5) มาตรฐาน คุณต้องแก้ไขแฟ้มการกำหนดค่าเฉพาะเพื่อรับลักษณะการทำงานที่ปรับปรุงแล้ว

การสนับสนุนสำหรับการบันทึกข้อมูลระยะไกล

การปรับเปลี่ยนเหล่านี้ให้การสนับสนุนเครือข่ายในสถานที่ syslogd การสนับสนุนเครือข่ายหมายความว่าสามารถส่งต่อข้อความจากโหนดหนึ่งที่เรียกใช้ syslogd ไปยังโหนดอื่นที่เรียกใช้ syslogd ซึ่งจะถูกบันทึกลงในแฟ้มดิสก์จริง

ในการเปิดใช้งานนี้คุณจะต้องระบุตัวเลือก -r ในบรรทัดคำสั่ง พฤติกรรมเริ่มต้นคือ syslogd จะไม่ฟังเครือข่าย

กลยุทธ์คือการมี syslogd ฟังบนซ็อกเก็ตโดเมนยูนิกซ์สำหรับสร้างข้อความที่สร้างขึ้นในท้องถิ่น ลักษณะการทำงานนี้จะอนุญาตให้ syslogd ทำงานร่วมกับ syslog ที่พบในไลบรารี C มาตรฐาน ในเวลาเดียวกัน syslogd จะฟังพอร์ต syslog มาตรฐานสำหรับข้อความที่ส่งต่อจากโฮสต์อื่น หากต้องการทำงานนี้อย่างถูกต้องไฟล์ บริการ (5) (โดยปกติจะพบใน / etc ) ต้องมีรายการต่อไปนี้:

syslog 514 / udp

ถ้ารายการนี้หายไป syslogd ไม่สามารถรับข้อความระยะไกลหรือส่งพวกเขาเนื่องจากพอร์ต UDP ไม่สามารถเปิดได้ แทน syslogd จะตายทันทีเป่าข้อความแสดงข้อผิดพลาด

เมื่อต้องการทำให้ข้อความถูกส่งต่อไปยังโฮสต์อื่นจะแทนที่บรรทัดไฟล์ปกติในไฟล์ syslog.conf โดยใช้ชื่อโฮสต์ที่ข้อความจะถูกส่งไปก่อนล่วงหน้าด้วยเครื่องหมาย @

ตัวอย่างเช่นเพื่อส่งต่อข้อความ ทั้งหมด ไปยังโฮสต์ระยะไกลโดยใช้รายการ syslog.conf ต่อไปนี้:

# ตัวอย่างไฟล์การกำหนดค่า syslogd ไปยัง # ข้อความไปยังโฮสต์จากระยะไกลไปข้างหน้าทั้งหมด *. * @hostname

เมื่อต้องการส่งต่อข้อความ เคอร์เนล ทั้งหมดไปยังโฮสต์ระยะไกลไฟล์คอนฟิกูเรชันจะเป็นดังนี้:

# ตัวอย่างไฟล์การกำหนดค่าเพื่อส่งต่อข้อความ kernel # ทั้งหมดไปยังโฮสต์ระยะไกล kern * ชื่อโฮสต์ @

ถ้าชื่อโฮสต์ระยะไกลไม่สามารถแก้ไขได้เมื่อเริ่มต้นเนื่องจากเซิร์ฟเวอร์ชื่ออาจไม่สามารถเข้าถึงได้ (อาจจะเริ่มต้นหลังจาก syslogd) คุณไม่ต้องกังวล Syslogd จะลองใหม่เพื่อแก้ไขชื่อสิบครั้งแล้วจึงบ่น ความเป็นไปได้ที่จะหลีกเลี่ยงปัญหานี้คือการวางชื่อโฮสต์ไว้ใน / etc / hosts

กับ syslogd ปกติคุณจะได้รับ syslog loops ถ้าคุณส่งข้อความที่ได้รับจากโฮสต์ระยะไกลไปยังโฮสต์เดียวกัน (หรือซับซ้อนมากขึ้นกับโฮสต์ที่สามที่ส่งกลับไปที่แรกและอื่น ๆ ) ในโดเมนของฉัน (Infodrom Oldenburg) เราบังเอิญได้แผ่นเดียวและดิสก์ของเราเต็มไปด้วยข้อความเดียว :-(

เพื่อหลีกเลี่ยงปัญหานี้ในครั้งต่อ ๆ ไปไม่มีข้อความที่ได้รับจากโฮสต์ระยะไกลจะถูกส่งออกไปยังโฮสต์ระยะไกลอื่น (หรือเหมือนกัน) อีกต่อไป หากมีสถานการณ์ที่ไม่เหมาะสมโปรดวางฉัน (โจอี้) เป็นเส้น

ถ้าโฮสต์ระยะไกลอยู่ในโดเมนเดียวกับโฮสต์ระบบ syslogd กำลังทำงานระบบจะบันทึกเฉพาะชื่อโฮสต์แบบธรรมดาแทน fqdn ทั้งหมด

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

ใช้ตัวเลือก -l นอกจากนี้ยังมีความเป็นไปได้ที่จะกำหนดโฮสต์เดี่ยวเป็นเครื่องท้องถิ่น นี้ก็ส่งผลให้เข้าสู่ระบบเพียงชื่อโฮสต์ที่เรียบง่ายของพวกเขาและไม่ fqdns

ซ็อกเก็ต UDP ที่ใช้เพื่อส่งต่อข้อความไปยังโฮสต์ระยะไกลหรือรับข้อความจากพวกเขาจะเปิดเฉพาะเมื่อจำเป็นเท่านั้น ในรุ่นก่อน 1.3-23 จะเปิดทุกครั้ง แต่ไม่เปิดอ่านหรือส่งต่อตามลำดับ

เอาท์พุทไปที่ท่อที่มีชื่อ (FIFO)

เวอร์ชัน syslogd นี้สนับสนุนการบันทึกเอาต์พุตไปยังท่อที่มีชื่อ (FIFOS) ท่อ FIFO หรือชื่อสามารถใช้เป็นปลายทางสำหรับข้อความเข้าสู่ระบบโดยใช้สัญลักษณ์ pipy (`` | ') กับชื่อของไฟล์ นี่เป็นประโยชน์สำหรับการดีบัก โปรดทราบว่า FIFO ต้องสร้างขึ้นโดยใช้คำสั่ง mkfifo ก่อนที่ syslogd จะเริ่มทำงาน

ไฟล์คอนฟิกูเรชันต่อไปนี้กำหนดเส้นทางการแก้ปัญหาข้อความจากเคอร์เนลไปยัง FIFO:

# การกำหนดค่าตัวอย่างเพื่อกำหนดเส้นทางการดีบักเคอร์เนลข้อความ # เฉพาะ / usr / adm / debug ซึ่งเป็นท่อชื่อ # kern = debug | / usr / adm / debug

ความกังวลในการติดตั้ง

อาจมีข้อพิจารณาสำคัญอย่างหนึ่งเมื่อติดตั้ง syslogd เวอร์ชันนี้ เวอร์ชัน syslogd นี้ขึ้นอยู่กับการจัดรูปแบบข้อความที่เหมาะสมโดยใช้ฟังก์ชัน syslog การทำงานของฟังก์ชัน syslog ในไลบรารีที่ใช้ร่วมกันเปลี่ยนไปที่ไหนสักแห่งในพื้นที่ของ libc.so.4 [2-4] .n การเปลี่ยนแปลงที่เฉพาะเจาะจงคือการยกเลิกข้อความก่อนที่จะส่งไปยัง / dev / log socket การทำงานที่เหมาะสมของเวอร์ชัน syslogd นี้ขึ้นอยู่กับการสิ้นสุดของข้อความ

ปัญหานี้มักจะปรากฏตัวเองถ้ามีการใช้ไบนารีที่เชื่อมโยงแบบคงที่แบบเก่าในระบบ ไบนารีที่ใช้ฟังก์ชัน syslog เวอร์ชันเก่าจะทำให้บรรทัดว่างถูกบันทึกไว้ตามด้วยข้อความที่มีอักขระตัวแรกในข้อความถูกเอาออก การเชื่อมโยงไบนารีเหล่านี้กับไลบรารีที่แบ่งใช้เวอร์ชันใหม่จะแก้ไขปัญหานี้ได้

ทั้ง syslogd (8) และ klogd (8) สามารถรันได้จาก init (8) หรือเริ่มต้นเป็นส่วนหนึ่งของ rc * ลำดับ ถ้าเริ่มต้นจาก init ตัวเลือก -n จะต้องตั้งค่ามิฉะนั้นคุณจะได้รับตัน syslog daemon เริ่มต้น เนื่องจาก init (8) ขึ้นอยู่กับรหัสกระบวนการ

ภัยคุกคามด้านความปลอดภัย

มีศักยภาพในการใช้ syslogd daemon เพื่อใช้เป็นช่องทางในการปฏิเสธการโจมตีบริการ ขอขอบคุณ John Morrison (jmorriso@rflab.ee.ubc.ca) เพื่อแจ้งเตือนฉันถึงศักยภาพนี้ โปรแกรมโกง (mer) อาจทำให้ภูต syslogd ล่มได้ง่ายด้วยข้อความ syslog ส่งผลให้ไฟล์บันทึกใช้พื้นที่ทั้งหมดที่เหลืออยู่ใน ระบบไฟล์ การเปิดใช้งานการเข้าสู่ระบบผ่านซ็อกเก็ตโดเมนแบบ Inet จะทำให้ระบบมีความเสี่ยงที่อยู่นอกโปรแกรมหรือบุคคลในเครื่องท้องถิ่น

มีหลายวิธีในการปกป้องเครื่อง:

  1. ใช้ firewall ของเคอร์เนลเพื่อ จำกัด โฮสต์หรือเครือข่ายที่สามารถเข้าถึงซ็อกเก็ต 514 / UDP
  2. การบันทึกสามารถถูกนำไปยังระบบแฟ้มที่แยกหรือไม่ใช่รากซึ่งถ้าเต็มจะไม่ทำให้เครื่องเสีย
  3. ระบบไฟล์ ext2 สามารถใช้งานได้ซึ่งสามารถกำหนดค่าเพื่อ จำกัด เปอร์เซ็นต์ของระบบแฟ้มให้ใช้ได้เฉพาะ root เท่านั้น โปรดทราบ ว่าการดำเนินการนี้จะต้องมีการเรียกใช้ syslogd โดยใช้กระบวนการที่ไม่ใช่ root นอกจากนี้โปรดทราบ ว่าจะเป็นการป้องกันการใช้งานการบันทึกข้อมูลระยะไกลเนื่องจาก syslogd จะไม่สามารถผูกกับซ็อกเก็ต 514 / UDP ได้
  4. การปิดใช้งานโดเมนโดเมนแบบฝังจะจำกัดความเสี่ยงต่อเครื่องท้องถิ่น
  5. ใช้ขั้นตอนที่ 4 และหากปัญหายังคงมีอยู่และไม่ได้เป็นรองของโปรแกรมโกง / daemon จะได้รับแถบดูดยาว 3.5 ฟุต (ประมาณ 1 เมตร) * และคุยกับผู้ใช้ที่ต้องการ Sucker rod def --- 3/4, 7/8 หรือ 1in เหล็กชุบแข็ง, ชายเกลียวที่ปลายแต่ละด้าน ใช้หลักในอุตสาหกรรมน้ำมันใน Western North Dakota และที่อื่น ๆ เพื่อปั๊ม 'ดูด' น้ำมันจากหลุมน้ำมัน การใช้ครั้งทุติยภูมิสำหรับการสร้างอาหารสัตว์และเพื่อจัดการกับบุคคลที่ดื้อรั้นหรือทำสงครามเป็นครั้งคราว

แก้จุดบกพร่อง

เมื่อดีบักเปิดใช้ตัวเลือก -d syslogd จะ verbose มากโดยการเขียนมากสิ่งที่ไม่เกี่ยวกับ stdout เมื่อใดก็ตามที่ไฟล์การกำหนดค่าถูกอ่านซ้ำและได้รับการแยกวิเคราะห์อีกครั้งคุณจะเห็นตารางที่สอดคล้องกับโครงสร้างข้อมูลภายใน ตารางนี้ประกอบไปด้วยสี่ช่อง:

จำนวน

ฟิลด์นี้มีหมายเลขซีเรียลเริ่มต้นด้วยศูนย์ หมายเลขนี้แสดงถึงตำแหน่งในโครงสร้างข้อมูลภายใน (เช่นอาร์เรย์) หากตัวเลขหนึ่งถูกปล่อยออกจากนั้นอาจมีข้อผิดพลาดในบรรทัดที่สอดคล้องกันใน /etc/syslog.conf

แบบแผน

ฟิลด์นี้เป็นเรื่องยุ่งยากและแสดงถึงโครงสร้างภายในว่า คอลัมน์ทุกย่อมาจากสิ่งอำนวยความสะดวก (อ้างถึง syslog (3)) คุณสามารถดูได้ยังคงมีสิ่งอำนวยความสะดวกบางอย่างที่เหลือฟรีสำหรับการใช้งานในอดีตเพียงด้านซ้ายส่วนใหญ่จะใช้ ทุกฟิลด์ในคอลัมน์แสดงลำดับความสำคัญ (ดูที่ syslog (3))

การกระทำ

ฟิลด์นี้อธิบายการทำงานเฉพาะที่เกิดขึ้นเมื่อได้รับข้อความที่ตรงกับรูปแบบ ดู manpage ของ syslog.conf (5) สำหรับการดำเนินการที่เป็นไปได้ทั้งหมด

ข้อโต้แย้ง

ฟิลด์นี้แสดงอาร์กิวเมนต์เพิ่มเติมสำหรับการทำงานในฟิลด์สุดท้าย สำหรับแฟ้มบันทึกนี้เป็นชื่อไฟล์สำหรับ logfile; สำหรับผู้ใช้ล็อกอินนี่คือรายชื่อผู้ใช้ สำหรับการบันทึกข้อมูลระยะไกลนี้เป็นชื่อโฮสต์ของเครื่องเพื่อเข้าสู่ระบบ; สำหรับ console-logging นี่คือคอนโซลที่ใช้ สำหรับ tty- เข้าสู่ระบบนี้เป็น tty ระบุ; ผนังไม่มีข้อโต้แย้งเพิ่มเติม

ดูสิ่งนี้ด้วย

คนตัดไม้ (1), syslog (2), (5)

ผู้ร่วมมือ

Syslogd ถูกนำมาจากแหล่ง BSD Greg Wettstein (greg@wind.enjellic.com) ดำเนินการพอร์ตนี้ไปยัง Linux Martin Schulze (joey@linux.de) ได้แก้ไขข้อบกพร่องบางอย่างและเพิ่มคุณสมบัติใหม่ ๆ Klogd เขียนโดย Steve Lord (lord@cray.com), Greg Wettstein ได้ทำการปรับปรุงที่สำคัญ

ดร. เกร็ก Wettstein
การพัฒนาระบบ Enjellic

แผนกวิจัยด้านมะเร็งวิทยา
ศูนย์มะเร็งโรเจอร์มาริส
Fargo, ND
greg@wind.enjellic.com

Stephen Tweedie
ภาควิชาวิทยาการคอมพิวเตอร์
มหาวิทยาลัยเอดินบะระสกอตแลนด์
sct@dcs.ed.ac.uk

Juha Virtanen
jiivee@hut.fi

Shane Alderton
shane@ion.apana.org.au

Martin Schulze
Infodrom Oldenburg
joey@linux.de

สำคัญ: ใช้คำสั่ง man ( % man ) เพื่อดูว่าคำสั่งถูกใช้อย่างไรในคอมพิวเตอร์เครื่องใดเครื่องหนึ่งของคุณ

บทความที่เกี่ยวข้อง