Skip to main content

Syslogd Linux و Unix Command

Testing port connectivity with Telnet (قد 2024)

Testing port connectivity with Telnet (قد 2024)
Anonim

يوفر Sysklogd اثنين من أدوات النظام التي توفر الدعم لتسجيل النظام وتعقب رسالة kernel. يتيح دعم كل من مآخذ نطاق الإنترنت و unix نطاق هذه الحزمة المساعدة لدعم تسجيل الدخول المحلي والبعيد.

يتم توفير تسجيل النظام بواسطة إصدار منأن syslogd(8) مشتقة من مصادر BSD الأسهم. يتم توفير دعم تسجيلات kernel بواسطةklogd(8) الأداة المساعدة التي تسمح بأن يتم إجراء تسجيل النواة إما بطريقة مستقلة أو كعميل لـ syslogd.

يوفر Syslogd نوعًا من عمليات التسجيل التي يستخدمها العديد من البرامج الحديثة. تحتوي كل رسالة مسجلة على الأقل على وقت وحقل اسم مضيف ، وهو عادة حقل اسم برنامج ، ولكن ذلك يعتمد على مدى الثقة في برنامج التسجيل.

بينما الأن syslogd تم تعديلها بشكل كبير اثنين من الملاحظات في النظام. بادئ ذي بدء ، كانت هناك محاولة منهجية للتأكد من أن syslogd يتبع سلوك BSD الافتراضي الخاص به. المفهوم الثاني المهم هو أن يتفاعل هذا الإصدار من syslogd بشفافية مع إصدار syslog الموجود في المكتبات القياسية. إذا فشل ثنائي مرتبط بالمكتبات المشتركة القياسية في العمل بشكل صحيح ، فنحن نرغب في الحصول على مثال عن السلوك الشاذ.

ملف التكوين الرئيسي /etc/syslog.conf أو ملف بديل معطى-F الخيار ، يتم قراءة عند بدء التشغيل. يتم تجاهل أي سطور تبدأ بعلامة التجزئة ('' # '') والخطوط الفارغة. إذا حدث خطأ أثناء التحليل فسيتم تجاهل السطر بأكمله.

ملخص

أن syslogd قابس كهرباء -F ملف التكوين -h -l hostlist -m فترة -n -p قابس كهرباء -r -s domainlist -الخامس -x

خيارات

قابس كهرباء

باستخدام هذه الوسيطة يمكنك تحديد مآخذ إضافية من ذلكأن syslogd لديه للاستماع إلى. هذا مطلوب إذا كنت ستسمح بتشغيل بعض الخفي داخل بيئة chroot (). يمكنك استخدام ما يصل إلى 19 مآخذ إضافية. إذا كانت بيئتك بحاجة إلى المزيد ، فيجب عليك زيادة الرمزMAXFUNIX داخل ملف مصدر syslogd.c. يصف الأشخاص من OpenBSD مثالًا على البرنامج الخادع chroot () على http://www.psionic.com/papers/dns.html.

يدير وضع التصحيح. باستخدام هذا البرنامج لن يستمرشوكة(2) لتعيين نفسها في الخلفية ، ولكن عكس ذلك البقاء في المقدمة وكتابة الكثير من معلومات التصحيح على tty الحالي. راجع قسم DEBUGGING لمزيد من المعلومات.

-F ملف التكوين

حدد ملف تكوين بديل بدلاً من /etc/syslog.conf ، وهو الافتراضي.

-h

افتراضيًا ، لن يقوم syslogd بإعادة توجيه الرسائل التي يتلقاها من الأجهزة المضيفة البعيدة. سيؤدي تعيين رمز التبديل هذا على سطر الأوامر إلى إعادة توجيه السجل إلى أي رسائل بعيدة يتلقاها لإعادة توجيه المضيفات التي تم تعريفها.

-l hostlist

حدد اسم مضيف يجب تسجيله فقط باسم مضيفه البسيط وليس fqdn. يمكن تحديد عدة مضيفين باستخدام فاصل النقطتين (`:: '').

-m فترة

الأن syslogd يسجل الطابع الزمني للعلامة بشكل منتظم. الافتراضي فترة بين اثنين -- علامة -- الخطوط هي 20 دقيقة. هذا يمكن تغييره مع هذا الخيار. وضع فترة إلى الصفر يطفئه تماما.

-n

تجنب الخلفيات التلقائية. هذا مطلوب خصوصا إذا كانأن syslogd بدأ ويسيطر عليهافيه(8).

-p قابس كهرباء

يمكنك تحديد مقبس مجال يونكس بديل بدلاً من / ديف / تسجيل .

-r

سيمكن هذا الخيار المرفق من تلقي رسالة من الشبكة باستخدام مقبس مجال الإنترنت مع خدمة سجل النظام (انظر (5)). الافتراضي هو عدم تلقي أي رسائل من الشبكة.

يتم تقديم هذا الخيار في الإصدار 1.3 من حزمة sysklogd. يرجى ملاحظة أن السلوك الافتراضي هو عكس الطريقة التي تتصرف بها الإصدارات القديمة ، لذلك قد تضطر إلى تشغيل هذا.

-s domainlist

حدد اسم المجال الذي يجب تجريده قبل التسجيل. قد يتم تحديد نطاقات متعددة باستخدام النقطتين (`:: ''). يرجى العلم بأنه لا يمكن تحديد نطاقات فرعية ولكن فقط نطاقات كاملة. على سبيل المثال إذا-s north.de تم تحديد وتعيين تسجيل المضيف إلى satu.infodrom.north.de لن يتم قطع أي نطاق ، سيكون لديك لتحديد اثنين من المجالات مثل:-s north.de:infodrom.north.de.

-الخامس

نسخة الطباعة والخروج.

-x

تعطيل عمليات البحث عن الأسماء عند تلقي رسائل بعيدة. يتجنب هذا deadlocks عند تشغيل ملقم الأسماء على نفس الجهاز الذي يقوم بتشغيل البرنامج الخفي syslog.

إشارات

أن syslogd يتفاعل مع مجموعة من الإشارات. يمكنك بسهولة إرسال إشارة إلىأن syslogd باستخدام ما يلي:

قتل -SIGNAL `القط / فار / تشغيل / syslogd.pid`

تنفس الصعداء حتى

هذا يتيحأن syslogd إجراء إعادة تهيئة. يتم إغلاق جميع الملفات المفتوحة ، ملف التكوين (الافتراضي هو /etc/syslog.conf ) سوف يعاد قراءة وسيسلوغ(3) بدأ المرفق مرة أخرى.

SIGTERM

الأن syslogd سيموت.

SIGINT, SIGQUIT

إذا تم تمكين التصحيح يتم تجاهل هذه ، وإلاأن syslogd سيموت.

SIGUSR1

تبديل التصحيح على / قبالة. لا يمكن استخدام هذا الخيار إلا في حالةأن syslogd بدأ مع خيار التصحيح.

SIGCHLD

انتظر الطفولة إذا كان بعضها قد ولد ، بسبب رسائل الجدران.

تكوين ملف الاختلافات بناء الجملة

أن syslogd يستخدم بناء جملة مختلف قليلاً لملف التكوين الخاص به من مصادر BSD الأصلية. في الأصل تم إرسال جميع الرسائل ذات الأولوية المحددة أعلاه إلى ملف السجل.

على سبيل المثال ، تسبب السطر التالي في إخراج كافة من daemons باستخدام تسهيلات daemon (تصحيح الأخطاء هو أقل أولوية ، لذا فإن كل مستوى أعلى سيطابق أيضًا) للانتقال إلى / البيرة / ADM / الشياطين :

# Sample syslog.conf daemon.debug / usr / adm / daemons

تحت النظام الجديد ، يظل هذا السلوك هو نفسه. والفرق هو إضافة أربعة محددات جديدة ، النجمة (*) حرف البدل ، علامة المعادلة (=) ، علامة التعجب (!) ، وعلامة الطرح (-).

ال* يحدد أن جميع الرسائل الخاصة بالمنشأة المحددة سيتم توجيهها إلى الوجهة. لاحظ أن هذا السلوك يتم degenerate مع تحديد مستوى أولوية التصحيح. أشار المستخدمون إلى أن علامة النجمة أكثر سهولة.

ال= يتم استخدام حرف البدل لتقييد التسجيل لفئة الأولوية المحددة. يسمح هذا ، على سبيل المثال ، بتوجيه رسائل التصحيح فقط إلى مصدر تسجيل معين.

على سبيل المثال ، السطر التالي في syslog.conf سيوجه رسائل التصحيح من جميع المصادر إلى / البيرة / ADM / التصحيح ملف.

# Sample syslog.conf *. = debug / usr / adm / debug

ال! يستخدم لاستبعاد تسجيل الأولويات المحددة. هذا يؤثر على كل الاحتمالات (!) لتحديد الأولويات.

على سبيل المثال ، ستسجل السطور التالية جميع رسائل بريد المرفق باستثناء تلك التي تحتوي على معلومات الأولوية إلى / البيرة / ADM / البريد ملف. وسيتم تسجيل جميع الرسائل من news.info (بما في ذلك) إلى news.crit (باستثناء) إلى / البيرة / ADM / الأخبار ملف.

# Sample syslog.conf mail. *؛ mail.! = info / usr / adm / mail news.info؛ news.! crit / usr / adm / news

يمكنك استخدامه بشكل حدسي كمعدّل استثناء. التفسير المذكور أعلاه هو ببساطة مقلوب. القيام بذلك قد تستخدمه

mail.none

أو

بريد.!*

أو

البريد.! التصحيح

لتخطي كل رسالة تأتي مع مرفق البريد. هناك مجال كبير للعب معها. :-)

ال- يمكن استخدامها لبادئة اسم ملف فقط إذا كنت تريد حذف مزامنة الملف بعد كل الكتابة إليه.

قد يستغرق هذا بعض التأقلم بالنسبة لأولئك الأفراد الذين يستخدمون سلوك بي إس دي النقي ، لكن المختبرين أشاروا إلى أن هذا التركيب أكثر مرونة من سلوك بي إس دي. لاحظ أن هذه التغييرات لا ينبغي أن تؤثر على المعاييرsyslog.conf(5) ملفات. يجب عليك بشكل خاص تعديل ملفات التكوين للحصول على السلوك المحسّن.

دعم عن بعد تسجيل

توفر هذه التعديلات دعم الشبكة لمرفق syslogd. دعم الشبكة يعني أنه يمكن إعادة توجيه الرسائل من عقدة واحدة تقوم بتشغيل syslogd إلى عقدة أخرى تقوم بتشغيل syslogd حيث سيتم تسجيلها فعليًا في ملف قرص.

لتمكين هذا عليك تحديد-r الخيار على سطر الأوامر. السلوك الافتراضي هو ذلكأن syslogd لن يستمع إلى الشبكة.

تتمثل الاستراتيجية في جعل syslogd يستمع إلى مأخذ توصيل unix domain لرسائل السجل المنشأة محليًا. سيسمح هذا السلوك syslogd للتشغيل مع syslog الموجود في مكتبة C القياسية. في نفس الوقت يستمع syslogd على منفذ سجل النظام القياسي للرسائل الموجهة من المضيفين الآخرين. لجعل هذا العمل بشكل صحيحخدمات(5) ملفات (عادة ما توجد في /إلخ ) يجب أن يكون الإدخال التالي:

syslog 514 / udp

إذا كان هذا الإدخال مفقودًاأن syslogd لا يمكن تلقي الرسائل البعيدة أو إرسالها ، لأنه لا يمكن فتح منفذ UDP. في حين أن، أن syslogd سوف يموت على الفور ، تهب رسالة خطأ.

لتحويل الرسائل إلى مضيف آخر ، استبدل سطر الملف العادي في syslog.conf ملف مع اسم المضيف الذي يتم إرسال الرسائل مقدما مع @.

على سبيل المثال ، لإعادة توجيهالكل الرسائل إلى مضيف بعيد باستخدام ما يلي syslog.conf دخول:

# نموذج ملف التكوين syslogd إلى # رسائل إلى مضيف بعيد إلى الأمام جميع. *. *hostname

لإعادة توجيه كل شيءنواة الرسائل إلى مضيف بعيد سيكون ملف التكوين كما يلي:

# ملف تكوين نموذج لإعادة توجيه كافة رسائل # kernel إلى مضيف بعيد. kern. *hostname

إذا كان لا يمكن حل اسم المضيف البعيد عند بدء التشغيل ، لأنه قد لا يمكن الوصول إلى اسم الخادم (قد يتم تشغيله بعد syslogd) ، فلا داعي للقلق.أن syslogd سيحاول أن يحل الاسم عشر مرات ثم يشتكي. هناك احتمال آخر لتجنب هذا هو وضع اسم المضيف في / الخ / تستضيف .

مع الطبيعيأن syslogds ستحصل على syslog-loops إذا قمت بإرسال الرسائل التي تم استلامها من مضيف بعيد إلى نفس المضيف (أو أكثر تعقيدًا إلى مضيف ثالث يرسلها مرة أخرى إلى المضيف الأول ، وهكذا). في نطاقي (Infodrom Oldenburg) حصلنا بطريق الخطأ على قرص مضغوط وتم ملء أقراصنا بنفس الرسالة المفردة. :-(

لتجنب ذلك في أوقات أخرى يتم إرسال أية رسائل تم تلقيها من مضيف بعيد إلى مضيف بعيد آخر (أو هو نفسه) بعد الآن. إذا كانت هناك سيناريوهات لا يكون فيها ذلك منطقيًا ، فيرجى ترك خط جوي (جوي).

إذا كان المضيف البعيد موجودًا في نفس النطاق مثل المضيف ،أن syslogd قيد التشغيل ، سيتم تسجيل اسم المضيف البسيط فقط بدلاً من fqdn بالكامل.

في الشبكة المحلية ، يمكنك توفير خادم سجل مركزي للحصول على جميع المعلومات الهامة التي يتم الاحتفاظ بها على جهاز واحد. إذا كانت الشبكة تتكون من نطاقات مختلفة ، فلا يلزمك تقديم شكوى حول تسجيل أسماء مؤهلة بالكامل بدلاً من أسماء مضيفات بسيطة. قد ترغب في استخدام ميزة شريط المجال-s من هذا الخادم. يمكنك ان تقولأن syslogd لخلع عدة نطاقات غير تلك التي يقع عليها الخادم وتسجيل أسماء المضيفات البسيطة فقط.

باستخدام-l الخيار هناك أيضا إمكانية لتحديد مضيف واحد مثل الآلات المحلية. هذا أيضاً ينتج عن تسجيل أسماء المضيف الخاصة بهم فقط وليس fqdns.

يتم فتح مقبس UDP المستخدم لإعادة توجيه الرسائل إلى الأجهزة المضيفة البعيدة أو لتلقي الرسائل منها فقط عند الحاجة إليها. في الإصدارات السابقة لـ 1.3-23 ، تم فتحه في كل مرة ولكن لم يتم فتحه للقراءة أو إعادة التوجيه على التوالي.

الإخراج إلى توجيهات الإخراج المسماة (FIFOs)

هذا الإصدار من syslogd لديه دعم لتسجيل الإخراج إلى أنابيب الاتصال المسماة (fifos). يمكن استخدام ماسورة fifo أو مسمى كوجهة لرسائل السجل عن طريق إضافة رمز pipy (`| '') إلى اسم الملف. هذا هو مفيد لتصحيح الأخطاء. لاحظ أنه يجب إنشاء fifo باستخدام الأمر mkfifo قبل بدء تشغيل syslogd.

توجيهات ملف التهيئة التالي تصحيح رسائل من kernel إلى fifo:

# تكوين عينة لتوجيه kernel debugging # messages فقط إلى / usr / adm / debug وهو # pipe مسمى. kern. = debug | / usr / adm / debug

مخاوف التثبيت

ربما يكون هناك اعتبار مهم واحد عند تثبيت هذا الإصدار من syslogd. يعتمد هذا الإصدار من syslogd على التنسيق الصحيح للرسائل بواسطة وظيفة syslog. تغير عمل وظيفة سجل النظام في المكتبات المشتركة في مكان ما في منطقة libc.so.4. 2-4. كان التغيير المحدد هو إنهاء الرسالة قبل إرسالها إلى / ديف / تسجيل قابس كهرباء. يعتمد الأداء الصحيح لهذا الإصدار من syslogd على إنهاء الرسالة.

عادةً ما تظهر هذه المشكلة بنفسها إذا تم استخدام الثنائيات القديمة المرتبطة بشكل ثابت على النظام. ستؤدي الثنائيات التي تستخدم الإصدارات القديمة من وظيفة سجل النظام إلى تسجيل سطور فارغة متبوعة بالرسالة مع إزالة أول حرف في الرسالة. إعادة ربط هذه الثنائيات إلى إصدارات أحدث من المكتبات المشتركة سوف تصحيح هذه المشكلة.

كلا الأن syslogd(8) وklogdيمكن (8) إما أن يتم تشغيلها من init (8) أو تبدأ كجزء من rc. * sequence. إذا تم البدء من بدء الخيار -n يجب تعيين ، وإلا ، سوف تحصل على طن من daemons syslog بدأت. هذا بسببفيه(8) يعتمد على معرف العملية.

التهديدات الأمنية

هناك إمكانية لاستخدام برنامج syslogd daemon كقناة لردع رفض الخدمة. شكرًا جزيلاً على John Morrison ([email protected]) لتنبيهي إلى هذه الإمكانية. يمكن للبرنامج الخادع (mer) أن يغمر بسهولة خادوم syslogd مع رسائل syslog الناتجة في ملفات السجل التي تستهلك كل المساحة المتبقية في نظام الملفات. بالطبع سيؤدي تنشيط التسجيل عبر مآخذ نطاق inet إلى كشف نظام للمخاطر خارج البرامج أو الأفراد على الجهاز المحلي.

هناك عدد من الطرق لحماية جهاز:

  1. تنفيذ نواة جدار النواة للحد من الأجهزة المضيفة أو الشبكات التي يمكنها الوصول إلى مقبس 514 / UDP.
  2. يمكن توجيه التسجيل إلى نظام ملفات معزول أو غير جذر ، والذي في حالة ملئه ، لن يؤثر على الجهاز.
  3. يمكن استخدام نظام الملفات ext2 الذي يمكن تهيئته للحد من نسبة معينة من نظام الملفات إلى الاستخدام من الجذر فقط.ملحوظة أن هذا سوف يتطلب تشغيل syslogd كعملية غير جذرية. لاحظ أيضا أن هذا سوف يمنع استخدام تسجيل الدخول عن بعد لأن syslogd لن يكون قادراً على الربط بمقبس 514 / UDP.
  4. سيؤدي تعطيل مآخذ نطاق inet إلى الحد من المخاطرة على الجهاز المحلي.
  5. استخدم الخطوة رقم 4 ، وإذا استمرت المشكلة ولم تكن ثانوية لبرنامج / خدعة مارقة ، يمكنك الحصول على طول قصاصة مصاصة بقياس يصل إلى 3.5 قدم (* متر) * ولديك محادثة مع المستخدم المعني. قضيب مصاصة def. --- 3/4 أو 7/8 أو 1 في. قضبان الصلب تصلب ، والخيوط الذكور على كل نهاية. الاستخدام الأولي في صناعة النفط في غرب داكوتا الشمالية وغيرها من المواقع لضخ النفط "تمتص" من آبار النفط. الاستخدامات الثانوية هي لبناء كميات كبيرة من الأعلاف والتعامل مع الأفراد المتعصبين أو المتحاربين في بعض الأحيان.

التصحيح

عند تشغيل التصحيح الخيار بعد ذلكأن syslogd سيكون مطولاً للغاية بكتابة الكثير من ما يفعله على stdout. عند إعادة قراءة ملف التهيئة وإعادة تحليله ، سترى جدولًا ، يتوافق مع بنية البيانات الداخلية. تتكون هذه الجدولة من أربعة حقول:

رقم

يحتوي هذا الحقل على رقم تسلسلي يبدأ من الصفر. يمثل هذا الرقم الموضع في بنية البيانات الداخلية (أي المصفوفة). إذا تم ترك رقم واحد ، فقد يكون هناك خطأ في السطر المقابل في /etc/syslog.conf .

نمط

هذا الحقل صعب ويمثل البنية الداخلية بالضبط. كل عمود يشير إلى منشأة (راجعسيسلوغ(3)). كما ترون ، لا تزال هناك بعض المرافق المجانية للاستخدام السابق ، يتم استخدام معظم اليسار فقط. يمثل كل حقل في عمود الأولويات (راجعسيسلوغ(3)).

عمل

يصف هذا الحقل الإجراء المعين الذي يتم إجراؤه عند تلقي رسالة تتطابق مع النمط. الرجوع إلىsyslog.conf(5) manpage لجميع الإجراءات الممكنة.

الحجج

يعرض هذا الحقل وسائط إضافية إلى الإجراءات في الحقل الأخير. للحصول على تسجيل الملفات هذا هو اسم الملف من أجل ملف السجل؛ لتسجيل الدخول هذا هو قائمة المستخدمين ؛ لتسجيل الدخول عن بعد هذا هو اسم المضيف للجهاز لتسجيل الدخول إليه ؛ لتسجيل وحدة التحكم هذا هو وحدة التحكم المستخدمة؛ لتسجيل tty هذا هو tty المحدد؛ الجدار ليس له حجج إضافية.

أنظر أيضا

مسجل(1), سيسلوغ(2), (5)

المتعاونين

أن syslogd مأخوذ من مصادر BSD ، قام Greg Wettstein ([email protected]) بتنفيذ المنفذ إلى Linux ، قام Martin Schulze ([email protected]) بإصلاح بعض الخلل وإضافة العديد من الميزات الجديدة.Klogdكتبه في الأصل ستيف لورد ([email protected]) ، قام جريج فيتشتين بتحسينات كبيرة.

الدكتور جريج فيتشتاينتطوير نظم Enjellic

قسم علم حوسبة بحوث الأوراممركز روجر ماريس للسرطانفارغو ، إن دي[email protected]

ستيفن تويديقسم علوم الحاسبجامعة ادنبره ، اسكتلندا[email protected]

جحا فيرتانن[email protected]

شين الدرتون[email protected]

مارتن شولزInfodrom أولدنبورغ[email protected]

مهم: استخدم ال رجل أمر ( رجل٪ ) لمعرفة كيفية استخدام الأمر على جهاز الكمبيوتر الخاص بك.

مقالات ذات صلة

  • sysklogd - قيادة لينكس - قيادة يونيكس
  • rwall - ما هو روا