Syslog - ქსელის სისტემის ჟურნალი. Linux-ის ჟურნალის ფაილები თანმიმდევრობით რომელ syslog ID-ს აქვს უმაღლესი პრიორიტეტი

დემონი შევიდა Unixდარეკეთ პროგრამას, რომელიც მუშაობს "ზე ფონი" ტერმინალის კონტროლის საჭიროების გარეშე და გაძლევთ შესაძლებლობას გააკეთოთ თქვენი სხვა სამუშაო "წინა პლანზე". დემონი შეიძლება დაიწყოს ან სხვა პროცესით, მაგალითად, სისტემის გაშვების ერთ-ერთი სკრიპტით, საკონტროლო ტერმინალზე წვდომის გარეშე, ან მომხმარებლის მიერ რომელიმე ტერმინალიდან, მაგრამ ამ შემთხვევაში დემონი "არ იპყრობს"ტერმინალი მისი მუშაობის ხანგრძლივობისთვის. ბუნებრივია, ჩნდება კითხვა, რომელი დემონებია საჭირო თქვენს სისტემაში და რომელი შეიძლება გამორთოთ.

ტერმინის წარმოშობა
რეალურ (ანუ არაკომპიუტერულ) სამყაროში ტერმინი (ან სიტყვა) "დემონი" აღნიშნავს სულს (ყველაზე ხშირად - ბოროტს) ან "შინაგან ხმას". აღსანიშნავია, რომ ორივე ეს მნიშვნელობა ეხება Unix დემონ პროგრამებსაც. მითოლოგიური დემონების მსგავსად, Unix დემონები იმალებიან კულისებში და ცდილობენ დარჩეს უხილავი. და, როგორც შინაგანი ხმა ან ჩვენი ქვეცნობიერი, ისინი ყოველთვის არიან "ფხიზლად", ყოველთვის ხელმისაწვდომი, ყოველთვის შეუძლიათ "გამოიჩინონ". სიტყვა "დემონი" თავისთავად წარმოადგენს ერთ-ერთ იმ კომპიუტერული აკრონიმს, რომლის წარმომავლობის გარკვევაც ისეთივე რთულია, როგორც ძნელია გადაწყვიტო თავიდან ქათამი იყო თუ კვერცხი. სავარაუდოდეს ტერმინი ("DAEMON") მოდის სიტყვებიდან "დისკის და შესრულების მონიტორი"პროგრამა.

საკითხის შესწავლის შემდეგ მივედი მღვდელთან, რომელიც იყენებს კომპიუტერს Ubuntu ოპერაციული სისტემით. ყოველი შემთხვევისთვის ავიღე დისკი ვინდოუსით. არასოდეს იცი... მე პირდაპირი ადამიანი ვარ, ბუჩქზე არ დამიძვრია, მაშინვე გავეცი ყველა ინფორმაცია. ახსნა დიდი ხნის განმავლობაში და დეტალურად. ჩემდა საბედნიეროდ, მან ეს ყველაფერი მშვიდად მიიღო, ზოგან, როცა ვსაუბრობდი, მეღიმებოდა კიდეც, განსაკუთრებით მაშინ, როცა ყვებოდა ჩემი დის ქმრის უბუნტუზე უარის თქმის მიზეზებზე. მამა, ნორმალური კაცი, უკვე 50 წლისაა, ცოტა მეტი ვისაუბრეთ, უფრო სწორად, მე ვისაუბრე, რომ გავიგო, რომ სწორად აითვისა ჩემი ნათქვამი. რის შემდეგაც მითხრა, სიტყვასიტყვით არ მახსოვს, მაგრამ დიქტოფონზე ჩაწერა არ მიფიქრია, ამიტომ ჩემი სიტყვებით აღვწერო. ზოგადად, არაფერია ცუდი იმაში, რომ ეს ტერმინი გამოიყენება Linux-ში, მთავარია ღმერთის რწმენა.

გაცნობა სერვისებში

/etc/init.d-ის მიერ მითითებულ დემონებს შექმნილია Linux-ზე, როგორც სერვისის ან სერვისის გასაშვებად. სერვისები არის პროგრამები, რომლებიც იწყება და ჩერდება init სკრიპტების საშუალებით, რომლებიც მდებარეობს დირექტორიაში /etc/init.d. ამ სერვისებიდან ბევრი გაშვებულია სისტემის ჩატვირთვის ფაზაში. / sbin / სერვისის პროგრამა უზრუნველყოფს მომხმარებლის ინტერფეისს (ურთიერთქმედებას) ინიციალიზაციის სკრიპტებთან. და ეს სკრიპტები თავად უზრუნველყოფენ ინტერფეისს სერვისების მართვისთვის, რაც მომხმარებელს სთავაზობს დაწყების, შეჩერების, გადატვირთვის, სერვისის სტატუსის შეკითხვის და სხვა მოქმედებების შესრულებას სერვისზე. მაგალითად, httpd სერვისის init სკრიპტს აქვს შემდეგი პარამეტრები:

/ sbin / სერვისი httpd გამოყენება: httpd (დაწყება | გაჩერება | გადატვირთვა | კონდრესტარტი | გადატვირთვა | სტატუსი | სრული სტატუსი | მოხდენილი | დახმარება | კონფიგურაცია)

თქვენ შეგიძლიათ ნახოთ ყველა სისტემის სერვისის მიმდინარე მდგომარეობა სერვისის კომუნალური პროგრამის შემდეგი ოფციის გამოყენებით:

/ sbin / სერვისი --status-all acpid (pid 2481) მუშაობს ... anacron (pid 2647) მუშაობს ... atd (pid 2657) მუშაობს ... auditd (pid 2189) მუშაობს ...

ინფორმაცია ამ სერვისების გაშვების დონის შესახებ, ანუ დაყენება, თუ სისტემის რომელ დონეზე იწყება კონკრეტული სერვისი ჩატვირთვის დროს, შეიძლება მიიღოთ ან შეიცვალოს chkconfig უტილიტის გამოყენებით. მოდით ვნახოთ, მაგალითად, მიმდინარე პარამეტრები syslog სისტემის ჟურნალის სერვისისთვის:

/ sbin / chkconfig --list syslog syslog 0: off 1: off 2: on 3: on 4: on 5: on 6: off

ჩვენ ვხედავთ, რომ syslog სერვისი ავტომატურად იწყება, როდესაც მივდივართ მე-2, 3, 4 და 5 დონეზე. იმისათვის რომ გამორთოთ ის დაწყებული 3 და 4 დონეზე (სხვათა შორის, არ არის კარგი იდეა), შეგიძლიათ გამოიყენოთ შემდეგი ვარიანტი: chkconfig ბრძანება:

/ sbin / chkconfig --დონეები 34 syslog off

/ usr / bin / system-config-services უტილიტა უზრუნველყოფს გრაფიკულ ინტერფეისს სისტემური სერვისებისთვის, რომელიც საშუალებას გაძლევთ ნახოთ და შეცვალოთ მათი მიმდინარე მდგომარეობა, ასევე დააყენოთ ისინი გაშვების სხვადასხვა დონეზე.

ვნახოთ, როგორ გამოჩნდება ეს სერვისები და დემონები ps ბრძანების გამომავალში. აი მოკლე ამონართი:

UID PID PPID C STIME TTY TIME CMD root 1 0 0 23:36? 00:00:00 init root 2161 1 0 23:37? 00:00:00 აუდიტირებული root 2177 1 0 23:37? 00:00:00 syslogd -m 0 root 2180 1 0 23:37? 00:00:00 klogd -x root 2207 1 0 23:37? 00:00:00 mcstransd root 2254 1 0 23:37? 00:00:00 rpc.statd root 2287 1 0 23:37? 00:00:00 rpc.idmapd root 2577 1 0 23:37? 00:00:00 crond root 2631 1 0 23:37? 00:00:00 / usr / sbin / atd root 2654 1 0 23:37? 00:00:00 rhnsd --ინტერვალი 240

რისი აღნიშვნაა აქ საინტერესო (გარდა ამისა, რა თქმა უნდა, დღეს კომპიუტერთან გვიან ვიჯექი)? თითოეული დემონისთვის მთავარი პროცესის იდენტიფიკატორი (PPID) არის 1. ეს მიუთითებს, რომ დემონები დაიწყო init-ით ჩატვირთვის დროს.

ეს შედეგი უფრო ნათლად ჩანს ისეთი სასარგებლო ბრძანების გამოსავალში, როგორიცაა "pstree", რომელიც აჩვენებს პროცესების "ხეს" "მშობლების" მითითებით. აქ არის პატარა ფრაგმენტი pstree-ის გამოსვლიდან:

Init- + | -NetworkManager --- 2 * [(NetworkManager)] | -NetworkManagerD | -acpid | -atd | -auditd - + - python | `- (აუდიტირებული) | -avahi-daemon --- avahi-daemon | -bonobo-activati ​​---- (bonobo-activati) | -crond | -cupsd --- cups-polld | -2 * | -dbus -გაშვება | -dhcdbd --- dhclient

მეტი თქვენს სისტემაში დემონების შესახებ

ჩვენ დავასრულეთ შესავალი ინფორმაცია. ახლა მოდით ვისაუბროთ სისტემის დემონებზე იზოლირებულად და ვნახოთ რომელ მათგანზე შეგიძლიათ უსაფრთხოდ ექსპერიმენტი. კიდევ ერთხელ, ეს პოსტი ეხება სისტემას, რომელიც მუშაობს Red Hat Enterprise Linux Beta 2-ზე სამუშაო სადგურის კონფიგურაციაში. თქვენი სისტემის სპეციფიკიდან გამომდინარე, შეგიძლიათ ნახოთ მეტ-ნაკლებად დემონები, მათ შორის ზოგიერთი, რომელიც აქ არ არის დაფარული.

თითოეული დემონის აღწერილობები მოიცავს ბმულებს საიტებზე, სადაც შეგიძლიათ მიიღოთ მეტი ინფორმაცია, მაგრამ მაინც უმჯობესია დაიწყოთ დემონის შესახებ შესწავლა შესაბამისი კაცის გვერდების ნახვით. O "Reilly-ს აქვს Linux ბრძანებების შესანიშნავი ანბანური ჩამონათვალი და wikipedia.org-ს ასევე აქვს სექციები ამ დემონების უმეტესობის შესახებ. დარწმუნდით, რომ შეამოწმეთ README ფაილებიც.

ეს არის Advanced Configuration and Power Interface (ACPI) სერვისი. ACPI არის ღია ინდუსტრიის სტანდარტი, რომელიც განსაზღვრავს სისტემის მართვის მოქმედებებს, უპირველეს ყოვლისა, plug-and-play მოწყობილობის განმარტებას და ენერგიის მენეჯმენტს, მათ შორის მოქმედებებს, როდესაც სისტემა იწყება, ჩერდება და როდესაც ის გადადის დაბალი ენერგიის რეჟიმში.

თქვენ ალბათ არ უნდა გამორთოთ ეს სერვისი, თუ ამას არ აკეთებთ გამართვის მიზნით ან ტექნიკის პრობლემების მოსაგვარებლად.

დამატებითი ინფორმაცია: http://www.acpi.info

თუ თქვენ იყენებთ ლეპტოპს, როგორც ამას ბევრი აკეთებს ამ დღეებში, მაშინ ერთ-ერთი პრობლემა ის არის, რომ როდესაც სთხოვთ cron daemon-ს რაიმეს გაკეთებას, ყოველთვის არ ხართ დარწმუნებული, რომ თქვენი კომპიუტერი ჩაირთვება იმ დროს, როდესაც დაგეგმილია შესრულება. ამოცანები. ანაკრონი (ეს სახელწოდება მომდინარეობს „ანაქრონისტული კრონიდან“, რაც ნიშნავს რაღაც „მოძველებული კრონის“ მსგავსს) აგვარებს ამ პრობლემას იმის შემოწმებით, რომ სამუშაოები შესრულდა თუ არა გარკვეული პერიოდის განმავლობაში. მაგალითად, ანაკრონი დაიწყებს დავალებას, თუ ის არ დაწყებულა გარკვეული დღის განმავლობაში.

როდის შეგიძლიათ შეწყვიტოთ ანაკრონის გამოყენება? თუ თქვენი სისტემა მუდმივად მუშაობს.
შეგიძლიათ უბრალოდ უარი თქვათ კრონის გაშვებაზე, თუ თქვენ გაქვთ ანაკრონი გაშვებული? არა; ანაკრონისთვის, დავალების გადატვირთვის პერიოდის დაზუსტება შესაძლებელია მხოლოდ დღეებში და არა წუთებში და წამებში.

Დამატებითი ინფორმაცია:

ეს არის Advanced Power Management (APM) დემონი BIOS-ში დრაივერის მეშვეობით. APM სტანდარტი და apmd დემონი ახლა შეიცვალა ACPI-ით და acpid-ით. თუ თქვენი აპარატურა მხარს უჭერს ACPI-ს, თქვენ არ გჭირდებათ apmd-ის გაშვება.

ეს არის დემონი სამუშაოების დაწყებისთვის მითითებულ დროს. თუ არ იყენებთ, სავსებით შესაძლებელია მისი გამორთვა.

ეს დემონი ავტომატურად ამონტაჟებს დისკებსა და ფაილურ სისტემებს, რომლებიც განსაზღვრულია კონფიგურაციის ფაილში. ამ დემონის გამოყენება აადვილებს მოსახსნელ დისკებთან მუშაობას.

დამატებითი ინფორმაცია: http://freshmeat.net/projects/autofs

Linux-ის აუდიტის სისტემა შედგება ბირთვის დონის სისტემის ზარის ლოგერებისგან და მომხმარებლის სივრცის ჟურნალების შეგროვებისა და ნახვის ხელსაწყოებისგან. აუდიტირებული დემონი წერს შეტყობინებებს დისკზე. Auditd არის კონფიგურირებადი, რაც საშუალებას გაძლევთ აკონტროლოთ და მართოთ რა ინფორმაცია ინახება დისკზე.

უნდა გაგრძელდეს თუ არა აუდიტი? ჟურნალებიდან მიღებული ინფორმაცია შეიძლება ძალიან სასარგებლო იყოს სისტემის უსაფრთხოებასთან დაკავშირებული ყველაფრის კონფიგურაციისთვის. მაგალითად, აუდიტი გამოიყენება SELinux-ის მოვლენების აღრიცხვაში. ასევე არსებობს კომუნალური საშუალებები, როგორიცაა aureport, რომელიც საშუალებას გაძლევთ ნახოთ აუდიტის ჟურნალები. აქ არის aureport უტილიტის მიერ გენერირებული ანგარიშის მაგალითი:

Შემაჯამებელი ანგარიში
======================

დროის დიაპაზონი ჟურნალებში: 11/28/2006 06: 07: 04.800 - 02/06/2007 21: 10: 09.957 არჩეული დრო მოხსენებისთვის: 12/31/1969 19:00:00 - 02/06/2 10: 09.957 ცვლილებების რაოდენობა კონფიგურაციაში: 285 ცვლილებების რაოდენობა ანგარიშებში, ჯგუფებში ან როლებში: 32 შესვლების რაოდენობა: 145 წარუმატებელი შესვლების რაოდენობა: 11 მომხმარებელთა რაოდენობა: 2 ტერმინალების რაოდენობა: 22 ჰოსტების სახელების რაოდენობა: 11 ნომერი შესრულებადი ფაილების რაოდენობა: 27 ფაილების რაოდენობა: 91 AVC უარყოფების რაოდენობა: 688 MAC მოვლენების რაოდენობა: 12 წარუმატებელი სისტემის ზარების რაოდენობა: 404 ანომალიის მოვლენების რაოდენობა: 0 პასუხების რაოდენობა ანომალიის მოვლენებზე: 0 კრიპტო მოვლენების რაოდენობა: 0 პროცესის რაოდენობა ID: 14022 მოვლენების რაოდენობა: 70694 Avahi-daemon და avahi-dnsconfd

Avahi-ის ვებსაიტი ასე განმარტავს: "Avahi არის სისტემა, რომელიც უზრუნველყოფს ლოკალურ ქსელში სერვისების აღმოჩენის შესაძლებლობას. ეს ნიშნავს, რომ როგორც კი თქვენი კომპიუტერი დაუკავშირდება ლოკალურ ქსელს, შეგიძლიათ მყისიერად იპოვოთ ხელმისაწვდომი პრინტერები, ნახოთ რა გაზიარებებია ხელმისაწვდომი. ქსელში, გაარკვიეთ, ვისთან ერთად შეგიძლიათ ისაუბროთ ქსელის სხვა მომხმარებლებიდან ჩეთის საშუალებით და ასე შემდეგ. Avahi არის Zeroconf პროტოკოლის იმპლემენტაცია. და Zeroconf არის მიდგომა, რომელიც საშუალებას აძლევს მომხმარებლებს შექმნან IP ქსელები სპეციალური კონფიგურაციის სერვისების გარეშე, როგორიცაა DNS სერვერები.
ყველაზე ხშირად, avahi-daemon გამოიყენება Rhythmbox-თან ერთად, რათა ნახოთ მუსიკალური ფაილები, რომლებიც გაზიარებულია სხვებთან. თუ არ აზიარებთ მუსიკას ან ფაილებს თქვენი კომპიუტერიდან, შეგიძლიათ გამორთოთ ეს დემონი.

დამატებითი ინფორმაცია: http://avahi.org, http://zeroconf.org

Bluetooth და ფარული და პანდ დემონები

თავად სახელები ხსნის ყველაფერს. გაუშვით ეს სერვისები, თუ გსურთ გამოიყენოთ bluetooth მოწყობილობები. რეალურად გაშვებული დემონის სახელია hcid (Host Controller Interface Daemon).

ფარული დემონის სახელი მომდინარეობს "Bluetooth ადამიანის ინტერფეისის მოწყობილობის დემონიდან". ის უზრუნველყოფს Bluetooth კლავიატურის, მაუსის და ტრეკის ბურთის მხარდაჭერას. და პანდის დემონი ინარჩუნებს თქვენს კომპიუტერს დაკავშირებულს Ethernet ქსელთან Bluetooth-ის გამოყენებით.

დამატებითი ინფორმაცია: http://www.bluetooth.com,

ეს დემონი მხარს უჭერს საერთო ISDN აპლიკაციის პროგრამირების ინტერფეისს. ის უნდა იყოს გაშვებული, თუ უკავშირდებით ISDN აპარატურულ კომპონენტებს. ეს სერვისი იწყება კაპიტალით.

დამატებითი ინფორმაცია: http://www.capi.org/pages

არა, მას არაფერი აქვს საერთო უძრავი ქონების საინვესტიციო გადაცემებთან ღამისთევასთან. Conman სერვისი (და conmand daemon) მხარს უჭერს კონსოლის მართვას. უზრუნველყოფს მრავალი კონსოლის მოწყობილობის მხარდაჭერას და მომხმარებლის ერთდროულ მუშაობას, ადგილობრივი სერიული მოწყობილობებისა და დისტანციური ტერმინალის სერვერების მხარდაჭერას (ტელნეტ პროტოკოლის საშუალებით). თუ თქვენ მართავთ რამდენიმე სერვერს, შეიძლება დაგჭირდეთ კონმანი.

დამატებითი ინფორმაცია: http://home.gna.org/conman/
cpuspeed

ეს დემონი ცვლის მუშაობის სიჩქარეს ცენტრალური გადამამუშავებელი ერთეულიენერგიის მოხმარების შემცირების მიზნით. თუ CPU უმოქმედოა, შეგიძლიათ შეამციროთ სიჩქარე, რითაც შეამციროთ ენერგიის მოხმარება, ხოლო მუშაობის გაზრდისთვის თქვენ უნდა გაზარდოთ ენერგიის მოხმარება. თუ მუშაობ ლეპტოპი, აზრი აქვს cpuspeed-ის გაშვებას.

დამატებითი ინფორმაცია: http://carlthompson.net/Software/CPUSpeed
კრონდი

ეს დემონი გამოიყენება ამოცანების ავტომატურად დასაწყებად. ეს საჭიროა ყველა Linux და Unix სისტემაზე. არ შეაჩეროთ ან გამორთოთ ეს სერვისი.

დამატებითი ინფორმაცია: http://www.unixgeeks.org/security/newbie/unix/cron-1.html, http://www.linuxhelp.net/guides/cron/

ჭიქები და ჭიქები-config-daemon

ეს არის "საერთო UNIX ბეჭდვის გადაწყვეტა" დემონი. როგორც სახელი გვთავაზობს, ეს არის ბეჭდვის სისტემა, რომელიც ამუშავებს სხვადასხვა ფაილის ფორმატს და განსხვავებული ტიპებიპრინტერები. თუ გსურთ დაბეჭდვა, გაუშვით ეს დემონი თქვენს სისტემაში.

დამატებითი ინფორმაცია: http://www.cups.org, http://www.easysw.com/cups/index.php

ამ დემონის სახელი არის აკრონიმი "DHcp Client D-Bus Daemon". Free DeskTop ვიკი განსაზღვრავს მას შემდეგნაირად:

D-Bus არის შეტყობინებების ავტობუსის სისტემა, აპლიკაციების ერთმანეთთან კომუნიკაციის (ან ურთიერთქმედების) მარტივი გზა. გარდა პროცესთაშორისი კომუნიკაციისა, D-Bus ეხმარება პროცესის სასიცოცხლო ციკლის კოორდინაციას; ის უზრუნველყოფს მარტივ და საიმედო დანერგვას აპლიკაციის ან დემონის „ცალკე ინსტანციის“ გაშვების შესაძლებლობის კოდში, რაც საშუალებას გაძლევთ გაუშვათ აპლიკაციები და დემონები მოთხოვნისამებრ, როდესაც საჭირო იქნება შესაბამისი სერვისები.

გჭირდებათ ამ დემონის გაშვება? თუ თქვენი სისტემა მუშაობს ქსელში (სხვაგვარად როგორ შეიძლება იყოს?), განსაკუთრებით თუ გადადიხართ ქსელებს შორის (მაგალითად, სადენიანი ქსელიდან უკაბელო ქსელზე გადართვა), მაშინ უნდა ჩართოთ NetworkManager (ქვემოთ განვიხილავთ NetworkManager-ს) .

dhcdbd დემონი უზრუნველყოფს D-Bus ინტერფეისს dhclient-ისთვის, DHCP კლიენტისთვის ISC-დან. ეს საშუალებას აძლევს NetworkManager-ს წვდომა და მართოს dhclient.

დამატებითი ინფორმაცია: http://www.freedesktop.org/wiki/Software/dbus

ეს დემონი გაძლევთ შესაძლებლობას გამოიყენოთ მაუსი ტექსტზე დაფუძნებულ აპლიკაციებში, როგორიცაა ფაილის მენეჯერიშუაღამის მეთაური. ეს შეიძლება იყოს სასარგებლო, თუ ხშირად იყენებთ კონსოლს; წინააღმდეგ შემთხვევაში, ანუ თუ თქვენ მუდმივად იყენებთ X Window System-ს, შეიძლება არასოდეს დაგჭირდეთ gpmd.

არა, ეს არ არის ბოროტი კომპიუტერი 2001 წლის Space Odyssey ფილმიდან. ამ კონტექსტში, HAL ნიშნავს Hardware Abstraction Layer-ს. HAL დემონი აგროვებს (ბირთის და თავად მოწყობილობების გამოყენებით) ინფორმაციას ტექნიკის მოწყობილობების შესახებ და თანმიმდევრულად წარუდგენს მას აპლიკაციებში.

არ გამორთოთ ეს სერვისი. ბევრი აპლიკაცია იყენებს მას.

დამატებითი ინფორმაცია: "Desktop and hardware configuration," by David Zeuthen

ეს დემონი უზრუნველყოფს HP Linux გამოსახულების და ბეჭდვის (HPLIP) სისტემის მხარდაჭერას, რომელიც გამოიყენება ჭავლური და ფაქსით დასაბეჭდად, სკანირებისთვის და ფაქსისთვის. ლაზერული მოწყობილობები HP-სგან. HPLIP ურთიერთქმედებს CUPS-თან, რაც ამ უკანასკნელს უზრუნველყოფს HP-ის მოწყობილობებზე წვდომას.

Დამატებითი ინფორმაცია:

ეს არის დემონი ჯავის რელაციური მონაცემთა ბაზებისთვის. მან თავისი სახელი მიიღო Hypersonic SQL პროექტისგან, რომელიც აღარ არის მხარდაჭერილი. hsqldb ფართოდ გამოიყენება ღია კოდის პროექტებში, როგორიცაა OpenOffice.org, ასევე დემოში, რადგან მას შეუძლია მთლიანად იმუშაოს RAM-ში. იმის გამო, რომ ის სწრაფად მუშაობს. გჭირდებათ ამ სერვისის გაშვება? მხოლოდ იმ შემთხვევაში, თუ თქვენ გაუშვით პროგრამა, რომელიც იყენებს მას. მაგრამ სინამდვილეში ეს ძალიან სასარგებლო ინსტრუმენტიდა თუ არ იცნობთ, ღირს ყურება.

დამატებითი ინფორმაცია: http://hsqldb.org, http://dba.openoffice.org

Apache ვებ სერვერი. მას იყენებს ყველა ვებსაიტის თითქმის 60%. თუ გსურთ ვებსაიტის შენარჩუნება, თქვენ გაუშვით Apache. სხვა რამის თქმა მჭირდება?

დამატებითი ინფორმაცია: http://httpd.apache.org

ip6tables და iptables

ეს არის firewalls ან firewalls. Wikipedia-ს მიხედვით, "Firewall ან Firewall (ჟარგონი. Firewall ან Firewall ინგლისურიდან. Firewall) არის აპარატურის და/ან პროგრამული უზრუნველყოფის ხელსაწყოების ნაკრები, რომელიც აკონტროლებს და ფილტრავს მასში გამავალ ქსელის პაკეტებს OSI მოდელის სხვადასხვა დონეზე, შესაბამისად. მითითებული წესები.Firewall არის დაცვა კომპიუტერული ქსელებიან ცალკეული კვანძები არაავტორიზებული წვდომისგან.

Iptables მუშაობს IPv4 პაკეტის ფილტრაციის წესების დაყენებით ბირთვის ცხრილის სახით. შემომავალი და გამავალი პაკეტები მოწმდება ამ წესების შესაბამისად, ხოლო ისინი, რომლებიც არ ემთხვევა წესებს, იბლოკება. Ip6tables იგივეს აკეთებს IPv6 პაკეტებისთვის.

ორი სერვისიდან რომელი გსურთ გაშვება? ორივე. Ყოველთვის არის. ქსელი საშიშია!

დამატებითი ინფორმაცია: http://www.netfilter.org, http://www.ipv6.org

IrDA (ინფრაწითელი მონაცემთა ასოციაცია) არის ინდუსტრიის სტანდარტი მოწყობილობებს შორის ინფრაწითელი უკაბელო კომუნიკაციისთვის. ლეპტოპების უმეტესობა აღჭურვილია IrDA-ს შესაბამისი ინფრაწითელი გადამცემით. ამ სერვისის გაშვება გჭირდებათ მხოლოდ იმ შემთხვევაში, თუ თქვენ აპირებთ სხვა მოწყობილობებთან კომუნიკაციის ორგანიზებას ინფრაწითელი საშუალებით.

Დამატებითი ინფორმაცია:

irqbalance

ეს დემონი პასუხისმგებელია ტექნიკის შეფერხებების განაწილებაზე CPU-ებს შორის სიმეტრიული პროცესორის (SMP) მულტიპროცესორული არქიტექტურაში მუშაობის გასაუმჯობესებლად.

არ არის საჭირო ამ დემონის გაშვება უნიპროცესორულ სისტემებზე; ის მოქმედებს მხოლოდ მრავალპროცესორულ სისტემებზე.

დამატებითი ინფორმაცია: http://www.irqbalance.org

ძალიან სასარგებლო დემონია. ის მუშაობს ჩატვირთვის დროს და ამოწმებს რომელი აპარატურის მოწყობილობები დაემატა ან ამოიღეს სისტემაში. აზრი აქვს kudzu-ის გაშვებას ჩატვირთვის დროს, მაშინაც კი, თუ არ გეგმავთ მოწყობილობების ხშირად დამატებას ან ამოღებას. რადგან ადრე თუ გვიან, თქვენ ერთნაირად აღმოჩნდებით ისეთ სიტუაციაში, როდესაც დაამატებთ მოწყობილობას და მოელით, რომ სისტემა აღმოაჩენს მას. გარდა ამისა, მას შემდეგ, რაც kudzu მუშაობს ჩატვირთვის დროს, ეს უარყოფითად არ იმოქმედებს სისტემის მუშაობაზე.

დამატებითი ინფორმაცია: http://fedora.redhat.com/projects/additional-projects/kudzu

ეს დემონი თავის სახელს Lan Information Server-ისგან იღებს. Lisa უზრუნველყოფს ფუნქციონალობას, როგორც MS-Windows-ში Network Neighborhood სერვისის მიერ მოწოდებული, ანუ ის უზრუნველყოფს წვდომას თქვენს ლოკალურ ქსელში არსებულ სერვერებზე, CIFS (საერთო ინტერნეტ ფაილური სისტემების) სერვერების ჩათვლით. lisa გადის TCP/IP-ზე, აგზავნის ICMP მოთხოვნებს IP მისამართებზე კონფიგურაციის ფაილში მითითებულ დიაპაზონში და ელოდება კომპიუტერების პასუხს.

დამატებითი ინფორმაცია: http://docs.kde.org/stable/en/kdenetwork/lisa, http://docs.kde.org/userguide/networking-with-windows.html,

lm_სენსორები

ეს დემონი აკონტროლებს ტემპერატურასა და ძაბვას დედაპლატზე. მონიტორინგის სისტემის მუშაობისთვის საჭიროა აღჭურვილობაში შესაბამისი სენსორების არსებობა. ამ დემონის დაწყებას აზრი აქვს მხოლოდ იმ შემთხვევაში, თუ უზრუნველყოფილია ტექნიკის მხარდაჭერა. თქვენ ალბათ არ უნდა გაუშვათ ის ჩვეულებრივ სამუშაო სადგურებზე. პირიქით, ის საჭიროა მაღალი დონის სერვერებზე, რომლებიც ასრულებენ კრიტიკულ ფუნქციებს.

დამატებითი ინფორმაცია: http://www.lm-sensors.org, http://freshmeat.net/projects/lm_sensors

mcstrans

SELinux კონტექსტური თარგმანის სისტემა Daemon. ეს დემონი გარდაქმნის უსაფრთხოების კონტექსტის ინფორმაციას ადამიანის წასაკითხად. თქვენ შეგიძლიათ შეაჩეროთ ეს დემონი, მაგრამ თუ ასეა, ნახავთ SELinux ინფორმაციას, რომელიც ნაჩვენებია ls -Z ბრძანების ცვლილებაზე. მაგალითად, დემონის გაშვებისას ნახავთ:

Ls -Z -rw-r - r-- jsmith jsmith user_u: object_r: user_home_t bookmarks.html drwxr-xr-x jsmith jsmith user_u: object_r: user_home_t Desktop -r-xr-xr-x jsmith__ hellomes: ობიექტი - r - r-- jsmith jsmith user_u: object_r: user_home_t hello.c

და თუ დემონი შეჩერებულია, ნახავთ შემდეგს:

Ls -Z -rw-r - r-- jsmith jsmith user_u: object_r: user_home_t: s0 bookmarks.html drwxr-xr-x jsmith jsmith user_u: object_r: user_home_t: s0 Desktop -r-xr-xmith-xs object_r: user_home_t: s0 გამარჯობა -r - r - r-- jsmith jsmith user_u: object_r: user_home_t: s0 hello.c

გაითვალისწინეთ, რომ თუ დემონი შეჩერებულია, უსაფრთხოების კონტექსტის მნიშვნელობა "s0" გამოჩნდება. მაკტრანსმა ამ შემთხვევაში კონტექსტი გააუქმა. უსაფრთხოების კონტექსტის სხვა მნიშვნელობები გარდაიქმნება ალფანუმერული მნიშვნელობებიდან მათ სახელებზე.

დამატებითი ინფორმაცია: http://fedoraproject.org/wiki/SELinux/Understanding, http://danwalsh.livejournal.com

mdmonitor და mdmpd

ეს ორი დემონი გამოიყენება იაფი / დამოუკიდებელი დისკების (RAID) შენახვის სისტემების ზედმეტ მასივში. Mdmonitor იწყებს, აჩერებს და გადატვირთავს mdadm-ს (მრავალმხრივი მოწყობილობის მონიტორინგი და მართვა), პროგრამული RAID მონიტორინგისა და მართვის სერვისი. ამ სერვისის გაშვება გჭირდებათ მხოლოდ იმ შემთხვევაში, თუ თქვენს სისტემას აქვს RAID მოწყობილობები.

დამატებითი ინფორმაცია: http://www.linuxdevcenter.com/pub/a/linux/...12/05/RAID.html

შეტყობინების ავტობუსი

ეს არის D-BUS სისტემის შეტყობინების ავტობუსის დემონი. ის ავრცელებს სისტემურ მოვლენებს და მოვლენებს, როგორიცაა ცვლილებები ბეჭდვის რიგში, ან მოწყობილობების დამატება ან ამოღება (გაითვალისწინეთ, რომ ეს არ არის იგივე, რაც kudzu, რადგან ასეთი მოვლენები შეიძლება მოხდეს ნებისმიერ დროს სისტემის მუშაობის დროს და არა მხოლოდ ჩატვირთვის ეტაპზე. ).

დამატებითი ინფორმაცია: http://www.freedesktop.org/software/dbus

netplugd და ifplugd

ეს დემონები აკონფიგურირებენ Ethernet მოწყობილობებს ქსელის კაბელის მიერთებისას და თიშავენ ამ მოწყობილობებს, როდესაც კაბელი გათიშულია. როდის გჭირდება? მაგალითად, ლეპტოპებზე, ისე რომ თქვენი ქსელური კავშირებიაღდგენილია მხოლოდ ქსელის კაბელის მიერთებისას.

გაითვალისწინეთ, რომ netplugd-ის მხარდაჭერა შეწყდა და ახლა იგი შეიცვალა ifplugd-ით.

დამატებითი ინფორმაცია: http://0pointer.de/lennart/projects/ifplugd

NetworkManager და NetworkManagerDispatcher

NetworkManager დემონი ავტომატიზირებს გადართვას ქსელურ კავშირებს შორის. ეს დემონი სასარგებლოა ლეპტოპის მომხმარებლებისთვის, რომლებიც გადადიან WiFi უკაბელო კავშირებსა და Ethernet კავშირებს შორის. NetworkManagerDispatcher დემონი ავტომატურად უშვებს სკრიპტებს საჭირო ოპერაციების შესასრულებლად (მაგალითად, სკრიპტები პაკეტებისთვის მარშრუტიზაციის კონკრეტული მიმართულებების დასაყენებლად), როდესაც NetworkManager ცვლის ქსელის მდგომარეობას.

დამატებითი ინფორმაცია: http://www.gnome.org/projects/NetworkManager

ეს არის დემონი, რომელიც მოქმედებს როგორც დომენის სახელების სერვერი. თქვენ უნდა გაუშვათ ის მხოლოდ იმ შემთხვევაში, თუ თქვენი კომპიუტერი არის თქვენი ქსელის DNS სერვერი.

დამატებითი ინფორმაცია: http://www.dns.net/dnsrd

nfsd დემონი უზრუნველყოფს nfs ქსელის საკომუნიკაციო პროტოკოლის მხარდაჭერას, რომელიც გამოიყენება წვდომის უზრუნველსაყოფად ქსელის რესურსები TCP/IP ქსელებში. თქვენ უნდა გაუშვათ ის, თუ სხვა მომხმარებლებს აძლევთ წვდომას თქვენს ფაილურ სისტემებზე nfs პროტოკოლის გამოყენებით.

Დამატებითი ინფორმაცია:

ეს არის ქეშირების დემონი სახელის სერვისისთვის. ის ინახავს ჯგუფებისა და პაროლების ცხრილს გაშვებული პროგრამებისთვის და შემდეგ აწარმოებს დამახსოვრებულ შედეგს შემდეგი მოთხოვნით სერვისებისთვის, რომლებიც სხვაგვარად ძალიან ნელია, როგორიცაა NIS ან LDAP. თუ თქვენ გაქვთ ეს სერვისები გაშვებული, უნდა დაიწყოთ nscd ასევე.

ეს არის დემონი, რომელიც მხარს უჭერს ქსელის დროის პროტოკოლს. ის ადგენს სისტემის დროს და სინქრონიზაციას უწევს ინტერნეტ სერვერების მიერ დადგენილ დროს, რომლებიც ინარჩუნებენ მითითების დროს. თუ თქვენი სისტემა დაკავშირებულია ინტერნეტთან (არა?), მაშინ ეს დემონი მონიტორინგს გაუწევს სისტემის დროის სწორ პარამეტრს თქვენს კომპიუტერში.

დამატებითი ინფორმაცია: http://www.ntp.org

oddjobd daemon აწარმოებს com.redhat.oddjob სერვისს სისტემის ავტობუსზე. oddjobd-ის მიერ მოწოდებული თითოეული შესაძლებლობა მოცემულია როგორც ცალკე მეთოდი D-ავტობუსი. Oddjobd უზრუნველყოფს მხარდაჭერას არაპრივილეგირებული აპლიკაციებისთვის პრივილეგირებული ოპერაციების შესასრულებლად.

თქვენ უნდა დაიწყოთ ეს დემონი მხოლოდ იმ შემთხვევაში, თუ იყენებთ აპლიკაციებს, რომლებიც ამას მოითხოვს, როგორიცაა Conga.

დამატებითი ინფორმაცია: http://people.redhat.com/nalin/oddjob/oddjob.html,

ეს დემონი მხარს უჭერს ვირტუალურ კერძო ქსელებს (VPN). ამ დემონის სტარტაპ სკრიპტში ნათქვამია შემდეგი:

OpenVPN არის ძლიერი და უაღრესად მოქნილი გვირაბების პროგრამა, რომელიც იყენებს OpenSSL ბიბლიოთეკის დაშიფვრის, ავტორიზაციისა და სერტიფიცირების შესაძლებლობებს IP ქსელის უსაფრთხოდ გვირაბის ერთი UDP პორტით.

თუ თქვენი სისტემა არის VPN ჰოსტი, მაშინ ალბათ უნდა გაუშვათ OpenVPN.

დამატებითი ინფორმაცია: http://openvpn.net

pcscd (PC / SC Smart Card Daemon) არის დემონი pcsc-lite (სმარტ ბარათზე წვდომის პროგრამული უზრუნველყოფა) და (java-ზე დაფუძნებული) MuscleCard განვითარების გარემოსთვის. ის უზრუნველყოფს კომუნიკაციას სმარტ ბარათის წამკითხველებთან და თავად სმარტ ბარათებთან.

(სმარტ ბარათი არის პატარა მიკროსქემის დაფა, რომელიც შეიცავს მეხსიერების მოდულს ან მიკროპროცესორს მეხსიერების მოდულით. Muscle ნიშნავს მოძრაობას სმარტ ბარათების გამოყენებისთვის Linux გარემოში.

დამატებითი ინფორმაცია: http://www.smartcardalliance.org, http://pcsclite.alioth.debian.org, http://www.linuxnet.com/musclecard/index.html

პორტმაპერ დემონი მართავს RPC (დისტანციური პროცედურის ზარი) კავშირებს. ის გარდაქმნის RPC პროგრამის ნომრებს TCP / IP (ან UDP / IP) პორტის ნომრებად. პორტმაპერს ყველაზე ხშირად იყენებენ NFS და NIS.

ასე რომ, თუ თქვენი სისტემა დამოკიდებულია NIS-ზე ან NFS-ზე, არ გამორთოთ პორტმაპის დემონი.

დამატებითი ინფორმაცია: http://www.linux-nis.org/nis-howto/HOWTO/portmapper.html

ეს არის ფოსტის გადაცემის (ტრანსპორტის) აგენტი. თუ თქვენი სისტემა არ არის ელ.ფოსტის სისტემის რელე, თქვენ არ გჭირდებათ ამ სერვისის დაწყება.

დამატებითი ინფორმაცია: http://www.postfix.org

ეს დემონი (როუტერის აღმოჩენის დემონი) პოულობს მარშრუტებს ადგილობრივ ქვექსელში. ის მუშაობს ჩატვირთვის დროს, რათა დაამატოთ ნაგულისხმევი მარშრუტები მარშრუტიზაციის ცხრილებში.

დამატებითი ინფორმაცია: http://www.informit.com/articles/article.asp?p=23951&rl=1

აღდგენა

ეს არის დემონი SELinux-ისგან. Restorecond აკონტროლებს ფაილის შექმნას (/etc/selinux/restorecond.conf-ში ჩამოთვლილი ფაილებისთვის) და უზრუნველყოფს, რომ ფაილებს აქვთ სწორი ფაილის კონტექსტი მითითებული პოლიტიკისთვის, ასევე განსაზღვრავს SELinux ფაილის ნაგულისხმევ კონტექსტს.

არ გამორთოთ ეს სერვისი. ეს საჭიროა SELinux-ისთვის.

დამატებითი ინფორმაცია: http://fedoraproject.org/wiki/SELinux/Understanding, http://danwalsh.livejournal.com/

ეს დემონი პერიოდულად ამოწმებს რა ოპერაციების მეშვეობით უნდა შესრულდეს ქსელის ინტერფეისი Red Hat (Red Hat Network ვებ ინტერფეისი) და აწარმოებს მათ. ეს ოპერაციები მოიცავს პროგრამული უზრუნველყოფის ინსტალაციას, წაშლას ან განახლებას, სისტემის გადატვირთვას, კონფიგურაციის ფაილების დაყენებას და ა.შ.

დამატებითი ინფორმაცია: https://www.redhat.com/rhn/

rpcgssd, rpcidmapd და rpcsvcgssd

rpcgssd და rpcsvcgssd დემონები არის RPC-ზე უსაფრთხოებისთვის. Rpcidmapd გარდაქმნის მომხმარებლის სახელებს UID და GID ნომრებად.

თუ იყენებთ NFS ან NIS-ს, ეს დემონები უნდა გაუშვათ.

Დამატებითი ინფორმაცია:

readahead_early და readahead_ater

Readahead დემონი უზრუნველყოფს, რომ გაშვების პროგრამები ჩაიტვირთება მეხსიერებაში მათ გამოყენებამდე, რაც ამცირებს ჩატვირთვის დროს.

სასლაუთდი

ეს არის SASL ავთენტიფიკაციის სერვერის დემონი. SASL (Simple Authentication and Security Layer) ამატებს ავთენტიფიკაციის შესაძლებლობებს პროტოკოლებს დისტანციური კავშირების საფუძველზე.

დამატებითი ინფორმაცია: http://asg.web.cmu.edu/sasl

ფოსტის გაგზავნა

ეს არის SMTP (Simple Mail Transfer Protocol) სერვერი. Sendmail აგზავნის ფოსტას ერთი სისტემიდან მეორეში, ანუ ის არის ფოსტის ტრანსპორტირების აგენტი. თუ იყენებთ მეილერებს, როგორიცაა Thunderbird ან Evolution, არ გჭირდებათ sendmail-ის გაშვება.

დამატებითი ინფორმაცია: http://www.sendmail.org

პრობლემის მოგვარება

ეს არის SELinux-ის პრობლემის გადაჭრის დემონი. Setroubleshooter არის SELinux-ის ბოლოდროინდელი ერთ-ერთი უდიდესი ინოვაცია. Setroubleshooter უზრუნველყოფს რეალურ დროში უკუკავშირს მომხმარებლებს SELInux AVC (Access Vector Cache) წარუმატებლობის შესახებ. უფრო მეტიც, ეს გამოხმაურება მოწოდებულია მოსახერხებელ ფორმატში.

დამატებითი ინფორმაცია: https://hosted.fedoraproject.org/projects/setroubleshoot

ეს დემონი აკონტროლებს SMART (თვითკონტროლის, ანალიზისა და ანგარიშგების ტექნოლოგია) სენსორების წაკითხვას, რომლებიც დამონტაჟებულია მრავალ ტიპის დისკზე, მაგალითად, SCSI-3 მყარ დისკებზე. დემონი აკონტროლებს ასეთი მოწყობილობების ნორმალურ მუშაობას და ატარებს თვითტესტს. თუ თქვენი აპარატურა მხარს უჭერს SMART ტექნოლოგიას, თქვენ უნდა დაიწყოთ ეს სერვისი.

Დამატებითი ინფორმაცია:

spamassassin

ეს დემონი იყენებს Apache SpamAssassin პროგრამას სპამისთვის ფოსტის შესამოწმებლად. ის ჩვეულებრივ მუშაობს ფოსტის მიწოდების აგენტთან (MDA) სერვერთან ერთად. თუ იყენებთ კლიენტის პროგრამებს, როგორიცაა Thunderbird ან Evolution თქვენს ფოსტაზე წვდომისთვის, არ გჭირდებათ spamassassin-ის გაშვება.

დამატებითი ინფორმაცია: http://spamassassin.apache.org

ეს არის დემონი ღია ssh პროტოკოლისთვის. Ssh ცვლის დაუცველ rsh და rlogin პროგრამებს და უზრუნველყოფს დაშიფრულ კავშირებს ჰოსტებს შორის დაუცველ ქსელებში. თუ თქვენ იყენებთ კავშირებს სხვა სისტემებთან ღია ინტერნეტით, უნდა გამოიყენოთ ssh და გაუშვათ ეს დემონი.

დამატებითი ინფორმაცია: http://www.ssh.com, http://www.openssh.com

syslog არის Linux-ის სტანდარტული ჟურნალის სისტემა. არ გამორთოთ.

დამატებითი ინფორმაცია: http://www.syslog.org

ეს დემონი Samba პაკეტის ნაწილია. ეს საშუალებას აძლევს Windows დომენის მომხმარებლებს დაუკავშირდნენ Unix-ის მომხმარებლებს Unix სერვერებთან. ეს დემონი უნდა დაიწყოს, როდესაც საქმე გაქვთ Windows და Linux / Unix კომპიუტერების შერეულ ქსელთან.

დამატებითი ინფორმაცია: http://www.samba.org/samba/docs/man/Samba-...on/winbind.html, http://www.samba.org

ეს არის შრიფტის სერვერი. ეს დემონი ატვირთავს შრიფტებს მეხსიერებაში ისე, რომ გრაფიკული აპლიკაციები უფრო სწრაფად მუშაობენ, ვიდრე მყარი დისკიდან შრიფტების ჩატვირთვა. ეს სერვისი უნდა დაიწყოს თქვენს სისტემაში აპლიკაციების მუშაობის გასაუმჯობესებლად.

დამატებითი ინფორმაცია: http://linuxreviews.org/howtos/xfree/xfs

ეს სერვისი აკავშირებს NIS კლიენტს NIS დომენთან. მის სახელში ასოები "yp" მომდინარეობს "ყვითელი გვერდებიდან", რადგან NIS დირექტორიები ყვითელი გვერდების სატელეფონო დირექტორიების მსგავსია. ამ სერვისის გაშვება გჭირდებათ მხოლოდ იმ შემთხვევაში, თუ თქვენი სისტემა იყენებს NIS (ქსელის საინფორმაციო სერვისს) მომხმარებლის ბიუჯეტებსა და სისტემის სახელებზე წვდომის უზრუნველსაყოფად.

დამატებითი ინფორმაცია: http://www.linux-nis.org

yum-განახლებულია

yum-updatesd აკონტროლებს პროგრამული უზრუნველყოფის განახლებების ხელმისაწვდომობას და აგზავნის შეტყობინებებს ამ განახლებების შესახებ ელექტრონული ფოსტით, d-bus ან სისტემის შეტყობინებებით, ასევე შეუძლია შექმნას ავტომატური განახლებაჩართულია. D-bus შეტყობინებები მიიღება "თოჯინების" უტილიტაში (პაკეტის განახლება), რომელიც აცნობებს მომხმარებელს განახლების ხელმისაწვდომობის შესახებ და ასევე აძლევს მომხმარებელს განახლების დაყენების საშუალებას.

დამატებითი ინფორმაცია: http://linux.duke.edu/projects/yum, http://www.redhat.com/magazine/024oct06/features/fc62

მადლობა ZOOLვებსაიტზე მოწოდებული ინფორმაციისთვის http://www.centrlan.ru/node/17929

წყარო არ არის მითითებული

Linux-ის ახალბედა თითოეულ მომხმარებელს ადრე თუ გვიან ექმნება გარკვეული პრობლემები მათი სისტემის ფუნქციონირების დაყენებისა და ორგანიზებისას. და თითოეულმა ახალბედამ თითქმის ნამდვილად მოისმინა უფრო გამოცდილი მომხმარებლებისგან რჩევა: "შეხედე ჟურნალებს". ეს რჩევა კარგია, მაგრამ დამწყებმა მაინც უნდა იცოდეს: რა არის მორები და სად იპოვონ ისინი! ამიტომ ვეცდები ამ სტატიაში გითხრათ რა და სად უნდა ვეძებოთ.

პროგრამირების ჟარგონში „logs“ არის სამუშაო პროტოკოლები, რომლებსაც ინახავს როგორც თავად ოპერაციული სისტემა, ასევე მრავალი პროგრამა დამოუკიდებლად. სიტყვა „ლოგი“ ხშირად გამოიყენება ამ გაგებით სიტყვა „პროტოკოლის“ სინონიმად. არსებობს ორი ძირითადი სიტუაცია, როდესაც საჭირო ხდება პროტოკოლის ანალიზი: როდესაც სისტემაში რაღაც არ მუშაობს ისე, როგორც ჩვენ ველოდით (პრობლემის გადაჭრა) და როდესაც არსებობს ეჭვი, რომ სისტემა გატეხილია ვიღაცის მიერ და ეს აუცილებელია. იმის გასარკვევად, თუ რა მოხდა კონკრეტულად, როგორ გაკეთდა ეს და რა უნდა გაკეთდეს შეჭრის შედეგებთან მოსაგვარებლად.

თავდამსხმელის შეჭრის აღმოსაჩენად ჟურნალის ფაილების გამოყენების ერთ-ერთი ყველაზე ცნობილი შემთხვევაა ცნობილი ჰაკერის კევინ მიტნიკის კომპიუტერული უსაფრთხოების სპეციალისტის ცუომო შიმომურას მიერ დაჭერის ამბავი. აქ არის ერთი პუნქტი სტატიიდან, სადაც აღწერილია როგორ მოხდა ეს.

შობის დღეს, როდესაც შიმომურა შვებულებაში ნევადაში თხილამურებით სათხილამუროდ წავიდა, ვიღაც (ჩვენ უკვე ვიცით ვინ) შეიჭრა მის სუპერუსაფრთხო სახლის კომპიუტერში სოლანა ბიჩში, კალიფორნია და დაიწყო მისი ფაილების კოპირება - ასობით საიდუმლო ფაილი. სან დიეგოდან. სუპერკომპიუტერის ცენტრმა, სადაც შიმომურა მუშაობდა, შეამჩნია ცვლილებები სისტემის "log" (log) ფაილებში და სწრაფად გააცნობიერა რა ხდებოდა. სარეზერვო კომპიუტერზე სან დიეგოში. სტუდენტმა დაურეკა შიმომურას და ის სახლში გაიქცა მოპარული საქონლის ინვენტარიზაციისთვის. .

აქ მთელ ამბავს არ მოვყვები, ჩვენთვის მნიშვნელოვანია მხოლოდ ის, რომ სისტემის მუშაობის ოქმების ანალიზი დაედო საფუძვლად უკანონო ქმედებების გამოძიების წარმატებას. უფრო დეტალური აღწერა, თუ როგორ ტარდება ასეთი გამოკვლევები, შეგიძლიათ იხილოთ სტატიაში. მაგრამ იმისათვის, რომ შეძლოთ ჟურნალის შედეგების გამოყენება, თქვენ უნდა გესმოდეთ, თუ როგორ იქმნება პროტოკოლები, სად ინახება ისინი და რისი ამოღება შეიძლება მათგან. ეს სტატია ეძღვნება ყველა ამ კითხვის განხილვას.

როგორ იქმნება შეტყობინებები პროტოკოლისთვის

ჩვენ უნდა დავიწყოთ იმით, რომ C ენაზე პროგრამების შექმნისას პროგრამისტებს აქვთ შესაძლებლობა, საჭიროების შემთხვევაში, ჩასვან სპეციალური ფუნქციების გამოძახება. openlog, setlogmask, syslogდა ახლოლოგიშედის სტანდარტულ C ბიბლიოთეკაში. ეს ფუნქციები გამოიყენება პროგრამის შესრულებისას გარკვეული მოვლენების შესახებ შეტყობინებების გასაგზავნად სპეციალურ სისტემურ დემონზე. syslogdხელმძღვანელობს სისტემის პროტოკოლს. ფუნქცია openlogამყარებს კავშირს დემონთან syslogd, ფუნქცია syslogქმნის კონკრეტულ შეტყობინებას, რომელიც უნდა ჩაიწეროს პროტოკოლში და ფუნქცია ახლოლოგიხურავს ღია ბმულს.

ფუნქციის მიერ გენერირებული შეტყობინებები syslog, შედგება რამდენიმე ველისაგან, რომლებიც გამოყოფილია სივრცეებით. ყოველი შეტყობინება იწყება ველით PRI, რომელიც დაშიფრავდა ინფორმაციას დაწესებულების კატეგორიისა და შეტყობინების სიმძიმის დონის ან პრიორიტეტის შესახებ.

კატეგორია (დაწესებულება) არის ინფორმაცია იმის შესახებ, თუ რომელ კლასს ეკუთვნის მოცემული შეტყობინება. კატეგორია დაშიფრულია რიცხვით 0-დან 23-მდე. არსებობს შემდეგი კატეგორიები (ისინი მითითებულია ფაილში /usr/include/sys/syslog.h):

ცხრილი 1.

რიცხვითი მნიშვნელობასიმბოლოგაშიფვრა
0 კერნი ბირთვის შეტყობინებები
1 მომხმარებელი განკუთვნილია მომხმარებლის პროგრამების სხვადასხვა შეტყობინებებისთვის. (შეტყობინებები მომხმარებლის პროგრამებიდან)
2 ფოსტა შეტყობინებები საფოსტო სისტემიდან.
3 დემონი შეტყობინებები იმ სისტემური დემონებისგან, რომლებსაც, FTP-სა და LPR-ისგან განსხვავებით, არ აქვთ კონკრეტული კატეგორიები.
4 ავტორიზაცია ყველაფერი, რაც დაკავშირებულია მომხმარებლის ავტორიზაციასთან, როგორიცაა შესვლა და სუ (უსაფრთხოება / წვდომის უფლებები)
5 syslog ჟურნალის სისტემას შეუძლია საკუთარი თავისგან შეტყობინებების ჩაწერა.
6 ლპრ შეტყობინებები ბეჭდვის სისტემიდან.
7 ახალი ამბები შეტყობინებები ახალი ამბების სერვერიდან. (Netnews, USENET)
8 uucp შეტყობინებები UNIX-დან UNIX-ის ასლის პროტოკოლიდან. ეს არის UNIX-ის ისტორიის ნაწილი და დიდი ალბათობით, ის არასოდეს დაგჭირდებათ (თუმცა, გარკვეული ფოსტა მაინც მიწოდებულია UUCP-ის საშუალებით).
9 კრონ შეტყობინებები სისტემის განრიგისგან.
10 ავტორიზაცია იგივეა, რაც ავტორიზაცია, მაგრამ ამ კატეგორიის შეტყობინებები იწერება ფაილში, რომლის წაკითხვაც მხოლოდ რამდენიმე მომხმარებელს შეუძლია (შესაძლოა, ეს კატეგორია მონიშნულია, რადგან მას კუთვნილი შეტყობინებები შეიძლება შეიცავდეს მომხმარებლის ღია პაროლებს, რომლებიც არ უნდა ნახონ არაავტორიზებული ადამიანებისთვის, და, შესაბამისად, ჟურნალის ფაილებს უნდა ჰქონდეთ შესაბამისი ნებართვები).
11 ftp ამ კატეგორიის საშუალებით შეგიძლიათ დააკონფიგურიროთ თქვენი FTP სერვერი, რომ ჩაიწეროს მისი მოქმედებები.
12-დან 15-მდე - დაცულია სისტემის გამოყენებისთვის.
16-დან 23-მდელოკალური0 - ადგილობრივი7 კატეგორიები დაცულია სისტემის ადმინისტრატორის მიერ გამოსაყენებლად. local7 კატეგორია ჩვეულებრივ გამოიყენება სისტემის ჩატვირთვის ფაზის დროს გენერირებული შეტყობინებებისთვის.

კატეგორია ავტორიზაციააქვს მოძველებული სინონიმი უსაფრთხოებარომლის გამოყენება არ არის რეკომენდებული. გარდა ამისა, არსებობს სპეციალური კატეგორია ნიშანი(არ აქვს ციფრული ეკვივალენტი), რომელიც ენიჭება თავად დემონის მიერ გენერირებულ ინდივიდუალურ შეტყობინებებს syslogd... ეს კატეგორია გამოიყენება პროტოკოლში სპეციალური ნიშნების დასაყენებლად განსაზღვრული დროის ინტერვალით (ნაგულისხმევად, ყოველ 20 წუთში), რაც საშუალებას გაძლევთ, მაგალითად, იცოდეთ 20 წუთიანი სიზუსტით, როდის არის თქვენი კომპიუტერი გაყინული.

გაითვალისწინეთ, რომ კატეგორიას ზოგადად არაფერი აქვს საერთო პროგრამის სახელთან, რომელიც აგზავნის შეტყობინებებს დემონს. syslogd... როგორც ამბობენ, ნებისმიერი დამთხვევა სუფთა დამთხვევაა. უფრო მეტიც, ზოგიერთ პროგრამას შეუძლია სხვადასხვა კატეგორიის შეტყობინებების გენერირება. მაგალითად, დემონი telnetdჩაწერის წარუმატებელი მცდელობის შემთხვევაში, წარმოქმნის კატეგორიის შეტყობინებებს ავტორიზაცია, და სხვა შემთხვევებში ანაწილებს თავის პოსტებს დემონი.

მეორე პარამეტრი, რომლის საფუძველზეც იქმნება ველის მნიშვნელობა PRI, არის გზავნილის დონე ან პრიორიტეტი (პრიორიტეტი), ანუ ინფორმაცია შეტყობინების მნიშვნელოვნების ხარისხის შესახებ. სტანდარტულად დაყენებულია 8 სიმძიმის დონე (ისინი ასევე მითითებულია ფაილში /usr/include/sys/syslog.h), რომლებიც დაშიფრულია 0-დან 7-მდე რიცხვებით:

ცხრილი 2.

რიცხვითი მნიშვნელობასიმბოლო გაშიფვრა
0 აღმოცენდება(ძველი სახელი PANIC) გადაუდებელი. სისტემა უმოქმედოა.
1 გაფრთხილება შფოთვა! საჭიროა სასწრაფო ჩარევა.
2 კრიტი ფატალური შეცდომა (კრიტიკული მდგომარეობა).
3 ცდება(ძველი სახელი ERROR) შეცდომის შეტყობინება.
4 გაფრთხილება(ძველი სახელი WARN)გაფრთხილება.
5 შენიშვნა ინფორმაცია რაიმე ნორმალური, მაგრამ მნიშვნელოვანი მოვლენის შესახებ.
6 ინფორმაცია განცხადება.
7 გამართვა გამართვის დროს წარმოქმნილი შეტყობინებები.

ველი PRIშეტყობინება ყალიბდება შემდეგნაირად: კატეგორიის რიცხვითი მნიშვნელობა მრავლდება 8-ზე და ემატება პრიორიტეტის რიცხვით მნიშვნელობას, შედეგად მიღებული რიცხვი ჩასმულია კუთხის ფრჩხილებში და იწერება ველში.

მინდორს მიჰყვება PRIშეტყობინებაში შედის შემდეგი ველები:

  • TIMESTAMP- შეტყობინების ფორმირების დრო,
  • ᲛᲐᲡᲞᲘᲜᲫᲚᲘᲡ ᲡᲐᲮᲔᲚᲘ- ჰოსტის სახელი ან IP მისამართი ათობითი აღნიშვნით,
  • MSG- შეტყობინების თვითნებური ტექსტი - ზოგიერთი ტექსტური (ინფორმაციული) სტრიქონი US-ASCII კოდში (0x20 - 0x7e).

დრო (ადგილობრივი!) იწერება ფორმატში: თებერვალი 13 21:12:06. თუ დღის ნომერი ერთნიშნა რიცხვია, მაშინ მის წინ იდება დამატებითი სივრცე (არა 0!). ყურადღება მიაქციეთ წელიწადის და ზონის არარსებობას თარიღში, რაც უნდა იყოს გათვალისწინებული ორგანიზებისას გრძელვადიანი შენახვაჟურნალის ფაილები. იმისათვის, რომ შეტყობინებაში დრო იყოს სწორი, ის უნდა იყოს სინქრონიზებული (მაგალითად, NTP პროტოკოლის გამოყენებით).

ჰოსტის სახელი შედის შეტყობინებაში, რათა არ მოხდეს სხვადასხვა ჰოსტების შეტყობინებები აღრეული, რადგან, როგორც ქვემოთ იქნება ნაჩვენები, შესვლა შეიძლება განხორციელდეს ქსელის ერთ-ერთ გამოყოფილ კომპიუტერზე. ჰოსტის სახელი არის კომპიუტერის მარტივი ქსელის სახელი, დომენის მითითების გარეშე. თუ კომპიუტერს აქვს რამდენიმე ინტერფეისი სხვადასხვა IP მისამართით, მაშინ ნებისმიერი მათგანი შეიძლება გამოყენებულ იქნას როგორც ჰოსტის სახელი ან მისამართი.

შეტყობინების ტექსტი ( MSG) ჩვეულებრივ შეიცავს ეტიკეტს ( TAG), მიუთითებს პროგრამაზე ან პროცესზე, რომელმაც გაავრცელა ეს შეტყობინება, და შეტყობინების ტექსტი ( შინაარსი). ეტიკეტი შეიძლება შეიცავდეს ლათინურ ასოებსა და ციფრებს. როგორც წესი, მარტივი პროგრამის სახელი გამოიყენება ლეიბლის სახით, რომელსაც ზოგჯერ მოჰყვება პროცესის იდენტიფიკატორი, რომელიც ჩასმულია კვადრატულ ფრჩხილებში. შეტყობინების ტექსტი გამოყოფილია ეტიკეტისგან სპეციალური სიმბოლოებით - Linux-ში ეს ჩვეულებრივ არის ორწერტილი და სივრცე.

Syslogd შეტყობინებების დამუშავება

ყველა შეტყობინება გენერირებულია ინდივიდუალური პროგრამებიფუნქციის გამოყენებით syslogგაგზავნილია სოკეტის საშუალებით / dev / ჟურნალისისტემის დემონი syslogdვინც პასუხისმგებელია ამ შეტყობინებების დამუშავებაზე. უნდა ითქვას, რომ, ფაქტობრივად, სისტემაზე ამოქმედდა ორი დემონი - syslogdდა კგდ... ორივე დემონი შედის პაკეტში sysklogd, რომლის უახლესი ვერსია შეგიძლიათ იხილოთ ვებგვერდზე.

დემონი კგდპასუხისმგებელია სისტემის ბირთვში მომხდარი მოვლენების აღრიცხვაზე. ცალკე დემონის საჭიროება კგდაიხსნება იმით, რომ ბირთვს არ შეუძლია სტანდარტული ფუნქციის გამოყენება syslog... ფაქტია, რომ სტანდარტული ბიბლიოთეკები (მათ შორის ბიბლიოთეკა, რომელშიც ფუნქცია მდებარეობს syslog) განკუთვნილია მხოლოდ საერთო აპლიკაციებისთვის გამოსაყენებლად. ვინაიდან ბირთვს ასევე სჭირდება მსგავსი ფუნქციები, ის მოიცავს საკუთარ ბიბლიოთეკებს, რომლებიც მიუწვდომელია აპლიკაციებისთვის. ამიტომ, ბირთვი იყენებს შეტყობინების გენერირების საკუთარ მექანიზმს. დემონი კგდშექმნილია ამ შეტყობინებების დამუშავების ორგანიზებისთვის. პრინციპში, მას შეუძლია განახორციელოს ასეთი დამუშავება სრულიად დამოუკიდებლად და დამოუკიდებლად syslogd, მაგალითად, ამ შეტყობინებების ფაილში ჩაწერით, მაგრამ უმეტეს შემთხვევაში გამოიყენება ნაგულისხმევი პარამეტრი კგდსადაც ყველა შეტყობინება ბირთვიდან გადაგზავნილია იმავე დემონზე syslogd.

დემონების დასარწმუნებლად syslogdდა კგდმუშაობს თქვენს სისტემაზე, გაუშვით ბრძანება ps -ax | grep ჟურნალი... ამ ბრძანებამ მომცა შემდეგი შედეგი:

$ ps -ax | grep ჟურნალი 569? S 0:00 syslogd -m 0 574? S 0:00 კგ -x 1013? S 0:00 შესვლა - kos 1191? S 0:00 kalarmd --login პირველი ორი სტრიქონი მიუთითებს, რომ სისტემაში გაშვებული დემონები მუშაობენ.

Daemon Handling Messages syslogdმდგომარეობს იმაში, რომ ის მუდმივად აკონტროლებს შეტყობინებების გარეგნობას და ადარებს თითოეულ მიღებულ ჩანაწერს ფაილში არსებულ წესებთან. /etc/syslog.conf... თითოეული წესი იწერება ფაილის ხაზის სახით /etc/syslog.confშედგება ორი ველისაგან. მარცხენა ველი ("სელექტორი") განსაზღვრავს ერთ ან რამდენიმე შაბლონს, რომლითაც შეირჩევა შეტყობინებები. შაბლონები გამოყოფილია მძიმით (იხ. ქვემოთ მოცემული ფაილის მაგალითი /etc/syslog.conf). მარჯვენა ზღვარი ("მოქმედება") განსაზღვრავს შერჩეული შეტყობინებების დამუშავების თანმიმდევრობას. ველები გამოყოფილია ერთი ან მეტი სივრცეებით ან ჩანართებით.

„სელექტორის“ ველში თითოეულ შაბლონს აქვს ფორმა „category.level“ (ანუ „facility.priority“). "კატეგორიის" ველის მნიშვნელობები შეიძლება იყოს:

  • ცხრილში 1-ში ჩამოთვლილი კატეგორიების ერთ-ერთი ჩვეულებრივი სახელწოდება,
  • რამდენიმე ასეთი სახელი (ამ შემთხვევაში ისინი გამოყოფილია მძიმეებით)
  • ან * სიმბოლო (რაც ნიშნავს "ყველა კატეგორიას").

"დონის" ველის მნიშვნელობები შეიძლება იყოს:

  • მე-2 ცხრილში ჩამოთვლილი დონის ერთ-ერთი პირობითი სახელი,
  • სიმბოლო * (ჩაწერეთ ამ კატეგორიის ყველა შეტყობინება, დონის მიუხედავად),
  • ან სიტყვა არცერთი(არ ჩაიწეროთ შეტყობინებები ამ კატეგორიაში).

"დონის" ველში კონკრეტული მნიშვნელობის მითითება ინტერპრეტირებულია, როგორც "ამ დონის და ზემოთ ყველა მნიშვნელობა". თუ მხოლოდ ერთი დონის შეტყობინებების ჩაწერა გჭირდებათ, მაშინ მითითებული მნიშვნელობის წინ უნდა დააყენოთ ტოლობის ნიშანი ("="). თუ გსურთ ჩაწეროთ ყველა დონის შეტყობინებები, გარდა მითითებულისა, მაშინ დონის დასახელების წინ იდება ძახილის ნიშანი ("!"). ამ ორი ნიშნის ერთდროულად განთავსება ინტერპრეტირებულია, როგორც „არ ჩაიწერო მითითებულ დონეზე ან უფრო მაღალი შეტყობინებები“.

"სელექტორის" ველში დიდი და პატარა ასოები არ განსხვავდება. თქვენ ასევე შეგიძლიათ გამოიყენოთ ნომრები (იხ. /usr/include/syslog.h). ცხრილში 1-ში ჩამოთვლილი კატეგორიების გარდა, ნიშანი(რეგულარული დროის ანაბეჭდები) და უსაფრთხოება(მოძველებული სინონიმი ავტორიზაცია). მე-2 ცხრილში ჩამოთვლილი პრიორიტეტული მნიშვნელობების გარდა, შეგიძლიათ გამოიყენოთ გაფრთხილება(სინონიმი გაფრთხილება), შეცდომა(სინონიმი ცდება), პანიკა(სინონიმი აღმოცენდება).

როდესაც მიღებული შეტყობინების კატეგორია და დონე ემთხვევა რომელიმე სტრიქონის „სელექტორის“ ველის ერთ-ერთ შაბლონს, syslogdამუშავებს ჩანაწერს ამ ხაზის „მოქმედების“ ველში მითითებული მოქმედების შესაბამისად.

"მოქმედების" ველი შეიძლება შეიცავდეს

  • უნდა იყოს მითითებული ჩვეულებრივი ფაილის სახელი (log ფაილი) და ფაილის სრული გზა, დაწყებული root "/"-ით და თუ მითითებული ფაილი არ არსებობს, syslogdქმნის მას,
  • დასახელებული მილის სახელი - FIFO; ამ შემთხვევაში ვერტიკალური ზოლი ("|") მოთავსებულია სახელის წინ და თავად არხი უნდა შეიქმნას დაწყებამდე. syslogdგუნდი mkfifo,
  • მიუთითებს ტერმინალზე ან კონსოლზე (როგორც მოწყობილობა: / dev / tty1),
  • მითითება დისტანციურ ჰოსტზე (წინასწრებს @ სიმბოლო),
  • ან მომხმარებელთა სია (მძიმით გამოყოფილი), რომელთა ტერმინალებზეც გაიგზავნება შეტყობინება ამ წესის მიხედვით. მომხმარებელთა სიის ნაცვლად შეგიძლიათ განათავსოთ ვარსკვლავი (*), რაც ნიშნავს, რომ შეტყობინებები ეგზავნება ყველა მომხმარებელს, რომელიც მუშაობს ამ მომენტშისისტემაში.

ყველაზე ხშირად, "მოქმედების" ველი კვლავ შეიცავს ჟურნალის ფაილის სახელს. გარდა ამისა, თქვენ შეგიძლიათ დააყენოთ მინუს ნიშანი ("-") ფაილის სახელის წინ, რაც ნიშნავს, რომ სისტემას შეუძლია შეინახოს ფაილი ქეშის ბუფერში და არ გაასუფთავოს იგი ყოველი შეტყობინების დისკზე ჩაწერის შემდეგ. ეს, რა თქმა უნდა, აჩქარებს მუშაობას, განსაკუთრებით იმ შემთხვევაში, თუ ბევრი დიდი შეტყობინება იწერება ჟურნალში, მაგრამ ამან შეიძლება გამოიწვიოს ზოგიერთი შეტყობინების დაკარგვა სისტემის მოულოდნელი ავარიის შემთხვევაში, ანუ ზუსტად მაშინ, როდესაც ასეთი შეტყობინებები განსაკუთრებით საჭიროა. . თქვენ ასევე შეგიძლიათ მიუთითოთ პრინტერი - / dev / lp0, როგორც მოწყობილობა "მოქმედების" ველში. "მოქმედების" ეს ვარიანტი მიზანშეწონილია გამოიყენოთ იმ შემთხვევებში, როდესაც საქმე ეხება განსაკუთრებით მნიშვნელოვან სისტემებს. დაბეჭდილი პროტოკოლები არ შეიძლება წაიშალოს ან შეიცვალოს ჰაკერების მიერ, ამიტომ ეს კარგი გამოყენებაა ძველი წერტილოვანი მატრიცის პრინტერისთვის.

გარდა ფაილში არსებული წესების მქონე ხაზებისა /etc/syslog.confშეიძლება შეიცავდეს ცარიელ ხაზებს და კომენტარების ხაზებს, რომლებიც იწყება #-ით. მეტი ფაილის სტრუქტურის შესახებ /etc/syslog.confშეგიძლიათ წაიკითხოთ syslog.conf კაცის გვერდი ამ ფაილში წესების ჩანაწერების რამდენიმე მაგალითისთვის. გაითვალისწინეთ, რომ ფაილში "category.level" წყვილების მითითებისას syslog.confთქვენ არ შეგიძლიათ გამოიყენოთ 1 და 2 ცხრილებში მოცემული რიცხვითი მნიშვნელობები, დასაშვებია მხოლოდ მათი ჩვეულებრივი სახელები.

თუ შეტყობინება ემთხვევა ორი ან მეტი ხაზის ნიმუშებს, ის დამუშავდება თითოეული ამ წესის მიხედვით (ანუ შეტყობინების დამუშავება არ ჩერდება პირველ წარმატებაზე). ეს ნიშნავს, რომ მოქმედებების თვითნებური რაოდენობა შეიძლება შესრულდეს ერთი შეტყობინებისთვის. აქედან გამომდინარე, თქვენ შეგიძლიათ დაწეროთ შეტყობინება ჟურნალის ფაილში და გაუგზავნოთ ის მომხმარებელს (მომხმარებლებს) ან დისტანციურ ჰოსტს.

გარდა ამისა, თუ რამდენიმე „category.level“ წყვილი ჩამოთვლილია „სელექტორის“ ველში (გამოყოფილია მძიმით), მაშინ მომდევნო წყვილებს შეუძლიათ გააუქმონ წინა მოქმედებები. თქვენ შეგიძლიათ ნახოთ ასეთი გაუქმების მაგალითი ქვემოთ მოცემულ ფაილში /etc/syslog.conf: ყველა შეტყობინება, რომლის დონეც ტოლია ან აღემატება ინფორმაციას, იწერება ფაილში / var / log / შეტყობინებებში, მაგრამ კატეგორიების mail, authpriv და cron შეტყობინებები გამოტოვებულია (არ იწერება).

ჩამონათვალი 1. ფაილი /etc/syslog.conf Red Hat Linux 7.1 სადისტრიბუციო ნაკრების საფუძველზე აგებული სისტემიდან (მე ახლახან ვთარგმნე რუსულად ამ ფაილში მოცემული კომენტარები და შევარჩიე თამამადწესების ხაზები).
# დაბეჭდეთ ყველა შეტყობინება ბირთვიდან კონსოლში. # ბირთვი. * / dev / კონსოლი# დაარეგისტრირეთ ინფორმაციის დონის ან უფრო მაღალი დონის ყველა შეტყობინება, # გარდა ფოსტის შეტყობინებებისა, რომლებიც შეიცავს კონფიდენციალურ # ავტორიზაციის შეტყობინებებს და cron შეტყობინებებს. * .info; mail.none; authpriv.none; cron.none / var / log / შეტყობინებები# ჩაწერეთ კონფიდენციალური # ავთენტიფიკაციის ინფორმაციის შემცველი შეტყობინებები ცალკე ფაილში, მიუხედავად მათი დონისა. authpriv. * / var / ჟურნალი / უსაფრთხო# საფოსტო სისტემის ყველა შეტყობინება ასევე უნდა ჩაიწეროს ცალკე. ფოსტა * / var / log / maillog# დაარეგისტრირეთ კრონის დემონის მოქმედებები. cron. * / var / log / cron# გადაუდებელი შეტყობინებები დაუყოვნებლივ უნდა მიიღონ # სისტემის ყველა მომხმარებელმა * .წარმოება *# შეტყობინებები კრიტი დონის და უფრო მაღალი საინფორმაციო სერვისებიდან უნდა ჩაიწეროს ცალკე ფაილში. uucp, news.crit / var / log / spooler# ჩატვირთვის ფაზის დროს ნაჩვენები შეტყობინებები უნდა დაკოპირდეს boot.log ფაილში local7. * /var/log/boot.log
როგორც ხედავთ, შეტყობინებების უმეტესობა უბრალოდ იწერება დირექტორიაში მდებარე სხვადასხვა ჟურნალის ფაილებში / var / ჟურნალიან მისი ქვედირექტორიები და Red Hat Linux-ის ძირითადი სისტემის ჟურნალის ფაილი არის ფაილი / var / ჟურნალი / შეტყობინებები... მასში არ შედის მხოლოდ ფოსტის, authpriv და cron კატეგორიების შეტყობინებები (რისთვისაც ცალკე ფაილებია გამოყოფილი). მოდით შევხედოთ ამ ფაილს და მისი მაგალითის გამოყენებით განვიხილოთ რა წერია ჟურნალის ფაილებში.

ჟურნალის ფაილი / var / ჟურნალი / შეტყობინებები

რა თქმა უნდა, ამ ფაილის თითოეული სტრიქონის შინაარსის შესახებ აქ ვერ ვიტყვით. იმისათვის, რომ მკითხველმა მიიღოს წარმოდგენა იმის შესახებ, თუ რა ინფორმაცია შეიძლება მოიძებნოს პროტოკოლში, წარმოგიდგენთ ცალკეული შეტყობინების ხაზებს ძალიან მოკლე კომენტარებით.

ჟურნალის ფაილში თითოეული სტრიქონი შეიცავს ერთი შეტყობინების ჩანაწერს, რომელიც შედგება შემდეგი შეტყობინების ველებისგან, გამოყოფილი სივრცეებით:

  • თარიღი სტანდარტული ტექსტის ფორმატში (ველი TIMESTAMPპოსტიდან syslog),
  • მასპინძლის სახელი (ველი ᲛᲐᲡᲞᲘᲜᲫᲚᲘᲡ ᲡᲐᲮᲔᲚᲘპოსტიდან syslog)
  • შეტყობინების ტექსტი (ველები TAGდა შინაარსიპოსტიდან syslog)

პირველ რიგში, აღსანიშნავია, რომ თუ თქვენი კომპიუტერი არ მუშაობს საათის განმავლობაში, მაგრამ გამორთულია ღამით, მაშინ ამ ფაილში შეგიძლიათ იპოვოთ ჩანაწერები რამდენიმე "სამუშაო ციკლის" შესახებ, დაწყებული კომპიუტერის გაშვებით და დამთავრებული მისი გამორთვით. ასეთი ციკლი იწყება შეტყობინებებით ჭრის დემონების დაწყების შესახებ (ეს გასაგებია, სანამ ისინი დაიწყებდნენ, შეტყობინებები არ იყო ჩაწერილი):

სექტემბერი 17 08:32:56 kos3 syslogd 1.4-0: გადატვირთვა. სექტემბერი 17 08:32:56 kos3 syslog: syslogd წარმატებას მიაღწია სექტემბერი 17 08:32:56 kos3 ბირთვი: klogd 1.4-0, ჟურნალის წყარო = / proc / kmsg დაიწყო. სექტემბერი 17 08:32:56 kos3 ბირთვი: ინსპექტირება /boot/System.map-2.4.2-2 სექ 17 08:32:56 kos3 syslog: დაწყება klogd წარმატებით დასრულდა

  • - ბირთვის რომელი ვერსიაა გამოყენებული: სექტემბერი 17 08:32:56 kos3 ბირთვი: Linux ვერსია 2.4.2-2 ( [ელფოსტა დაცულია]) (gcc ვერსია 2.96 20000731 (Red Hat Linux 7.1 2.96-79)) # 1 კვირა 8 აპრილი 20:41:30 EDT 2001 წ.
  • - რა პარამეტრებით დაიწყო ბირთვი: სექტემბერი 17 08:32:56 kos3 kernel: Kernel ბრძანების ხაზი: ავტომატური BOOT_IMAGE = Linux ro root = 303 BOOT_FILE = / boot / vmlinuz-2.4.2-2
  • - ინფორმაცია პროცესორის ტიპისა და ოპერატიული მეხსიერების ოდენობის შესახებ: Sep 17 08:32:56 kos3 kernel: აღმოჩენილია 1594.849 MHz პროცესორი. სექტემბერი 17 08:32:56 kos3 ბირთვი: მეხსიერება: 125652k / 130560k ხელმისაწვდომი (1365k ბირთვის კოდი, 4200k დაჯავშნილი, 92k მონაცემები, 236k init, 0k მაღალი mem) სექტემბერი 17 06:3K32ker1 , L1 D ქეში: 8K სექ 17 08:32:56 kos3 ბირთვი: CPU: L2 ქეში: 256K სექ 17 08:32:56 kos3 ბირთვი: CPU: Intel (R) Pentium (R) 4 CPU 1.60GHz სტეპინგი 02
  • - დისკის მეხსიერების ინფორმაცია (მათ შორის, ინფორმაცია დისკის გეომეტრიის, დისკის დანაყოფის სტრუქტურისა და გამოყენებული შეფერხებების შესახებ): სექტემბერი 17 08:32:56 kos3 ბირთვი: hda: MAXTOR 6L020J1, ATA DISK დრაივერი 17 სექტ. 08:32:56 kosd3 kernel: AMSUh CD-ROM SC-148C, ATAPI CD / DVD-ROM დისკი სექტემბერი 17 08:32:56 kos3 ბირთვი: ide0 at 0x1f0-0x1f7,0x3f6 irq 14 სექტემბერი 17 08:32:56 kos3 ბირთვი: 1 ide170x0 0x376 irq 15 სექტემბერი 17 08:32:56 kos3 ბირთვი: hda: 40132503 სექტორები (20548 მბ) w / 1819 KiB ქეში, CHS = 2498/255/63, UDMA: 370 პ. შეამოწმეთ: სექტემბერი 17 08:32:56 kos3 ბირთვი: hda: hda1 hda2 hda3 hda4< hda5 hda6 hda7 >17 სექტემბერი 08:32:56 kos3 ბირთვი: ფლოპი დისკი (s): fd0 არის 1.44M
  • - პერიფერიული ინფორმაცია: სექტემბერი 17 08:32:56 kos3 ბირთვი: usb-uhci.c: USB UHCI ზე I/O 0x1820, IRQ 11 სექტ. 17 08:32:56 kos3 ბირთვი: usb-uhci.c: აღმოჩენილია 2 პორტი სექ. 17 08:32:56 kos3 ბირთვი: ttyS00 0x03f8-ზე (irq = 4) არის 16550A Sep 17 08:32:56 kos3 ბირთვი: ttyS01 0x02f8-ზე (irq = 3) არის 16550A Sep 17 08:32:56 kos3 ბირთვი: ttyS01 0x02f8-ზე (irq = 3) არის 05:33150 Sep. : eth0: Intel (R) 8255x-ზე დაფუძნებული Ethernet ადაპტერი სექტემბერი 17 08:32:56 kos3 ბირთვი: Intel (R) PRO / 100 Fast Ethernet ადაპტერი - ჩატვირთვადი დრაივერი, ვერსია 1.5.6 Sep 17 08:32:56 kos3 kernel: PCI: ნაპოვნია IRQ 11 მოწყობილობისთვის 02: 08.0
  • - ინფორმაცია ინდივიდუალური სერვისებისა და სერვისების დაწყების შესახებ: სექტემბერი 17 08:32:56 kos3 ბირთვი: NET4: Linux TCP / IP 1.0 NET4.0-სთვის სექტემბერი 17 08:32:56 kos3 ბირთვი: IP პროტოკოლები: ICMP, UDP, TCP, IGMP 17 სექტემბერი 08:32:56 kos3 ბირთვი: NET4: Unix დომენის სოკეტები 1.0 / SMP Linux NET4.0-სთვის. სექტემბერი 17 08:32:56 kos3 ბირთვი: parport0: კომპიუტერის სტილი 0x378 (0x778) სექტემბერი 17 08:32:56 kos3 ბირთვი: parport0: irq 7 აღმოჩენილია სექტემბერი 17 08:32:42 kos3 rc.sysinit და ჯგუფური კვოტები ლოკალური ფაილური სისტემებისთვის: წარმატებით სექტემბერი 17 08:32:43 kos3 rc.sysinit: ჩართვა სვოპ სივრცის ჩართვა: წარმატებით 17 სექტემბერი 08:32:44 kos3 დაწყება: შესვლის პერსპექტიული დონე: 3 სექტემბერი 17 08:32:45 განახლება kosz3 / etc / fstab წარმატებით სექტემბერი 17 08:32:55 kos3 kudzu: წარმატებით სექტემბერი 17 08:32:55 kos3 ქსელი: ქსელის პარამეტრების დაყენება: წარმატებით სექტემბერი 17 08:32:55 kos3 ქსელი: ინტერფეისის გაზრდა lo: წარმატებით სექტემბერი 17 08 : 32:56 kos3 ქსელი: ინტერფეისი eth0 გააქტიურებულია: წარმატებით დასრულდა სექტემბერი 17 08:32:56 kos3 კლავიატურის მაგიდა: იტვირთება კლავიატურის განლაგება: სექტემბერი 17 08:32:56 kos3 კლავიატურა: იტვირთება სისტემის შრიფტი: სექტემბერი 17 08:33 random: : ახდენს შემთხვევითი რიცხვების გენერატორის ინიციალიზაციას: წარმატებით სექტემბერი 17 08:32:41 kos3 rc.sysinit: ბირთვის პარამეტრების კონფიგურაცია: წარმატებით სექტემბერი 17 08:32:41 kos3 rc.sysinit: ნაგულისხმევი შრიფტის დაყენება (cyr-sun16): წარმატებით Sep 17 08:32:41 kos3 rc.sysinit: გააქტიურებულია swap დანაყოფები: წარმატებით განხორციელდა სექტემბერი 17 08:32:41 kos3 rc.sysinit: ჰოსტის სახელის დაყენება kos3: წარმატებით 17 სექტემბერი 08:33:03 kos3 xinetd: დაწყება Sep8 xinetd წარმატებით დასრულდა. 33:05 kos3 gpm: დაწყება gpm წარმატებით Sep 17 08:33:05 kos3 crond: start crond წარმატებით Sep 17 08:33:06 kos3 xfs: მოსმენა პორტზე 7100 Sep 17 08:33:06 kos3 xfs წარმატებით: დაწყება xfs
  • - ინფორმაცია ფაილური სისტემების დამონტაჟების შესახებ: სექტემბერი 17 08:32:56 kos3 ბირთვი: VFS: დამონტაჟებული root (ext2 ფაილური სისტემა) მხოლოდ წასაკითხად. სექტემბერი 17 08:32:56 kos3 ბირთვი: დამატება Swap: 265032k swap-space (პრიორიტეტი -1) ​​Sep 17 08:32:56 kos3 kernel: MSDOS FS: კოდგვერდის გამოყენება 866 Sep 17 08:32:32:FSDSkernel: : IO charset koi8-r სექტ. 17 08:32:41 kos3 rc.sysinit: USB ფაილური სისტემის დამონტაჟება: წარმატებით განხორციელდა სექტემბერი 17 08:32:41 kos3 rc.sysinit: root ფაილური სისტემის შემოწმება წარმატებით დასრულდა სექტ. 17 08:32:41 sysinit3 rc. : root ფაილური სისტემის ხელახლა დამონტაჟება წაკითხვის-ჩაწერის რეჟიმში: წარმატებით განხორციელდა სექტემბერი 17 08:32:41 kos3 rc.sysinit: proc ფაილური სისტემის დამონტაჟება: წარმატებით სექტემბერი 17 08:32:41 kos3 fsck: /: სუფთა, 30407/1600001 ფაილი, 9015 ბლოკები სექტემბერი 17 08:32:42 kos3 fsck: / HOME: სუფთა, 6573/432864 ფაილი, 689090/863722 ბლოკები სექტემბერი 17 08:32:42 kos3 fsck: / usr: სუფთა, 55105858 სექ. 17 08:32:42 kos3 rc.sysinit: ფაილური სისტემების შემოწმება წარმატებით დასრულდა
  • - შეტყობინებულია შეცდომის შესახებ შეტყობინებები: სექტემბერი 17 08:32:42 kos3 დამაგრება: SMB კავშირი ვერ მოხერხდა სექტემბერი 17 08:32:42 kos3 დამონტაჟება: პაკეტის გაგზავნა ვერ მოხერხდა 10.104.129.245 (137) ERRNO = ქსელი მიუწვდომელია სექ 12: 08: 42 kos3 სამონტაჟო: დამონტაჟება: / dev / sda4: უცნობი მოწყობილობა სექტემბერი 17 08:32:59 kos3 დამაგრება: შეცდომა 192.168.36.20:139-თან დაკავშირებისას (მასპინძლის მარშრუტი არ არის) სექტემბერი 17 08:32:59 kos3 მონტაჟი: დამაგრება: / dev / sda4: უცნობი მოწყობილობა
  • - შეტყობინებები მომხმარებლის ჟურნალის შესახებ: სექტემბერი 17 08:33:14 kos3 შესვლა (pam_unix): სესია გახსნილია მომხმარებლის kos-ისთვის LOGIN-ით (uid = 0) სექტემბერი 17 08:33:14 kos3 - kos: LOGIN ON tty1 BY kos სექტემბერი 17 08 :41:39 kos3 su (pam_unix): ავთენტიფიკაციის წარუმატებლობა; logname = kos uid = 500 euid = 0 tty = ruser = rhost = მომხმარებელი = root
  • - და ბოლოს, კომპიუტერის გამორთვის დროს ჩაწერილი შეტყობინებები, მაგალითად: Sep 17 10:30:07 kos3 rc: შეჩერება keytable: წარმატებით Sep 17 10:30:07 kos3 ფონტის სერვერი: მთავრდება Sep 17 10:30:08 kos3 xfs: გაჩერება xfs წარმატებით Sep 17 10:30:08 kos3 gpm: stop gpm წარმატებით Sep 17 10:30:08 kos3 xinetd: გასვლა ... Sep 17 10:30:10 kos3 rpc.statd: დაჭერილი სიგნალი 15, un -რეგისტრაცია და გასვლა. სექტემბერი 17 10:30:11 kos3 kernel: ბირთვის აღრიცხვა (proc) შეჩერდა. 17 სექტემბერი 10:30:11 kos3 ბირთვი: ბირთვის ჟურნალის დემონი მთავრდება. სექტემბერი 17 10:30:12 kos3 syslog: გაჩერება klogd წარმატებით დასრულდა სექტემბერი 17 10:30:12 kos3 გავიდა სიგნალ 15-ზე

    ფაილში ნახსენები სხვა პროტოკოლის ფაილებში ჩანაწერებს დაახლოებით იგივე სტრუქტურა აქვთ. /etc/syslog.conf.

    Logger და tailf ბრძანებები

    წინა აღწერილობიდან შეგვიძლია დავასკვნათ, რომ სისტემის ჟურნალებისთვის ყველა შეტყობინების გაცემა უნდა დადგინდეს პროგრამისტის მიერ პროგრამის შექმნის ეტაპზე. ეს მთლად სიმართლეს არ შეესაბამება. მომხმარებელს ასევე აქვს დემონისთვის შეტყობინების გაგზავნის შესაძლებლობა syslogd... ამისათვის Linux-ს აქვს ბრძანება ლოგერი, რომელიც უზრუნველყოფს შეტყობინების გაგზავნას ბრძანების ხაზიდან (sh, bash და ა.შ.). ის შედის util-linux პაკეტში. ბუნებრივია, ეს ბრძანება, უპირველეს ყოვლისა, გამიზნულია შესვლის შესაძლებლობების უზრუნველსაყოფად, როდესაც მომხმარებელი ქმნის სხვადასხვა სახის shell სკრიპტებს. მაგრამ ის ასევე შეიძლება გაშვებული იყოს პირდაპირ ბრძანების ხაზიდან, მაგალითად, ხე-ტყის სისტემის შესაძლებლობების გასაცნობად. ბრძანების გაშვების ფორმატი: ლოგერი [-isd] [-f ფაილი] [-p PRI] [-t TAG] [-u სოკეტი]ბრძანების ხაზის პარამეტრებს აქვს შემდეგი მნიშვნელობა:

    • -მე- შეიტანეთ პროცესის ნომერი შეტყობინებაში
    • -ს- დუბლიკატი გაგზავნა stderr-ზე
    • -დ- გამოიყენეთ დატაგრამის რეჟიმი შეტყობინებების გაგზავნისას (ჩვეულებრივი ნაკადის ნაცვლად)
    • -f ფაილის სახელი- შეინახეთ შეტყობინება მითითებულ ფაილში (ნაგულისხმევად გამოიყენება / var / ჟურნალი / შეტყობინებები)
    • -p დაწესებულება.დონე- დააყენეთ შეტყობინების კატეგორია და პრიორიტეტი (ნაგულისხმევად: user.notice)
    • -ტ TAG - დააყენეთ TAG ველი
    • -u სოკეტი- გაგზავნეთ შეტყობინება მითითებულ სოკეტში syslogd-ის დარეკვის ნაცვლად
    • MSG- შეტყობინების ტექსტი

    გაგზავნეთ მრავალი შეტყობინება პროგრამის გამოყენებით ლოგერიდა აღფრთოვანებული ვარ შედეგით ფაილში / var / ჟურნალი / შეტყობინებები(თუ, რა თქმა უნდა, თქვენ არ შეცვალეთ ნაგულისხმევი).

    სხვათა შორის, არსებობს ფაილში ჩაწერილი შეტყობინებების სანახავად ძალიან საინტერესო გზა / var / ჟურნალი / შეტყობინებებიგუნდი ლოგერი... ეს მეთოდი ეფუძნება გამოყენებას სპეციალური პროგრამა კუდი... გახსენით ტერმინალის ფანჯარა, მიიღეთ სუპერმომხმარებლის უფლებები (ბრძანებით სუ) და გაუშვით ბრძანება ამ ფანჯარაში
    კუდი / var / ჟურნალი / შეტყობინებები
    ამის შემდეგ გადართეთ სხვა ტერმინალზე და გაუშვით ბრძანება იქ logger თვითნებური_ტექსტი... თქვენი შეტყობინება დაუყოვნებლივ გამოჩნდება ფანჯარაში, სადაც პროგრამა მუშაობს კუდი... ანუ, ამ პროგრამის გამოყენებით, სისტემის ადმინისტრატორს შეუძლია აკონტროლოს პროტოკოლში ახალი შეტყობინებების ჩაწერა რეალურ დროში. მართალია, სისტემის ადმინისტრატორს ნაკლებად სავარაუდოა, რომ ჰქონდეს დრო, რომ მონიტორინგი გაუწიოს სისტემის ქცევას ამ გზით (თუ არ არის საგანგებო სიტუაციები). ამიტომ შემუშავდა სპეციალური პროგრამები პროტოკოლების გასაანალიზებლად. მაგრამ მათ შესახებ ცოტა დაბალია, მაგრამ ახლა მოდით გადავიდეთ კითხვაზე, თუ როგორ უნდა მოაწყოთ დისტანციური კომპიუტერის ზედამხედველობა (გახსოვთ, როგორ დაიჭირეთ თავდამსხმელი შიმომურა?).

    ქსელის აღრიცხვა

    როგორც აღვნიშნეთ, ჟურნალის შეტყობინებების გაგზავნა შესაძლებელია დემონის მიერ syslogdდისტანციურ მასპინძელს. მაგრამ ვიღაცამ უნდა მიიღოს ეს. გამოდის, რომ ამას იგივე დემონი აკეთებს syslogdმუშაობს ამ დისტანციურ ჰოსტზე. Უფრო ზუსტად, syslogdნებისმიერ კომპიუტერზე, მას შეუძლია მოუსმინოს არა მხოლოდ / dev / log სოკეტზე (ამით ღებულობს შეტყობინებებს ადგილობრივი წყაროებიდან), არამედ პორტზე 514 / UDP, რომელიც უზრუნველყოფს ლოკალურ ქსელში არსებული სხვა კომპიუტერებიდან შეტყობინებების მიღებას (და შემდეგ დაწერილს) ადგილობრივ ფაილში). ეს უზრუნველყოფს "ლოგის სერვერის" შექმნის შესაძლებლობას, რომელიც შეიძლება იყოს ძალიან მოსახერხებელი სისტემის ადმინისტრატორისთვის (ქსელში არსებული ყველა მოვლენა მონიტორინგდება ერთ ადგილას) და ასევე ზრდის ქსელის უსაფრთხოებას, რადგან შეტყობინებები შეღწევის შესახებ. ქსელის ერთ-ერთი ჰოსტის ჰაკერი ამ ჰაკერის მიერ პროტოკოლიდან დაუყოვნებლივ არ შეიძლება ამოღებულ იქნეს.

    თუმცა, გარკვეული დამატებითი ძალისხმევაა საჭირო ამ "ქსელის ჟურნალის" დასაყენებლად.

    პირველი, რადგან პორტი 514 / UDP გამოიყენება ქსელის საშუალებით შეტყობინებების გასაგზავნად და მისაღებად, ის ხელმისაწვდომი უნდა იყოს ორივე კომპიუტერზე (კლიენტსა და სერვერზე). ამისათვის, ფაილში / და ა.შ. / სერვისებიხაზი უნდა იყოს ორივე კომპიუტერზე
    syslog 514 / udp
    თუ ასეთი ხაზი შევიდა / და ა.შ. / სერვისებიდაკარგული, syslogdარ შეუძლია შეტყობინებების მიღება და ქსელში გაგზავნა, რადგან მას არ შეუძლია UDP პორტის გახსნა. თუ ეს სიტუაცია შეიქმნა, syslogdდაუყოვნებლივ წყვეტს ნებისმიერი შეტყობინების წერას, თუნდაც ადგილობრივ ჟურნალში. უფრო მეტიც, როგორც ბრძანება აჩვენებს ps, ის რჩება მეხსიერებაში და ინახავს შეტყობინებებს ზოგიერთ ბუფერში, რადგან თუ სტრიქონი " syslog 514 / udp "ფაილში აღდგენა / და ა.შ. / სერვისებიკლიენტზე, მაშინ "დაკარგული" შეტყობინებების ნაწილი მაინც გამოჩნდება ჟურნალში (გადატვირთვის შემდეგ syslogd).

    მეორე, დემონის დაწყებისას syslogdსერვერს უნდა ჰქონდეს ვარიანტი -რრომელიც უზრუნველყოფს დისტანციური ჭრის შესაძლებლობას (ნაგულისხმევად, დემონი syslogdმხოლოდ ლოკალური სოკეტიდან ელოდება შეტყობინებებს). როგორ და სად უნდა დააყენოთ ეს პარამეტრი, აღწერილი იქნება ქვემოთ, დემონის დაწყების განყოფილებაში. syslogd.

    კარგად, და მესამე, ფაილების პარამეტრები შესაბამისად უნდა გამოსწორდეს. /etc/syslog.confორივე კომპიუტერზე. მაგალითად, თუ გსურთ ყველა შეტყობინების გადამისამართება ლოგინგ სერვერზე, უნდა ჩაწეროთ ფაილში კლიენტის კომპიუტერზე. /etc/syslog.confასეთი ხაზი:
    *. * @მასპინძლის სახელი
    თუ დემონის დაწყებისას syslogdსერვერი მიუწვდომელი იქნება (მაგალითად, ამ მომენტში ის გათიშულია ქსელიდან) ან შეუძლებელი იქნება მისი სახელის პოვნა (DNS სერვისი არ მუშაობდა სწორად) syslogdაკეთებს კიდევ 10 მცდელობას სერვერის მოსაძებნად და მხოლოდ იმ შემთხვევაში, თუ ამის შემდეგ სერვერი ვერ მოიძებნა, აჩერებს მცდელობებს და აგზავნის შესაბამის შეტყობინებას.

    თუ თქვენს ქსელს აქვს რამდენიმე დომენი, რომლებსაც ემსახურება ერთი ლოგინგი სერვერი, მაშინ არ გაგიკვირდეთ, რომ სერვერზე ჟურნალი შეიცავს კლიენტების სრულ სახელებს (დომენის ჩათვლით). მართალია, გაშვებისას syslogdშეგიძლიათ გამოიყენოთ პარამეტრები -s domain_listან - მე მასპინძელთა სია, რომელიც უზრუნველყოფს პროტოკოლის ჩანაცვლებას სრულად კვალიფიციური ჰოსტის სახელების მათი მოკლე სახელებით (დომენის მითითების გარეშე).

    არ დაგავიწყდეთ გაშვების პარამეტრების და ფაილის რეგულირების შემდეგ /etc/syslog.confგადატვირთეთ დემონი, რადგან განსხვავებით კრონ, sysklogdავტომატურად არ კითხულობს კონფიგურაციის ფაილებს.

    Syslogd დემონის გაშვების პარამეტრები

    ვინაიდან წინა ქვეთავში შევეხეთ დემონის დასაწყებად პარამეტრების დაყენების საკითხს syslogd, მოდით უფრო ახლოს მივხედოთ ამ საკითხს. როგორც უკვე აღვნიშნეთ, ორივე ლოგინგ დემონი იწყება სისტემის ინიციალიზაციის ეტაპზე და უფრო კონკრეტულად, სკრიპტის საშუალებით. /etc/rc.d/init.d/syslog(რისთვისაც, ისევე როგორც სკრიპტებისთვის სხვა სერვისების დასაწყებად, სიმბოლური ბმულები იქმნება /etc/rc.d/rc?.d/ დირექტორიაში). თუმცა, გაშვების პარამეტრების დასაყენებლად, არ არის საჭირო ამ სკრიპტის კორექტირება, რადგან Red Hat დისტრიბუციის 7.2 ვერსიიდან დაწყებული, ორივე დემონის გაშვების ვარიანტები იკითხება ცალკე კონფიგურაციის ფაილიდან. / etc / sysconfig / syslog... აქ მოცემულია დემონის შესაძლო პარამეტრების მოკლე სია syslogd.

    გაშვების პარამეტრები syslogd:

    • - სოკეტი- განსაზღვრავს დამატებით სოკეტს, რომელსაც დემონი მოუსმენს syslogd... შეგიძლიათ მიუთითოთ 19-მდე სოკეტი (მეტის მითითება შესაძლებელია, მაგრამ თქვენ გჭირდებათ პაკეტის ხელახლა კომპილაცია). ეს პარამეტრი გამოიყენება, როდესაც სხვა დემონი (როგორიცაა ftp ან http) მუშაობს შეზღუდულ გარემოში (აკეთებს chroot).
    • -დ- გამართვის რეჟიმი. ამ შემთხვევაში, დემონი არ გადადის ფონზე და გასცემს ყველა შეტყობინებას მიმდინარე ტერმინალში.
    • -f config_file_nameგანსაზღვრავს ალტერნატიული კონფიგურაციის ფაილის სახელს, რომელიც გამოყენებული იქნება ნაგულისხმევის ნაცვლად /etc/syslog.conf.
    • -თნაგულისხმევად შევიდა sysklogdაკრძალულია ქსელში მიღებული შეტყობინებების გადაცემა სხვა კომპიუტერზე. ეს კეთდება იმისათვის, რომ თავიდან იქნას აცილებული გაუთავებელი შეტყობინებები რგოლში. -h ვარიანტი საშუალებას გაძლევთ შეცვალოთ ჩვეული ქცევა და უზრუნველყოთ, რომ დისტანციური ჰოსტებიდან მიღებული შეტყობინებები გადაეცემა ქსელის გასწვრივ (და თავად იზრუნეთ შესაძლო მარყუჟზე).
    • -მე მასპინძლის სია- განსაზღვრავს ჰოსტების სიას, რომელთა სახელები არ უნდა იყოს ჩაწერილი დომენის სრული სახელის მითითებით (FQDN - Full Qwalified Domain Name); სიაში სახელები გამოყოფილია ორწერტილით.
    • -წუთიდაიწყო ამ პარამეტრის გარეშე sysklogdრეგულარულად (ყოველ 20 წუთში) აღრიცხავს კატეგორიის შეტყობინებებს ნიშანი, ანუ მხოლოდ დროის შტამპები. ოფციით -მთქვენ შეგიძლიათ შეცვალოთ ინტერვალი ნიშნების შორის, ან მთლიანად გააუქმოთ ასეთი შეტყობინებების გაცემა, რისთვისაც თქვენ უნდა დააყენოთ ნულოვანი ინტერვალი: -მ 0.
    • -ნარ გადახვიდეთ ფონზე; ეს პარამეტრი საჭიროა, როდესაც syslogd იწყება და აკონტროლებს პროცესს მასში.
    • -p სოკეტიგანსაზღვრავს ალტერნატიულ UNIX სოკეტს (ნაგულისხმევი მოსმენის ნაცვლად / dev / ჟურნალი). გთხოვთ გაითვალისწინოთ: ვარიანტი -აგანსაზღვრავს დამატებით სოკეტებს და -გვ- ალტერნატივა!
    • -რნება მიეცით მიიღოთ შეტყობინებები დისტანციური ჰოსტებისგან. ამის შესახებ წინა ნაწილში ვისაუბრეთ, ამიტომ დეტალებს გამოვტოვებ.
    • -s დომენის სიაგანსაზღვრავს იმ დომენების სიას, რომელთა სახელები არ საჭიროებს შესვლას ჰოსტის სახელთან ერთად (ანუ, ამ დომენებისთვის, სრულად კვალიფიციური დომენის (FQDN) ნაცვლად მხოლოდ ჰოსტის სახელები იქნება შესული. სიაში სახელები გამოყოფილია. ორი წერტილით დომენის სახელი, სადაც მდებარეობს syslogd სერვერი), არ არის საჭირო ამ სიაში მითითება (მისი სახელი ამოღებულია ნაგულისხმევად).
    • -ვვერსიის ჩვენება და გასვლა.
    • -xიკრძალება ჰოსტის სახელის განსაზღვრა მისი მისამართით, ხელს უშლის ჩიხს DNS სერვერთან ერთსა და იმავე ჰოსტზე მუშაობისას.

    დემონის დაწყების შემდეგ syslogdიქმნება სტატუსის ფაილი / var / lock / subsys / syslogნულოვანი სიგრძე და ფაილი პროცესის ID-ით /var/run/syslogd.pid.

    ბრძანების გამოყენებით
    kill -SIGNAL `cat / var / run / syslogd.pid`
    შეგიძლიათ გაუგზავნოთ დემონს syslogdერთ-ერთი შემდეგი სიგნალი:

    • SIGHUP - დემონის გადატვირთვა (რეინიციალიზაცია); ყველა ღია ფაილი დახურულია, დემონი თავიდან იწყება, ხელახლა კითხულობს მის კონფიგურაციის ფაილს.
    • SIGTERM - გამორთვა.
    • SIGINT, SIGQUIT - თუ გამართვის რეჟიმი ჩართულია (ვარიანტი -d), სიგნალები იგნორირებულია, წინააღმდეგ შემთხვევაში - გასვლა.
    • SIGUSR1 - ჩართეთ / გამორთეთ გამართვის რეჟიმი (მუშაობს მხოლოდ იმ შემთხვევაში, თუ დემონი დაიწყო -d გადამრთველით).

    დემონი კგდაქვს არანაკლებ გაშვების ვარიანტები, ვიდრე syslogd, მაგრამ ჩვენ მათ აქ არ ჩამოვთვლით, მკითხველს მივმართავთ შესაბამის Man-გვერდზე (მომხმარებელი არ უნდა იყოს ჩართული პარამეტრებში კგდ, უმჯობესია დატოვოთ იგი იმავე მდგომარეობაში, როგორც ეს იყო წარმოებული სადისტრიბუციო ნაკრების დეველოპერების მიერ).

    Dmesg ფაილი და dmesg ბრძანება

    როგორც ითქვა, ფაილში მითითებული ჟურნალის ფაილები /etc/syslog.confჩვეულებრივ მდებარეობს დირექტორიაში / var / ჟურნალიდა მისი ქვედანაყოფები. მაგრამ, თუ ჩავიხედებით ამ დირექტორიაში, მაშინ ჩვენ ვიპოვით რამდენიმე ფაილს, რომელიც შეიცავს /etc/syslog.confარ იყო ნახსენები. მოდით შევხედოთ მათ დანიშნულებას. და დავიწყოთ ფაილით dmesg.

    პირველ რიგში, უნდა აღინიშნოს, რომ Linux-ს აქვს ამავე სახელწოდების ბრძანება. თუ შეადარებთ ამ ბრძანების გამომავალს (როდესაც ის მუშაობს პარამეტრების გარეშე) ფაილის შიგთავსთან / var / log / dmesg, თქვენ ნახავთ, რომ ისინი ძალიან ჰგვანან, თუმცა არა იდენტური (მიიტანეთ ბრძანების გამოსავალი ფაილში dmesg2და შეადარეთ ფაილები dmesgდა dmesg2). უფრო ზუსტად, ფაილი / var / log / dmesgერთიდან ერთი ემთხვევა გამომავალის დასაწყისს, რომელსაც მივიღებთ ბრძანებით dmesg... როგორც ბირთვიდან ირკვევა, არის რგოლის ბუფერი, რომელშიც იწერება შეტყობინებები ბირთვის აღრიცხვის დემონიდან. ის შეტყობინებები, რომლებიც იწერება ამ ბუფერში ჩატვირთვის პროცესში და ქმნიან ფაილის შიგთავსს / var / log / dmesg... როგორც ჩანს, ეს ფაილი გენერირდება სისტემის ჩატვირთვის ბოლოს.

    თუ კვლავ გადახედავთ ზემოთ მოცემულ ფაილების ჩამონათვალს /etc/syslog.confშემდეგ დაინახავთ, რომ ყველა პოსტი კატეგორიაში კერნიასევე გაიცემა კონსოლზე. მაგრამ იქ ისინი სწრაფად გარბიან ეკრანზე და ძლივს გაქვს დრო მათი წაკითხვისა და გაგებისთვის. მაგრამ ისინი ინახება ფაილში / var / log / dmesgდა, ამრიგად, ხელმისაწვდომია თავისუფალი გაგებისთვის (თუ ჩამოტვირთვის პროცესი წარმატებით დასრულდა). ჩატვირთვის პროცესის დასრულების შემდეგ, მესიჯების წერა ბირთვიდან წრიულ ბუფერში გრძელდება. როდესაც ბრძანება შესრულდება dmesg, ნაჩვენებია ბუფერის მიმდინარე მდგომარეობა. ამიტომ, ამ ბრძანების გამომავალი შეიცავს უფრო მეტ შეტყობინებას, ვიდრე ფაილი / var / log / dmesg: ამ ბრძანების გამოსავალში ასევე ხედავთ შეტყობინებებს, რომლებსაც ბირთვი გამოსცემს ჩატვირთვის პროცესის დასრულების შემდეგ.

    ყველა შეტყობინება / var / log / dmesgთქვენ ნახავთ ფაილში / var / ჟურნალი / შეტყობინებები, მხოლოდ იქ ცვლიან სხვა პროგრამების შეტყობინებებს. მხოლოდ ერთი მნიშვნელოვანი განსხვავებაა: ფაილში dmesgშეტყობინების დრო და წყარო (ჰოსტის სახელი და შეტყობინების კატეგორია) არ არის მითითებული. ჰოსტი აქ ყოველთვის „ლოკალურია“ და ათვლის დაწყება განისაზღვრება კომპიუტერის ბოლო გადატვირთვით.

    Lastlog, wtmp და utmp ფაილები

    ფაილის გარდა dmesgკატალოგში / var / ჟურნალი /არის კიდევ ორი ​​ფაილი, რომელიც არ არის ნახსენები /etc/syslog.conf, მაგრამ უშუალოდ ლოგინგთან დაკავშირებული - ეს არის ფაილები ბოლო ჟურნალიდა wtmp... მაგრამ მათი დათვალიერება იგივეა, რაც ჩვენ ვუყურებდით ფაილს / var / ჟურნალი / შეტყობინებებიაზრი არ აქვს - ვერაფერს გაიგებ. ფაქტია, რომ ამ ფაილებში ინფორმაცია ჩაწერილია სპეციალურ ფორმატში და მისი ნახვა უნდა მოხდეს სპეციალური პროგრამული ინსტრუმენტების გამოყენებით. მაგრამ პირველ რიგში, რამდენიმე სიტყვა უნდა ითქვას ამ ფაილების მიზნის შესახებ.

    ფაილი ბოლო ჟურნალიინახავს ინფორმაციას სისტემაში შესული ბოლო მომხმარებლის შესახებ. არ ვიცი, შენიშნეთ თუ არა, რომ მომხმარებლის სახელის და პაროლის შეყვანისას ეკრანზე გამოჩნდება შემდეგი შეტყობინება:

    ლოკალჰოსტის შესვლა: kos პაროლი: ბოლო შესვლა: ოთხ ოქტომბერი 9 19:25:53 tty1-ზე ეს სამი სტრიქონი გენერირდება პროგრამის მიერ შესვლა, რომელიც დადგენის შემდეგ, რომ მომხმარებელს აქვს შესვლის უფლება, წვდება ფაილს / var / log / lastlog, იქიდან ამოიღებს ინფორმაციას მომხმარებლის წინა წარმატებული შესვლის შესახებ, ბეჭდავს მას ეკრანზე და შემდეგ განაახლებს ფაილში ჩანაწერს ბოლო ჟურნალი... თქვენ შეგიძლიათ აღკვეთოთ ეს შეტყობინება თქვენი სახლის დირექტორიაში ცარიელი .hushlogin ფაილის შექმნით. თუმცა ამის გაკეთება არ არის რეკომენდებული, პირიქით, განსაკუთრებული ყურადღება უნდა მიაქციოთ ამ შეტყობინების შინაარსს, რათა არ გამოტოვოთ შემთხვევები, როცა სისტემაში თქვენი სახელით სხვა შემოვიდა.

    ფაილისგან განსხვავებით / var / log / lastlogრომელიც შეიცავს დროის ჩანაწერებს ბოლოთითოეული მომხმარებლის შესვლა ფაილში / var / log / wtmpახსოვთ ყველამომხმარებლის შესვლა და გამოსვლა ამ ფაილის შექმნის დღიდან. როგორც ფაილში ბოლო ჟურნალი, ჩანაწერები / var / log / wtmpდამზადებულია სპეციალურ ფორმატში, ამიტომ მათი ნახვა შესაძლებელია მხოლოდ სპეციალური ბრძანებების გამოყენებით. მაგრამ, სანამ ამ ბრძანებებზე ვისაუბრებთ, ვთქვათ, რომ არის კიდევ ერთი ფაილი, რომელიც შეიცავს ჩანაწერებს მომხმარებლის ჟურნალის შესახებ - ეს არის ფაილი / var / run / utmp... ეს ფაილი შეიცავს ინფორმაციას იმის შესახებ, თუ რომელი მომხმარებელია ამჟამად სისტემაში შესული.

    ახლა თქვენ შეგიძლიათ ისაუბროთ იმაზე, თუ როგორ უნდა ნახოთ ინფორმაცია იმ მომხმარებლების შესახებ, რომლებიც ამჟამად მუშაობენ ან ადრე მუშაობდნენ სისტემაში. ამისათვის მთავარი ბრძანება არის ბრძანება ბოლო... ის გამოაქვს ყველა ჩანაწერს ფაილიდან / var / log / wtmp, უფრო მეტიც, მითითებულია მომხმარებლის სახელი, ტერმინალის მითითება, საიდანაც მომხმარებელი მუშაობდა, მომხმარებლის სისტემაში შესვლის დრო და გამოსვლის დრო, ასევე სისტემაში მომხმარებლის სესიის ხანგრძლივობა. თუ მომხმარებლის მუშაობა შეწყდა მხოლოდ სისტემის გათიშვის გამო, მომხმარებლის გასვლის დროის ნაცვლად გამოიყენება სიტყვა „down“ (ამ ხაზებს ადვილად შეუძლია განსაზღვროს სისტემის გამორთვის დრო). გადატვირთვის დრო ნაჩვენებია ცალკეულ ხაზებზე, რომლებიც იწყება სიტყვით "გადატვირთვა".

    გუნდი ბოლო ბროგორც გუნდი ბოლომაგრამ აჩვენებს ინფორმაციას მომხმარებლის წარუმატებელი შესვლის მცდელობების შესახებ. თუმცა, უნდა აღინიშნოს, რომ ეს ბრძანება იმუშავებს მხოლოდ ფაილის არსებობის შემთხვევაში. / var / log / btmp... თუმცა, აქ განხილული არცერთი პროგრამა არ ქმნის ჟურნალის ფაილებს, ასე რომ, თუ რომელიმე მათგანი წაიშლება, ჩაწერა მთავრდება.

    გუნდი ბოლო ჟურნალიაფორმებს და გამოსცემს ფაილის შინაარსს / var / log / lastlog... ველები იქნება მომხმარებლის სახელი, ტერმინალის სახელი, საიდანაც მომხმარებელი შევიდა სისტემაში და სისტემაში ბოლო შესვლის დრო. ნაგულისხმევად (როდესაც ბრძანება შეყვანილია პარამეტრების გარეშე) ფაილის ელემენტები / var / log / lastlogნაჩვენები იქნება მომხმარებლის ID ნომრების მიხედვით. თუ თქვენ მიუთითებთ -u login-name პარამეტრს, გამოჩნდება მხოლოდ ინფორმაცია მითითებული მომხმარებლის ბოლო შესვლის დროის შესახებ. -t დღის პარამეტრის მითითებით, თქვენ მიიღებთ მხოლოდ ბოლო დღეების ჩანაწერებს. თუ მომხმარებელი საერთოდ არ არის შესული სისტემაში, მაშინ ტერმინალის სახელისა და ბოლო შესვლის დროის ნაცვლად მითითებული იქნება სტრიქონი "** არასოდეს შესული **".

    ბრძანების შესრულებისას ბოლო ჟურნალინელ კომპიუტერზე, ზოგიერთ შემთხვევაში შეიძლება ჩანდეს, რომ ბრძანება დაბლოკილია. ეს ხდება იმის გამო, რომ მაშინაც კი, თუ სისტემაში მხოლოდ ორი მომხმარებელია რეგისტრირებული (root და მომხმარებელი), ფაილში / var / log / lastlogჯერ კიდევ არის ადგილი რაც შეიძლება მეტი მომხმარებლისთვის, ვისაც შეუძლია სისტემაზე მუშაობა. ამიტომ, ფაილში / var / log / lastlogსისტემაში შესული მომხმარებლების ID ნომრებს შორის შეიძლება იყოს დიდი ხარვეზები. ვინაიდან ასეთი ინტერვალების ნახვისას პროგრამა არ აჩვენებს ინფორმაციას ეკრანზე და ჩნდება „გაყინვის“ შთაბეჭდილება.

    იმისათვის, რომ ნახოთ ინფორმაცია იმის შესახებ, თუ ვინ მუშაობს ამჟამად სისტემაში, გამოიყენეთ ბრძანებები , ჯანმოდა მომხმარებლები... გუნდი მომხმარებლებიიგი გამოიყენება მხოლოდ მაშინ, როდესაც გსურთ იცოდეთ რომელი მომხმარებელი მუშაობს ამჟამად სისტემაში, მაგრამ არ გაინტერესებთ რომელი ტერმინალიდან დაუკავშირდა და რას აკეთებს. თუ გსურთ იცოდეთ ვინ რომელი ტერმინალიდან შემოვიდა, გამოიყენეთ ბრძანება ჯანმო... ეს ბრძანება გამოსცემს ინფორმაციას ფაილიდან / var / run / utmp... თქვენ შეგიძლიათ გააკეთოთ ის გამომავალი მონაცემები ფაილიდან / var / log / wtmp(ან ნებისმიერი სხვა ფაილი, რომლისთვისაც აზრი აქვს) თუ ბრძანების სტრიქონში მიუთითებთ ამ ფაილის სახელს. მაგრამ გამოსავალში თქვენ კვლავ ნახავთ მხოლოდ მომხმარებლის სახელს, ტერმინალის მითითებას, საიდანაც მომხმარებელი შევიდა სისტემაში, შესვლის დროს და, თუ შესული ხართ დისტანციური კომპიუტერიდან, ამ კომპიუტერის სახელს.

    მნიშვნელოვნად მეტი ინფორმაცია ნაჩვენებია ბრძანებით ... მის გამოშვებაში ნახავთ მიმდინარე დროს, რამდენი ხანია მუშაობს სისტემა, რამდენი მომხმარებელი მუშაობს სისტემაში და სისტემის საშუალო დატვირთვა ბოლო წუთში, 5 და 15 წუთის განმავლობაში. შემდეგ, თითოეული მომხმარებლისთვის, ის ბეჭდავს:

  • მომხმარებლის სახელი,
  • ტერმინალის სახელი,
  • დისტანციური ჰოსტის სახელი
  • შესვლიდან გასული დრო,
  • დრო, რომლის დროსაც ეს ტერმინალი არ გამოიყენება (უმოქმედობის დრო),
  • ამ ტერმინალიდან დაწყებული ყველა პროცესის მიერ გატარებული მთლიანი დრო (JCPU გრაფიკი),
  • დრო, რომლის დროსაც მომხმარებლის მიერ დაწყებული ბოლო პროცესი (PCPU გრაფიკი) მუშაობს,
  • ინფორმაცია იმის შესახებ, თუ რომელი პროგრამა სრულდება ამჟამად მომხმარებლის მიერ (ბრძანების ხაზის სახით ყველა პარამეტრით ბრძანების დასაწყებად).

    როგორც უკვე აღვნიშნეთ, ბრძანება გამოაქვს ფაილში შენახული ინფორმაცია უტმპ... სხვათა შორის, გიდი კაციაცხადებს, რომ ჩვეულებრივ მომხმარებლებს უნდა აეკრძალათ ფაილზე ჩაწერის წვდომა უტმპრადგან ბევრი სისტემური პროგრამები(რაღაც აუხსნელი მიზეზის გამო) დამოკიდებულია მის მთლიანობაზე. თქვენ რისკავთ სისტემის სტატისტიკის ფაილების დაბნევისა და სისტემურ ფაილებში ცვლილებების შეტანის რისკს, თუ ნებისმიერ მომხმარებელს ნებას რთავთ ჩაწეროს utmp ფაილში.

    სხვა პროგრამების ჟურნალის ფაილები

    გარდა ფაილებისა, რომლებიც უკვე აღვწერეთ, არის სხვა პროტოკოლის ფაილები, რომლებიც იქმნება ცალკეული პროგრამებით. ყველაზე ტიპიური მაგალითებია დემონების პროტოკოლები. სამბა, ftpdან httpdრომლებიც ინახება ცალკე ფაილებში. ზოგიერთი პროგრამა ქმნის თავის პროტოკოლებს დირექტორიის ქვედირექტორიებში / var / ჟურნალი /სხვები ოქმებს სხვაგან ინახავენ. და ამ ფაილების სტრუქტურა შეიძლება მნიშვნელოვნად განსხვავდებოდეს სისტემის მიერ შექმნილი ფაილების სტრუქტურისგან. syslog... მაგალითად, მე მივცემ რამდენიმე სტრიქონს სერვერის ჟურნალიდან აპაჩიმუშაობს ჩემს კომპიუტერზე: 192.168.36.21 - - "GET / ve / papers / new / log / HTTP / 1.1" 200 1774 "-" "Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0 . 0) Gecko / 20020530 "192.168.36.21 - -" GET /icons/back.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /icons/folder.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /icons/text.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20 192.168.36.21 - -" GET /ve/papers/new/log/protok_lovim.htm HTTP / 1.1 "200 46597" http: // linux / ve / papers / ახალი / ჟურნალი / "" Mozilla / 5.0 (X11; U ; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /bugtraq.css HTTP / 1.1 "404 279" http: // linux / ve / papers / new / protok_im / .htm "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /img/bug1.gif HTTP / 1.1 "404" : // linux / ve / papers / new / lo g / protok_lovim.htm "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /img/title.gif HTTP / 1.1 "404 281" http: //linux/ve/papers/new/log/protok_lovim.ht "" /5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "როგორც ხედავთ, ამ ჟურნალის ფაილის სტრუქტურა მნიშვნელოვნად განსხვავდება იმისგან, რაც ვნახეთ სისტემის ჟურნალებში.

    Samba სერვერი, მთავარი სერვერის მუშაობის პროტოკოლის გარდა, ქმნის ქვედირექტორიაში / var / log / სამბამრავალი ჟურნალის ფაილი სხვადასხვა შემთხვევისთვის, კერძოდ, ცალკე ფაილები თითოეული მომხმარებლისთვის, რომელსაც უფლება აქვს გამოიყენოს ამ სერვერის მიერ მოწოდებული რესურსები. შემდეგი ორი ჩანაწერი აღებულია ერთი ასეთი ფაილიდან:

    Smbd / service.c: make_connection (550) linux (192.168.36.10) დაუკავშირდით სერვისს საჯარო როგორც მომხმარებლის kos (uid = 500, gid = 500) (pid 1366) smbd / service.c: close_cnum (550) linux (192. 36.10) დახურული კავშირი სერვის საზოგადოებასთან. ეს მაგალითები აჩვენებს, რომ თუ თქვენ შეგიძლიათ ცოტა ინგლისურად წაიკითხოთ და გაიგოთ ჩანაწერების სტრუქტურა, შეგიძლიათ ამოიღოთ ბევრი სასარგებლო ინფორმაცია ჟურნალის ფაილებიდან. მხოლოდ ის უნდა იყოს ამოღებული "ნარჩენი ქანების" მთელი საბადოებიდან - უზარმაზარი თანმიმდევრული ჟურნალის ფაილებიდან, რაც არატრივიალური ამოცანაა. ამიტომ შემუშავდა სპეციალური პროგრამული ინსტრუმენტები პროტოკოლის ანალიზისთვის.

    ინსტრუმენტები პროტოკოლების დამუშავებისთვის

    შემუშავებულია მრავალი განსხვავებული პროგრამა და სკრიპტი პროტოკოლის ანალიზისთვის. თავს შევიზღუდავ მოკლე აღწერაორი ასეთი საშუალება: ლოგის საათიდა ნიმუში.

    ლოგის საათიარის Perl სკრიპტი, რომელიც შედის Red Hat Linux-ის სტანდარტულ დისტრიბუციაში. სწორედ ამ სტატიის მომზადებისას, ამ პროგრამის 4.1 ვერსია გამოვიდა დეველოპერის ვებსაიტზე (და ის არის კირკ ბაუერი).

    ამ პროგრამის მთავარი იდეა არის ის, რომ ჟურნალის ფაილი გადადის ფილტრში, რომელიც ამოიღებს ჟურნალიდან ყველა ხაზს (ანუ შეტყობინებებს), რომლებიც აკმაყოფილებენ მოცემულ კრიტერიუმს. შედეგები იგზავნება ელფოსტით მითითებულ მომხმარებელს (ნაგულისხმევი არის root). ფილტრები შეიძლება დაიწეროს ნებისმიერ პროგრამირების ენაზე, მაგრამ პაკეტის ავტორი უპირატესობას ანიჭებს Perl-ს. ფილტრები ისე უნდა დაიწეროს, რომ მათ წაიკითხონ მონაცემები stdin-დან და შედეგი გამოიყვანონ stdout-ში.

    გამოყენების მთავარი გზა ლოგის საათიმოიცავს მთავარ სკრიპტის ბმულს ( /etc/log.d/scripts/logwatch.pl) /etc/cron.daily დირექტორიაში, რომელიც იწვევს ყოველდღიურ შესრულებას ლოგის საათინაგულისხმევი პარამეტრებით. ბმულს ეძლევა სახელი, რომელიც იწყება "00"-ით (მაგ. 00-logwatch) ისე, რომ სკრიპტი იმუშავებს ლოგოტირებამდე.

    მაგრამ თქვენ შეგიძლიათ სკრიპტის გაშვება ბრძანების ხაზიდანაც. რა თქმა უნდა, თუ თქვენ არ შეცვალეთ ინფორმაციის გამომავალი პარამეტრი, მაშინ მისი მუშაობის შედეგი უნდა მოძებნოთ სუპერმომხმარებლის საფოსტო ყუთში. თუ გსურთ ნახოთ ეს შედეგები ეკრანზე, მაშინ უნდა დააყენოთ ბრძანების ხაზის პარამეტრი -- ბეჭდვა- გასცეს ანგარიში stdout.

    სკრიპტის გაშვების ზოგადი ფორმატი:

    /etc/log.d/scripts/logwatch.pl [--დეტალდონე ] [--logfileჯგუფი- ჟურნალები ] [--მომსახურებასერვის-სახელი ] [--ბეჭდვა] [--mailtoმისამართი ] [--შენახვაᲤაილის სახელი ] [--არქივები] [--დიაპაზონითარიღი-ინტერვალი ]

    ნაგულისხმევი პარამეტრები ინახება /etc/log.d/logwatch.conf ფაილში, კომენტარები, რომლებშიც საშუალებას გაძლევთ გაიგოთ ბრძანების ხაზის პარამეტრების მნიშვნელობა:

    • LogDir - დირექტორია, რომლის მიმართაც განიხილება ფაილის სახელები;
    • MailTo - ვის გაუგზავნოთ ანგარიში;
    • ბეჭდვა - ანგარიშის ფოსტით გაგზავნის ნაცვლად, გაუშვით stdout-ზე;
    • შენახვა - ანგარიშის ფოსტით გაგზავნის ნაცვლად შეინახეთ მითითებულ ფაილში;
    • არქივები - ამუშავებს არა მხოლოდ ჟურნალების მიმდინარე ვერსიებს, არამედ logrotate-ის მიერ შექმნილ ძველ ასლებს;
    • დიაპაზონი - დაამუშავეთ მითითებული დროის ინტერვალი: ყველა, დღეს, გუშინ (გუშინდელი კალენდარული დღე);
    • დეტალი - ანგარიშის დეტალების დონე: 0-დან 10-მდე ან დაბალი, Med, მაღალი;
    • სერვისი - ყველა ან ფილტრის სახელი /etc/log.d/scripts/services/-დან (შეიძლება მრავალი ფილტრის მითითება);
    • LogFile - ჟურნალის ჯგუფის ყველა ან სახელი (შეიძლება რამდენიმე ჯგუფის მითითება).

    მეტი ინფორმაცია სკრიპტის შესახებ ლოგის საათითქვენ ნახავთ.

    ეს სტატია აღწერს ჟურნალის ფაილების დამუშავების სხვა სკრიპტს, რომელიც შედის Mandrake Linux დისტრიბუციაში. ამ სკრიპტს ე.წ ნიმუში("Simple WATCHer") და ასევე წერია პერლში.

    სამუშაო მენეჯმენტი ნიმუშინაგულისხმევად ხორციელდება ერთი კონფიგურაციის ფაილის გამოყენებით $ HOME / .swatchrc... ეს ფაილი შეიცავს ტექსტს (რეგულარული გამოხატვის ფორმით), რომელიც ნიმუშიმოძებნის ჟურნალის ფაილებს. ყოველ ასეთ შაბლონს მოსდევს მოქმედება, რომელიც ნიმუშიუნდა მიიღოს, თუ აღმოაჩენს ტექსტს, რომელიც ემთხვევა ნიმუშს.

    მაგალითად, შეიძლება დაგჭირდეთ გაფრთხილების მიღება ყოველ ჯერზე, როცა ცდილობთ ბუფერული გადასვლის შეტევას თქვენს ვებ სერვერზე ძალიან გრძელი ფაილის სახელისთვის. და თქვენ იცით, რომ ასეთ შემთხვევებში ჟურნალის ფაილში /var/apache/error.logჩნდება შეტყობინება სიტყვებით "ფაილის სახელი ძალიან გრძელია". ამ შემთხვევაში, თქვენს ფაილში .swatchrcშემდეგი შენიშვნა უნდა იყოს ჩასმული:

    Watchfor / ფაილის სახელი ძალიან გრძელია / ფოსტა [ელფოსტა დაცულია], თემა = BufferOverflow_ttempt

    პროგრამის უფრო დეტალურ აღწერას აქ არ გავაკეთებ. ნიმუში... მას ეძღვნება ენთუზიაზმი სტატია და თავად პროგრამა შეგიძლიათ იხილოთ ვებგვერდზე. მინდა მხოლოდ აღვნიშნო და ნიმუში, და ლოგის საათიპროტოკოლის ფაილების დამუშავების საკმაოდ პრიმიტიული ალგორითმის დანერგვა, რომელიც მთავრდება პროტოკოლში მოცემული სიმბოლოს სტრიქონის (ხელმოწერის) ძიებაზე. იმავდროულად, ჯერ ერთი, ასეთი ხაზის არსებობა ხშირად ჯერ კიდევ არ მიუთითებს თავდამსხმელზე და, მეორეც, კომპეტენტურ თავდამსხმელს შეუძლია იზრუნოს მათი საქმიანობის კვალის წაშლაზე. განხილული პროდუქტების კიდევ ერთი აშკარა ნაკლი არის ის, რომ ისინი მუშაობენ "დაგვიანებულ რეჟიმში", რადგან ისინი იხსნება მხოლოდ გრაფიკით. და თავდამსხმელებთან ბრძოლა უნდა განხორციელდეს "რეალურ დროში", დაუყოვნებლივ რეაგირებს სისტემაში შეღწევის მცდელობებზე. ამიტომ, კომერციული პროდუქტები გვთავაზობენ მონიტორინგის სისტემებს, რომლებიც მუდმივად მუშაობენ და ახორციელებენ „ინტელექტუალურ“ ალგორითმებს პროტოკოლების ანალიზისთვის. ეს ალგორითმები ეფუძნება შეტყობინებების ნაკადის სტატისტიკურ ანალიზს და სისტემის სტატისტიკურად მნიშვნელოვანი გადახრების იდენტიფიცირებას მისი ნორმალური ქცევიდან.

    ამ განყოფილების დასასრულს, მინდა აღვნიშნო, რომ SecurityLab.ru ვებგვერდი (http://www.securitylab.ru/tools/?ID=22111) შეიცავს ბმულების ჩამონათვალს სხვადასხვა პროგრამული ხელსაწყოების საიტებზე პროტოკოლების დამუშავებისთვის. ამ ხელსაწყოების მოკლე აღწერილობით. შეგიძლიათ ექსპერიმენტი გააკეთოთ სხვადასხვა პროგრამით და აირჩიოთ ის, რაც თქვენთვის შესაფერისია.

    მბრუნავი ჟურნალის ფაილები

    თქვენ, რა თქმა უნდა, გესმით, რომ თუ სისტემა ხშირად გამოიყენება, მაშინ ჟურნალის ფაილები სწრაფად იზრდება. რაც იწვევს დისკზე სივრცის დაკარგვას. და ჩნდება პროტოკოლების „მოთვინიერების“ პრობლემა. Red Hat Linux აგვარებს ამ პრობლემას სკრიპტებით. ლოგრატირებარომელიც მდებარეობს დირექტორიაში /etc/cron.ყოველდღიურიდა, შესაბამისად, იწყება დემონი კრონყოველდღიურად. ეს სკრიპტი საშუალებას გაძლევთ დაამუშავოთ არა მხოლოდ სისტემის ჟურნალები syslog, არამედ ნებისმიერი სხვა პროგრამა.

    სკრიპტი ლოგრატირებააკონტროლებს ჟურნალის ფაილების ზრდას და უზრუნველყოფს ამ ფაილების ე.წ. როტაცია სხვა არაფერია, თუ არა საარქივო ფაილების წინა ვერსიების თანმიმდევრული კოპირება, დაახლოებით ასეთი:

  • შეტყობინებები.2 -> შეტყობინებები.3
  • შეტყობინებები.1 -> შეტყობინებები.2
  • შეტყობინებები.0 -> შეტყობინებები.1
  • შეტყობინებები -> შეტყობინებები.0
    და შექმენით ახალი შეტყობინებების ფაილი შემდგომი შეტყობინებების ჩასაწერად.

    სკრიპტის მიერ დასამუშავებელი ფაილების სია ლოგრატირებადა ამ დამუშავების პარამეტრები განისაზღვრება კონფიგურაციის ფაილებით, რომელთაგან რამდენიმე შეიძლება იყოს. კონფიგურაციის ფაილების სახელები მითითებულია სკრიპტის გაშვების ბრძანების სტრიქონში (იხილეთ ქვემოთ გაშვების პარამეტრები). Red Hat Linux-ზე, ნაგულისხმევი კონფიგურაციის ფაილები ლოგრატირებაგამოყენებული ფაილი /etc/logrotate.conf, რომელიც შეიძლება ასე გამოიყურებოდეს:

    ყოველკვირეული როტაცია 4 შექმნა შეკუმშვა მოიცავს /etc/logrotate.d / var / log / wtmp / var / log / lastlog (თვიური შექმნა 0664 root utmp rotate 1)

    ეს ფაილი ჰგავს სკრიპტის ნებისმიერი კონფიგურაციის ფაილს. ლოგრატირებაშედგება რამდენიმე განყოფილებისგან. პირველი სექცია განსაზღვრავს გლობალურ პარამეტრებს (თითო სტრიქონზე), რომელიც ადგენს ნაგულისხმევ პარამეტრებს ყველა ჟურნალისთვის. შემდეგი სექციები განსაზღვრავს ლოკალურ პარამეტრებს ჟურნალის ფაილების სერიისთვის. ამ ფაილების სახელები ჩამოთვლილია განყოფილების პირველ სტრიქონში, შემდეგ კი ლოკალური პარამეტრები დაყენებულია ხვეული ბრეკეტებში, რომლებიც ეფექტურია მხოლოდ მითითებული ფაილების დამუშავებისას (ასევე თითო პარამეტრი თითო სტრიქონში). ჟურნალის ფაილების სახელები შეიძლება ციტირებულ იქნეს shell წესებით, თუ ისინი შეიცავს სივრცეებს ​​ან სხვა სპეციალურ სიმბოლოებს. თქვენ შეგიძლიათ მიუთითოთ მრავალი ფაილის სახელი ან ფაილის სახელის შაბლონები, რომლებიც გამოყოფილია ინტერვალით (ნიმუშები ასევე მიჰყვება გარსის წესებს). თითოეული განყოფილების დამუშავება განიხილება, როგორც ერთიანი მოქმედება. "#" სიმბოლოთი დაწყებული სტრიქონები კომენტარებია. ლოკალურ პარამეტრებს უპირატესობა აქვს გლობალურ პარამეტრებზე.

    კონფიგურაციის ფაილის მოცემულ მაგალითში ჯერ აღწერილია გლობალური პარამეტრები, შემდეგ კი ცალკეულ განყოფილებაში / var / log / wtmp და / var / log / lastlog ფაილების დამუშავების პარამეტრები. გარდა ამისა, გლობალურ პარამეტრებს შორის, ბმული მოცემულია დირექტორიაში /etc/logrotate.d, რომელშიც თითოეული პაკეტი წერს ლოკალურ პარამეტრებს თავისი ჟურნალებისთვის.

    გლობალური პარამეტრების განყოფილებაში, პირველ რიგში, მითითებულია ერთ-ერთი შემდეგი პარამეტრი, რომელიც განსაზღვრავს ფაილის ბრუნვის კრიტერიუმს:

  • ყოველდღიურად- სერიაში ვერსიების შეცვლა ყოველდღიურად ხდება,
  • ყოველკვირეული- ვერსიის შეცვლა ხდება ყოველკვირეულად,
  • ყოველთვიური- ვერსიის შეცვლა ხდება ყოველთვიურად,
  • ზომა ბაიტი - ვერსიის შეცვლა ხდება იმ შემთხვევაში, თუ ჟურნალის ზომა გადააჭარბა ბაიტების მითითებულ რაოდენობას; შეგიძლიათ გამოიყენოთ სუფიქსები "k" - კილობაიტები - და "M" - მეგაბაიტები)

  • და პარამეტრი მოიცავსმოჰყვება სხვა (დამატებითი) კონფიგურაციის ფაილის სახელი ან თუნდაც დირექტორიას სახელი. ამ უკანასკნელ შემთხვევაში, მითითებულ დირექტორიაში არსებული ყველა ფაილი, გარდა ქვეცნობარების, სპეციალური ფაილებისა და ფაილების სუფიქსებით გამონაკლისების სიიდან, განიხილება სკრიპტის კონფიგურაციის ფაილები. ლოგრატირება(დირექტივა მოიცავსარ შეიძლება გამოყენებულ იქნას განყოფილებაში, რომელიც განსაზღვრავს დამუშავების პარამეტრებს ფაილების ჯგუფისთვის).

    Პარამეტრი როტაცია ნომერი შეიძლება მოიძებნოს როგორც გლობალურ, ისე ლოკალურ პარამეტრებს შორის და განსაზღვრავს რამდენი ძველი ვერსია უნდა იყოს შენახული; თუ ნომერი არის 0, მაშინ პროტოკოლის დაარქივებული ვერსიები არ იქმნება.

    თუ პარამეტრი დაყენებულია შეკუმშოსშემდეგ ძველი ვერსიები შეკუმშულია gzip-ის გამოყენებით და თუ მითითებულია არაკომპრესია- არ იკუმშებიან. Პარამეტრი შეკუმშოსcmdსაშუალებას გაძლევთ მიუთითოთ რომელი შეკუმშვის პროგრამა იქნება გამოყენებული (გზიპ ნაგულისხმევად) და uncompresscmdაყენებს დეკომპრესიის პროგრამას (ნაგულისხმევად ungzip). შეკუმშვაადგენს შეკუმშვის პროგრამის პარამეტრებს; ნაგულისხმევი არის "-9", ე.ი. მაქსიმალური შეკუმშვა gzip-ისთვის. პარამეტრის გამოყენებით კომპრესექსტიშეგიძლიათ შეცვალოთ შეკუმშული ფაილების სუფიქსი და პარამეტრი გაფართოება სუფიქსი განსაზღვრავს სუფიქსს, რომელიც უნდა დაემატოს ფაილის სახელებს ბრუნვის დროს (შეკუმშვის სუფიქსამდე).

    კონფიგურაციის ფაილებში ნაპოვნი საკვანძო სიტყვებს შორის არის სიტყვები პოსტროტაციადა წინასწარ როტაციარომელიც ემსახურება როგორც ღია ფრჩხილებს გარსის სკრიპტების კონფიგურაციის ფაილებში ჩართვისთვის. კონფიგურაციის ფაილის ყველა ხაზი ხაზიდან პოსტროტაციახაზამდე დასასრულიშესრულებულია როგორც shell ბრძანებები log ფაილის ვერსიის შეცვლის პროცესის შემდეგ. შესაბამისად, ყველა ხაზი ხაზიდან წინასწარ როტაციახაზამდე დასასრულიშესრულებულია ჟურნალის ფაილების როტაციამდე. ამ სკრიპტების დახმარებით თქვენ შეგიძლიათ მოაწყოთ სხვადასხვა პროცედურები ლოგის ფაილების დამუშავების დროს ბრუნვის დროს.

    კონფიგურაციის ფაილის სხვა პარამეტრების გამოყენებით, თქვენ შეგიძლიათ უგულებელყოთ ჟურნალის ფაილებზე წვდომის უფლებები (თუ ეს პარამეტრი არ არის მითითებული, გამოიყენება ძველი ჟურნალის ფაილის ატრიბუტები); მიუთითეთ ვის გაუგზავნოთ შეტყობინებები ხე-ტყის სისტემის მუშაობაში არსებული შეცდომების შესახებ; გაგზავნეთ ჟურნალის საარქივო ასლი მითითებულ მომხმარებელს; დააყენეთ დირექტორია, სადაც პროტოკოლები გადაინაცვლებს ვერსიის შეცვლის დროს (დიაკატორი უნდა განთავსდეს იმავეზე ფიზიკური მოწყობილობაროგორც / var / log) ან მიუთითეთ გამორიცხვის სუფიქსების სია დირექტორიასთვის მოიცავს... ამ მახასიათებლებისა და პარამეტრების დეტალური აღწერა (ისევე, რაც არ იყო ნახსენები) შეგიძლიათ იხილოთ ბრძანებაში კაცი ლოგროტატი.

    როგორც უკვე აღვნიშნეთ, დამატებითი კონფიგურაციის ფაილები ლოგრატირებაშეიძლება მითითებული იყოს სკრიპტის გაშვების ბრძანების ხაზზე. თქვენ შეგიძლიათ მიუთითოთ სახელების თვითნებური რაოდენობა კონფიგურაციის ფაილებისთვის ან დირექტორიებისთვის. ამ სიაში ფაილების და დირექტორიების სახელები უბრალოდ გამოყოფილია სივრცეებით. სიაში სახელების თანმიმდევრობა მნიშვნელოვანია, რადგან შემდეგ კონფიგურაციის ფაილში მითითებული პარამეტრები აჭარბებს მითითებული პარამეტრების მნიშვნელობებს. წინა ფაილი... ფაილების თანმიმდევრობა კონფიგურაციის დირექტორიაში განუსაზღვრელია.

    გარდა ამისა, გაშვების ბრძანების ხაზში შეიძლება მითითებული იყოს შემდეგი პარამეტრები:

    • -დ- გამართვის რეჟიმი, რეალური ცვლილებები არ ხდება,
    • -ვ- შეიტანეთ ცვლილებები მაშინაც კი, თუ ლოგრატირებავერ ხედავს საჭიროებას - ის გამოიყენება დამუშავებული ჟურნალების სიაში ცვლილებების დროს,
    • კაცის საათი
    • მიკ ბაუერი, "პარანოიდული პინგვინი: ნიმუში: ჟურნალის ავტომატური მონიტორინგი ფხიზლებისთვის, მაგრამ ზარმაცებისთვის"
    • RFC 3164. C. Lonvick, BSD Syslog Protocol, 2001 წლის აგვისტო.
    • RFC 3195. D. New, M. Rose, საიმედო მიწოდება syslog-ისთვის, 2001 წლის ნოემბერი.
    • პერ. ს.ლაფშანსკი, "დემონი უყურებს სისტემას"
    • დენის კოლისნიჩენკო,

    syslog პროტოკოლი და მხარდაჭერის პროგრამული უზრუნველყოფა უზრუნველყოფს, რომ მოვლენის ინფორმაცია ჩაიწეროს სისტემის ჟურნალში (ლოგინი, სისტემის კონსოლი), ასევე გადაეცეს ლოგის სერვერს ქსელში, დალაგდეს და დამუშავდეს შეტყობინებების წყაროსა და სიმძიმის მიხედვით. ეს სტატია აღწერს syslog პროტოკოლს, მის დანერგვას Solaris-სა და Linux-ში (syslogd), Cisco IOS-ში და დამხმარე ინსტრუმენტებს: logrotate, logwatch.

    სისტემის კომპონენტებია შეტყობინებების გენერატორი (მოწყობილობა ან პროცესი), გაცვლის პროტოკოლი, შეტყობინებების შემგროვებელი (კოლექტორი, სისტემა სერვერი), რელეები (რელე, იღებს შეტყობინებებს ერთი ან მეტი გენერატორიდან და გადასცემს ერთ ან მეტ კოლექტორს ან შემდეგ რელეს). გენერატორმა (ან რელე გადაცემის დროს) არ იცის მიმღები არის რელე თუ კოლექციონერი, მას შეუძლია გადასცეს ერთი შეტყობინება რამდენიმე მიმღებს, მას შეუძლია თავად დაამუშაოს შეტყობინება (მაგალითად, ფაილში ჩაწერით).

    syslog პროტოკოლი არ უზრუნველყოფს რაიმე დაცვას შეტყობინების გაყალბებისგან. Უარესი, UDP პროტოკოლის გამოყენება საშუალებას აძლევს თავდამსხმელებს გაგზავნონ შეტყობინებები ნებისმიერი ჰოსტის სახელით. ლოკალური ქსელი დაცული უნდა იყოს ეკრანით (IOS ACL, ipchains) ყალბი ლოკალური მისამართებით პაკეტების მიღებისგან (თუმცა ეს ხელს არ უშლის ყალბი შეტყობინებების გაგზავნას ლოკალური ქსელის შიგნიდან) და 514/udp პორტზე გარედან პაკეტების მიღებისგან. ცნობილია დისკის გადაფარვის შემთხვევები ყალბი შეტყობინებებით.

    syslog პროტოკოლი და UDP არ იძლევა გარანტირებულ მიწოდებას (შეტყობინებები შეიძლება დაიკარგოს ქსელის გადატვირთულობისას ან ჩაჭრას, დაზიანებული შეტყობინებები წაიშლება გაფრთხილების გარეშე), სწორი მიწოდების თანმიმდევრობა (შეტყობინება პროცესის დასრულების შესახებ შეიძლება იყოს შეტყობინებამდე მისი დაწყების შესახებ) , პრიორიტეტული მიწოდება.

    შეტყობინებები არ ინახება კონფიდენციალურად, რადგან ისინი გადაცემულია მკაფიო ტექსტში.

    თუ შეტყობინებების გენერატორის კონფიგურაციისას მიუთითებთ კოლექტორის ან რელეს არასწორ მისამართს, მაშინ შეცდომის შეტყობინებები არ იქნება - შეტყობინებები წაიშლება (ან ჩაიწერება სხვის ჟურნალში;).

    არასწორად კონფიგურირებული რელეების მიერ შეტყობინებების გადაცემის მარყუჟისგან დაცვის საშუალებები არ არის გათვალისწინებული.

    RFC 3195 გთავაზობთ ახალ პროტოკოლს TCP-ზე (syslog-conn, 601), რათა უზრუნველყოს მიწოდება სწორი თანმიმდევრობით. განხორციელება არ არის ჩემთვის ცნობილი. XML, SMTP სტილის ბრძანებებისა და დაბრუნების კოდებისა და MIME სათაურების (BEEP) საშინელი ნაზავი, რომელიც შეფუთულია სტანდარტული სისტემის ჟურნალის შეტყობინებებში. გამოიყენება ორი რეჟიმი - RAW (მიმდინარე UDP პროტოკოლის ანალოგი) და COOKED (შეტყობინებები სტრუქტურირებულია ველების მიხედვით). BEEP იძლევა ავთენტიფიკაციის, მთლიანობისა და კონფიდენციალურობის საშუალებას (SASL, TLS).

    syslog-ნიშანი RFC გვთავაზობს ავთენტიფიკაციას, შეკვეთას, შეტყობინებების მთლიანობას და დაკარგული შეტყობინების გამოვლენას სპეციალური შეტყობინებების გენერირებით, რომელიც შეიცავს წინა შეტყობინებების ბლოკის ციფრულ ხელმოწერას, სტანდარტული syslog პროტოკოლისა და ფორმატის შენარჩუნებით და UDP-ის გამოყენებით. გამოიყენება SHA1, OpenPGP DSA-ის მიერ.

    პორტი 514 / UDP გამოიყენება შეტყობინებების მისაღებად. ასევე რეკომენდებულია წყაროს პორტის 514 გამოყენება შეტყობინებებისთვის. შეტყობინება არის ტექსტური სტრიქონი და არ შეიძლება იყოს 1024 ბაიტზე მეტი სიგრძის, წინააღმდეგ შემთხვევაში დასაშვებია მისი შეკვეცა ან თუნდაც გაუქმება. 514 პორტში გაგზავნილი არასწორად ფორმატირებული შეტყობინებაც კი უნდა ჩაითვალოს syslog შეტყობინებად. ამასთან, თუ რელე შეტყობინებას შემდგომ გადასცემს, მაშინ მას უნდა დაემატოს სტანდარტული სათაურები (ამავდროულად, შესაძლოა მისი 1024 ბაიტამდე შემცირება) - USER, NOTICE, მისი ადგილობრივი დრო და შეტყობინების წყაროს მარტივი სახელი.

    შეტყობინება იწყება PRI ველით, რომელიც დაშიფრავს შეტყობინების სიმძიმისა და სიმძიმის დონეს. მას მოსდევს დრო (TIMESTAMP), სივრცე, ჰოსტის სახელი ან IP მისამართი ათობითი აღნიშვნით (HOSTNAME), სივრცე, შეტყობინების თვითნებური ტექსტი (MSG) US-ASCII-ში (0x20 - 0x7e).

    ჰოსტის სახელი (მარტივი, არა FQDN!) იწერება ისე, როგორც ცნობილია შეტყობინების გენერატორი. თუ მოწყობილობას აქვს რამდენიმე ინტერფეისი სხვადასხვა IP მისამართით, მაშინ ნებისმიერი მათგანი შეიძლება გამოყენებულ იქნას როგორც ჰოსტის სახელი ან მისამართი.

    შეტყობინების ტექსტი (MSG) ჩვეულებრივ შეიცავს ტეგს (TAG), რომელიც განსაზღვრავს პროგრამას ან პროცესს, რომელმაც გაგზავნა შეტყობინება და შეტყობინების ტექსტი (CONTENT). ეტიკეტი შეიძლება შეიცავდეს ლათინურ ასოებსა და ციფრებს. შეტყობინების ტექსტის დასაწყისი იდენტიფიცირებულია პირველი სპეციალური სიმბოლოთი, ჩვეულებრივ ორწერტილით ან გასახსნელი კვადრატული ფრჩხილით. მაგალითად, Cisco IOS იყენებს თანმიმდევრული შეტყობინების ნომერს, რასაც მოჰყვება ორწერტილი, როგორც ლეიბლი, ხოლო Unix იყენებს პროგრამის მარტივ სახელს (შეტყობინებების ტექსტი იწყება პროცესის ნომრით კვადრატულ ფრჩხილებში და ორწერტით).

    syslogdიღებს შეტყობინებებს პორტიდან 514 / UDP და ადგილობრივი წყაროებიდან (სოკეტი / განვითარებული / ჟურნალი), მარშრუტებს მათ შეტყობინებების წყაროსა და სიმძიმის დონის მიხედვით. საშუალებას გაძლევთ გამოიყვანოთ შეტყობინებები ჟურნალში, გამომავალი კონსოლში, ტერმინალში, გაგზავნოთ სხვა სერვერზე. შემოღებულია დამატებითი წყაროს ტიპი MARK (ჩვეულებრივი ნიშნები, ინფორმაცია)

    ჟურნალის თითოეული სტრიქონი შეიცავს ერთი შეტყობინების ჩანაწერს, რომელიც შედგება სივრცეებით გამოყოფილი ველებისგან:

    • თარიღი სტანდარტული ტექსტის ფორმატში (TIMESTAMP ველი syslog შეტყობინებისგან)
    • ჰოსტის სახელი (fqdn ან სტენოგრამა, HOSTNAME ველი syslog შეტყობინებადან)
    • შეტყობინების ტექსტი (TAG და CONTENT ველები syslog შეტყობინებისგან)

    გაშვების პარამეტრები:

    • -ა დამატებითი მოსმენა (სასარგებლოა დემონებისთვის, რომლებიც აკეთებენ chroot-ს; შეიძლება რამდენიმე იყოს)
    • -დ(გამართვის რეჟიმი)
    • -ვ კონფიგურაციის ფაილის სახელი (ნაგულისხმევი, /etc/syslog.conf)
    • -თ(შეცვალეთ ჩვეული ქცევა, რომლის დროსაც დისტანციური ჰოსტებიდან მიღებული შეტყობინებები არ გადაიგზავნება დისტანციურ ჰოსტში ჩასაწერად, რათა თავიდან აიცილოთ ციკლი)
    • -ლ მასპინძელი სია (მასპინძლების სია, რომელთა სახელები არ უნდა დაიწეროს FQDN-ებად; გამოყოფილი ორწერტილებით)
    • -მ წუთები (ინტერვალი რეგულარული დროებითი ჩანაწერებისთვის; ნაგულისხმევად - 20; თუ 0, მაშინ საერთოდ არ გააკეთოთ)
    • -ნ
    • -გვ მოსმენა-სოკეტი (ნაგულისხმევი: / dev / ჟურნალი)
    • -რ(დაუშვებს შეტყობინებების მიღება დისტანციური მასპინძლებს; firewall უნდა იყოს ოდნავ ღია syslog for 514 / UDP უნდა განისაზღვროს / etc / მომსახურება)
    • -ს დომენის სია (მითითებული დომენების სახელების ამოღება ჰოსტის სახელებიდან; გამოყოფილი ორწერტილებით; ნაგულისხმევად, დომენი, რომელიც ემთხვევა syslog სერვერის დომენს შეკვეცილია)
    • -ვ
    • -x(აკრძალოს ჰოსტის სახელის განსაზღვრა მისი მისამართით, ხელს უშლის ჩიხს DNS სერვერთან ერთსა და იმავე ჰოსტზე მუშაობისას)

    გამოყენებული ფაილები:

    • /etc/syslog.conf- კონფიგურაციის ფაილი (გაშვებისას შეიცვალა პარამეტრით -ვ)
    • / dev / ჟურნალი- სოკეტი, საიდანაც იკითხება ადგილობრივი შეტყობინებები (გაშვებისას იცვლება პარამეტრით -გვ)
    • /var/run/syslogd.pid- პროცესის ID

    რეაქცია სიგნალებზე:

    • SIGHUP - ხელახალი ინიციალიზაცია (ხურავს ყველა ფაილს, ხელახლა კითხულობს კონფიგურაციის ფაილს)
    • SIGTERM - გამორთვა
    • SIGINT, SIGQUIT - გადით, თუ გამართვა გამორთულია
    • SIGUSR1 - ჩართეთ / გამორთეთ გამართვა (მხოლოდ -d გადამრთველის გამოყენებისას)

    მუშაობს როგორც root. არ ცვლის ფაილის ნებართვებს. თუ მას აიძულებენ შექმნას ფაილი, ის ამას აკეთებს 644 ნებართვით, თუ საჭიროა ჟურნალში წვდომის შეზღუდვა, შესაბამისი ფაილი უნდა შეიქმნას ხელით (ან შეიცვალოს ნებართვები). ქმნის განსაკუთრებულ პრობლემებს ლოგრატირება.

    ეს არის შეტყობინებების მარშრუტის წესების ნაკრები. თითოეული წესი შედგება სელექტორისა და მოქმედებისგან, გამოყოფილი ჩანართებით (Solaris 5 ძველ სისტემებზე) ან სივრცეებით (Linux). შესული შეტყობინების მიღების შემდეგ (klogd-დან, ლოკალური ან დისტანციური პროგრამიდან), syslogd ამოწმებს თითოეულ წესს, შეესაბამება თუ არა შეტყობინება სელექტორის მიერ მითითებულ შაბლონს. თუ ეს შესაძლებელია, შესრულებულია წესში მითითებული მოქმედება. ერთი შეტყობინებისთვის მ. შესრულებულია ქმედებების თვითნებური რაოდენობა (ანუ შეტყობინების დამუშავება არ ჩერდება პირველივე წარმატებით).

    სელექტორს აქვს ორი ნაწილი, გამოყოფილი წერტილით: შეტყობინების წყარო და სიმძიმე. დიდი და პატარა ასოები იგივეა. თქვენ ასევე შეგიძლიათ გამოიყენოთ ნომრები (იხ. /usr/include/syslog.h). syslog.3-ში განსაზღვრული წყაროების გარდა, შეგიძლიათ მიუთითოთ ნიშანი(რეგულარული დროის ანაბეჭდები) უსაფრთხოება(მოძველებული სინონიმი ავტორიზაცია). syslog.h-ში განსაზღვრული სიმძიმის დონეების გარდა, შეგიძლიათ გამოიყენოთ გაფრთხილება(სინონიმი გაფრთხილება), შეცდომა(სინონიმი ცდება), პანიკა(სინონიმი აღმოცენდება). შეტყობინებები, რომელთა დონე ტოლია ან უფრო მაღალია, ვიდრე მითითებულია სელექტორში და წყაროს ტოლი, რომელიც მითითებულია სელექტორში, ითვლება ძალაში. ვარსკვლავი წერტილის წინ შეესაბამება ნებისმიერ წყაროს, წერტილის შემდეგ - ნებისმიერ დონეს. სიტყვა არცერთიწერტილის შემდეგ - დონე არ არის მოცემული წყაროსთვის. თქვენ შეგიძლიათ მიუთითოთ რამდენიმე წყარო ერთ სელექტორში (გამოყოფილი მძიმით). რამდენიმე სელექტორი შეიძლება იყოს მითითებული ერთ ხაზზე. სემანტიკა არ არის ნათელი: თუ იყენებთ პოზიტიურ სელექტორებს, მაშინ ლოგიკურია ანთუ უარყოფითი ( არცერთიდა ძახილის ნიშანი), შემდეგ ლოგიკური და.

    ახალ syslogd-ში (linux) დონეს შეიძლება წინ უძღოდეს თანაბარი ნიშანი - მხოლოდ მითითებული დონის (მაგრამ არა უმაღლესი) შეტყობინებები ემთხვევა სელექტორს; ძახილის ნიშანი - ტოლი ან მეტი დონის მქონე შეტყობინებები არ ემთხვევა; ძახილის ნიშანი და ტოლი არ ემთხვევა შეტყობინებებს მითითებულ დონეზე ტოლი.

    როგორც მოქმედება, შეგიძლიათ მიუთითოთ:

    • ჩვეულებრივი ფაილის სახელი (სრული გზა ძირიდან), მინუს სახელის წინ გამორთავს ჩანაწერების სინქრონიზაციას
    • დასახელებული არხები - fifo (სახელის წინ მოთავსებულია ვერტიკალური ხაზი), თავად არხი უნდა იყოს შეიქმნა syslogd-ის დაწყებამდე mkfifo ბრძანებით
    • ტერმინალი ან კონსოლი
    • @hostname (შეტყობინებების გაგზავნა დისტანციური ჟურნალისთვის)
    • მომხმარებელთა სია (მძიმით გამოყოფილი), რომელთა ტერმინალებზეც გაიგზავნება შეტყობინება
    • ვარსკვლავი ყველა ტერმინალზე (კედელზე) შეტყობინების გასაგზავნად

    კონფიგურაციის ფაილის ანალიზისას syslogdადარებს მისამართს ლოგინი(განსაზღვრულია / etc / ჰოსტებში, არა DNS-ის საშუალებით) თქვენი კომპიუტერის მისამართით და, თუ ის ემთხვევა, განსაზღვრავს ცვლადს LOGHOST... syslog.conf შემდეგ გადაეცემა m4 (1) მაკრო პროცესორს. ძირითადად, ეს გამოიყენება იმისთვის, რომ იგივე კონფიგურაციის ფაილი იყოს გამოყენებული კლიენტსა და სერვერზე (syslog-ის თვალსაზრისით) ჰოსტებზე.

    დაწყების და შეწყვეტის პროცედურა: /etc/init.d/syslog(მას ბმულები /etc/rc?.d დირექტორიებიდან). პროცესის ნომერი ინახება /etc/syslog.pid.

    klogd კითხულობს ბირთვის შეტყობინებებს (/proc/kmsg ან სისტემის ზარების მეშვეობით), განსაზღვრავს დონეს, თარგმნის ბრძანების მისამართებს პროგრამის სახელებზე და აგზავნის შეტყობინებას syslogd-ზე.

    გაშვების პარამეტრები:

    • -c დონე(ამ დონის და ნაკლებად სერიოზული შეტყობინებები გაიგზავნება syslog-ში, ხოლო უფრო სერიოზული შეტყობინებები გამოვა კონსოლში; ნაგულისხმევად - 7; 0 არ არის მითითებული)
    • -დ(გამართვის რეჟიმი)
    • -ვ Ფაილის სახელი (შედით მითითებულ ფაილში syslog-ის ნაცვლად)
    • -მე(გადატვირთეთ მოდულის სიმბოლოები უკვე გაშვებულ klogd-ში, უნდა იქნას გამოყენებული ყოველ ჯერზე მოდულის ჩატვირთვის ან გადმოტვირთვისას; იმედია, insmod, rmmod და modprobe-ის მიმდინარე ვერსიები ამას თავად გააკეთებენ)
    • -ᲛᲔ(გადატვირთეთ ბირთვი და მოდულის სიმბოლოები უკვე გაშვებულ klogd-ში)
    • -კ Ფაილის სახელი (გამოიყენეთ მითითებული ფაილი, როგორც ბირთვის სიმბოლოების ცხრილი, ნაცვლად /boot/System.map)
    • -ნ(არ გადახვიდეთ ფონზე; საჭიროა საწყისიდან გაშვება)
    • -ო(ერთჯერადი რეჟიმი - ჩაწერეთ ბირთვის ბუფერში დაგროვილი ყველა შეტყობინება და გადით)
    • -გვ(ყოველ შემთხვევაში, გადატვირთეთ მოდულის სიმბოლოების ცხრილი მისამართის თარგმნის დროს - ბირთვმა შეიძლება ვერ შეძლოს ამის გაკეთება)
    • -ს(გამოიყენეთ მხოლოდ სისტემური ზარები და არ გადახვიდეთ / proc / kmsg-ზე ორიგინალური შეტყობინებების მისაღებად)
    • -ვ(ვერსიის ჩვენება და დასრულება)
    • -x(არ გადაიყვანოთ მისამართები სახელებად)
    • -2 (კერნელის ავარიის შეტყობინებები - უი! - გაიცემა ორჯერ: მისამართების სახელებად გადაქცევამდე - ksymoops-ისთვის - და შემდეგ)

    ბირთვის შეტყობინებების დონეები (განსაზღვრულია კუთხური ფრჩხილების რიცხვით და გარდაიქმნება syslog სიმძიმეზე, უცვლელი ფაილის გამომავალში):

    • KERN_EMERG - 0 (სისტემა გამოუყენებელია)
    • KERN_ALERT - 1 (მოქმედება დაუყოვნებლივ უნდა განხორციელდეს)
    • KERN_CRIT - 2 (კრიტიკული პირობები)
    • KERN_ERR - 3 (შეცდომის პირობები)
    • KERN_WARNING - 4 (გაფრთხილების პირობები)
    • KERN_NOTICE - 5 (ნორმალური, მაგრამ მნიშვნელოვანი მდგომარეობა)
    • KERN_INFO - 6 (ინფორმაციული)
    • KERN_DEBUG - 7 (გამართვის დონის შეტყობინებები)

    რეაქცია სიგნალებზე:

    • SIGINT, SIGKILL, SIGTERM და SIGHUP - გამორთვა
    • SIGTSTP - შეაჩერე შესვლა
    • SIGCONT - რეზიუმე, შესაძლოა სხვას არჩევა
    • შეტყობინებების წყარო (/ proc / kmsg ან სისტემური ზარები)
    • SIGUSR1 - მოდულების სიმბოლოების გადატვირთვა
    • SIGUSR2 - გადატვირთეთ ბირთვი და მოდულის სიმბოლოები

    პროცესის ნომერი ინახება /var/run/klogd.pid.

    ჟურნალის ინიციალიზაცია: openlog- მითითებულია ყველა მომდევნო შეტყობინებაზე დამატებული სტანდარტული პრეფიქსი (ჩვეულებრივ პროგრამის სახელი, პროცესის ნომერი კვადრატულ ფრჩხილებში და ორწერტილი); წყარო და პარამეტრები. ახლოლოგი- ჭრის დასრულება. syslog- logging (მიუთითებს სტრიქონის წყაროს, სიმძიმეს და ფორმატს, როგორც printf-ში).

    ლოგრატირება(ვერსია 3.2-1 / 3.3.2-1 / 3.5.9) - ბრძოლა მზარდი ჟურნალების წინააღმდეგ: როტაცია (ვერსია), შეკუმშვა, წაშლა და გაგზავნა. გადის ყოველდღიურად კრონით ( /etc/cron.daily/logrotate) და საშუალებას გაძლევთ დაამუშავოთ ჟურნალები, თუ ისინი აღემატება მითითებულ ზომას ან მითითებულ დროში. საშუალებას გაძლევთ დაამუშავოთ არა მხოლოდ syslog ჟურნალები, არამედ ნებისმიერი სხვა პროგრამა. Პარამეტრები:

    • [-d](გამართვის რეჟიმი, რეალური ცვლილებები არ განხორციელებულა)
    • [-f](შეიტანეთ ცვლილებები მაშინაც კი, თუ logrotate ვერ ხედავს საჭიროებას - ის გამოიყენება დამუშავებული ჟურნალების სიაში ცვლილებების დროს)
    • [-ს სახელმწიფო ფაილის სახელი ] (ლოგების ამჟამინდელი მდგომარეობა ინახება ამ ფაილში გაშვებებს შორის, ნაგულისხმევად - /var/lib/logrotate.status)
    • კონფიგურაციის ფაილების სახელები (სახელები გამოყოფილია ინტერვალით; წესრიგს აქვს მნიშვნელობა; თუ დირექტორიას სახელი მითითებულია, მაშინ მასში არსებული თითოეული ფაილი განიხილება კონფიგურაციის ფაილად; RH იყენებს ფაილს /etc/logrotate.confდა დირექტორია /etc/logrotate.d)

    კონფიგურაციის ფაილი განსაზღვრავს გლობალურ პარამეტრებს (თითო სტრიქონზე), რომელიც ადგენს ნაგულისხმევ პარამეტრებს ყველა ჟურნალისთვის. დამუშავებული ჟურნალების თითოეული პარტიისთვის მითითებულია ლოკალური პარამეტრები: მითითებულია ფაილის საბაზისო სახელი, რასაც მოჰყვება ლოკალური პარამეტრები ხვეული ბრეკეტებში, თითო სტრიქონზე. ფაილის სახელი შეიძლება ციტირდეს გარსის წესებით, თუ ის შეიცავს ინტერვალებს ან სხვა სპეციალურ სიმბოლოებს. თქვენ შეგიძლიათ მიუთითოთ მრავალი ფაილის სახელი ან ფაილის სახელის შაბლონები, რომლებიც გამოყოფილია ინტერვალით (ნიმუშები ასევე მიჰყვება გარსის წესებს). თითოეული განყოფილების დამუშავება განიხილება, როგორც ერთიანი მოქმედება. "#" სიმბოლოთი დაწყებული სტრიქონები კომენტარებია. შემდეგი კონფიგურაციის ფაილში მითითებული პარამეტრები აჭარბებს წინა ფაილში მითითებული პარამეტრების მნიშვნელობებს. ლოკალურ პარამეტრებს უპირატესობა აქვს გლობალურ პარამეტრებზე. ფაილების თანმიმდევრობა კონფიგურაციის დირექტორიაში განუსაზღვრელია.

    Პარამეტრები:

    • შეკუმშოს | არაკომპრესია(ძველი ვერსიები შეკუმშულია ან არ არის შეკუმშული gzip-ით)
    • შეკუმშოსcmd(ადგენს შეკუმშვის პროგრამას, gzip ნაგულისხმევად)
    • uncompresscmd(ადგენს დეკომპრესიის პროგრამას, ნაგულისხმევად - ungzip)
    • კომპრესექსტი(ადგენს სუფიქსს შეკუმშული ფაილებისთვის)
    • შეკუმშვა(ადგენს შეკუმშვის პროგრამის პარამეტრებს; ნაგულისხმევი არის "-9", ანუ მაქსიმალური შეკუმშვა gzip-ისთვის)
    • copytruncate | nocopytruncate(ჩვეულებრივ, ძველ ვერსიას ეწოდა სახელი და იქმნება ჟურნალის ახალი ვერსია; როდესაც ეს პარამეტრი დაყენებულია, logrotate აკოპირებს ჟურნალს ახალ ფაილში და შემდეგ წყვეტს ძველს; გამოიყენება, თუ ჟურნალის შემქმნელი პროგრამა ვერ დახურავს მას; ჩანაწერები მზადდება კოპირებასა და შეკვეცას შორის იკარგება; მაგრამ ეხმარება თუ პროგრამა, რომელიც ქმნის ჟურნალს, დამატების რეჟიმის ნაცვლად, უბრალოდ წერს ფაილს შიდა მაჩვენებლის გამოყენებით?)
    • შექმნა [ დაშვება-უფლებები მფლობელი ჯგუფი] | შექმენით(ჟურნალის ძველი ვერსიის სახელის გადარქმევისთანავე და დარეკვამდე პოსტროტაციაიქმნება ახალი ჟურნალი მითითებული ატრიბუტებით - ნებართვები დაყენებულია ოქტალურად, როგორც chmod.2-ში; თუ ატრიბუტები არ არის მითითებული, ისინი აღებულია ძველი ჟურნალიდან)
    • ყოველდღიურად(სერიის ვერსიის შეცვლა ყოველდღიურად ხდება)
    • დაგვიანებით შეკუმშვა | nodelaycompress(ზოგიერთი პროგრამა დაუყოვნებლივ არ ხურავს ჟურნალს, ამ შემთხვევაში შეკუმშვა უნდა გადაიდოს შემდეგ ციკლამდე)
    • შეცდომები ელ (ვის გაუგზავნოთ შეცდომების შესახებ მოხსენებები)
    • გაფართოება სუფიქსი (ადგენს ფაილების სახელებს დამატებულ სუფიქსს შეკუმშვის სუფიქსის წინ ბრუნვისას)
    • ცარიელი | ცნობისმოყვარე(შეცვალეთ ვერსიები მაშინაც კი, თუ ფაილი ცარიელია; ეს არის ნაგულისხმევი)
    • მოიცავს Ფაილის სახელი | დირექტორია-სახელი (ტექსტურად ჩაანაცვლეთ ფაილი ან ყველა ფაილი მითითებული დირექტორიადან; ქვედირექტორიები, სპეციალური ფაილები და ფაილები სუფიქსებით გამონაკლისების სიიდან არ შედის; არ შეიძლება გამოყენებულ იქნას განყოფილებაში)
    • ფოსტა მისამართი | nomail(როდესაც ვერსიის ცვლილება საჭიროებს ძველი ჟურნალის წაშლას, შემდეგ გაგზავნას მითითებულ მისამართზე)
    • ფოსტა ჯერ(გააგზავნეთ არა ჟურნალის წაშლილი ვერსია, არამედ პირველი)
    • მეილასტი(გააგზავნეთ ჟურნალის წაშლილი ვერსია; ეს ნაგულისხმევია)
    • დაკარგული | ნომისინგოკი(არ გამოაგზავნოთ შეცდომის შეტყობინებები, თუ ჟურნალი აკლია)
    • ყოველთვიური(ვერსიის შეცვლა ხდება ყოველთვიურად)
    • olddir დირექტორია | ნოოლდირი(ვერსიის შეცვლის დროს ჟურნალი გადადის მითითებულ დირექტორიაში; უნდა იყოს იმავე ფიზიკურ მოწყობილობაზე)
    • პოსტროტაცია დასასრულიშესრულებულია როგორც shell ბრძანებები განახლების პროცესის შემდეგ)
    • წინასწარ როტაცია(ყველა შემდგომი ხაზი ხაზამდე დასასრულიშესრულებულია განახლების პროცესამდე)
    • როტაცია ნომერი (რამდენი ძველი ვერსია შევინარჩუნოთ; თუ 0, მაშინ არცერთი)
    • ზომა ბაიტი (ვერსიის ცვლილება ხდება იმ შემთხვევაში, თუ ჟურნალის ზომა აღემატება მითითებულ რაოდენობას; შეგიძლიათ გამოიყენოთ სუფიქსები "k" - კილობაიტები - და "M" - მეგაბაიტები)
    • გაზიარებული სკრიპტები | nosharedscripts(შეასრულეთ ბრძანებები წინასწარ როტაციადა პოსტროტაციამხოლოდ ერთხელ განყოფილებაში აღწერილი ყველა ფაილისთვის)
    • ტაბუდადებული [+ ] სუფიქს-სიტი (აზუსტებს სუფიქსის გამონაკლისების სიას მოიცავს; თუ მითითებულია პლუს ნიშანი, მაშინ დამატება, წინააღმდეგ შემთხვევაში ჩანაცვლება; ნაგულისხმევი: .rpmorig, .rpmsave, .rpmnew, ", v", .swp და "~")
    • ყოველკვირეული(ვერსიის შეცვლა ხდება ყოველკვირეულად)

    მიწოდებისას RH /etc/logrotate.confაღწერს გლობალურ პარამეტრებს და პარამეტრებს / var / log / wtmp და / var / log / lastlog-ისთვის და ეხება დირექტორიას /etc/logrotate.d, რომელშიც თითოეული პაკეტი წერს ლოკალურ პარამეტრებს თავისი ჟურნალებისთვის.

    logwatch არის ჩარჩო პროგრამების დასაწერად (ე.წ. ფილტრები), რათა ამოიღონ სასარგებლო ინფორმაცია მრავალრიცხოვანი, დიდი და მრავალფეროვანი ჟურნალებიდან (არა მხოლოდ syslog). "პაკეტი" შეიცავს რამდენიმე ფილტრს, რომელიც განკუთვნილია Red Hat Linux-ისთვის (ერთგვარი უძველესი ვერსია, რადგან xinetd-ის ნაცვლად მოხსენიებულია inetd), მაგრამ თქვენ თავად მოგიწევთ მათი ადაპტირება კონკრეტული სიტუაციისთვის. ბოლო ცვლილება ავტორმა 2000 წლის სექტემბერში განხორციელდა, ამიტომ შემდგომ განვითარებას ლოდინი არ სჭირდება.

    ფილტრები შეიძლება დაიწეროს ნებისმიერ პროგრამირების ენაზე, მაგრამ პაკეტის ავტორი უპირატესობას ანიჭებს perl-ს. ფილტრები ისე უნდა დაიწეროს, რომ მათ წაიკითხონ მონაცემები stdin-დან და შედეგი გამოიყვანონ stdout-ში. ფილტრის გამოძახებამდე დაყენებულია გარემოს ცვლადები: LOGWATCH_DATE_RANGE, LOGWATCH_DETAIL_LEVEL, LOGWATCH_TEMP_DIR, LOGWATCH_DEBUG. მთავარი პროგრამაც პერლშია დაწერილი: /etc/log.d/scripts/logwatch.pl(/etc/log.d/logwatch, / usr / sbin / logwatch და /etc/cron.daily/00-logwatch არის მისი სიმბოლური ბმული).

    დირექტორია /etc/log.d/conf/logfiles/შეიცავს ჟურნალის ჯგუფების კონფიგურაციის ფაილებს, რომლებშიც ინახება შენახული სერვისების ჩანაწერები. თითოეული ჯგუფი აღწერილია ცალკე ფაილში ჯგუფის სახელი.კონფ, რომელშიც მითითებულია:

    • LogFile = ჟურნალის შემცველი ფაილის ან სახელის ნიმუშის სახელი; შესაძლებელია მრავალი სახელის ან ნიმუშის მითითება; ასახელებს მ. LogDir-თან შედარებით
    • არქივი = ფაილის სახელი, რომელიც შექმნილია ჟურნალის დაარქივებული ვერსიის ლოგორატით, ან დასახელების ნიმუში; შესაძლებელია მრავალი სახელის ან ნიმუშის მითითება; ასახელებს მ. LogDir-თან შედარებით
    • ფილტრის სახელები ( მხოლოდ ერთხელ, თუმცა მეორე ნაჩვენებია!)-დან /etc/log.d/scripts/shared/როგორც
      *ფილტრის სახელი = პარამეტრები მაგალითად, ჟურნალის თარიღის მიხედვით გასაფილტრად, თუ ის დაწერილია სტანდარტულ syslog ფორმატში, გამოიყენეთ ხაზი:
      * ApplyStdDate =

    დირექტორია /etc/log.d/conf/services/შეიცავს კონფიგურაციის ფაილებს იმ სერვისებისთვის, რომელთა ჟურნალის ჩანაწერებს logwatch დაამუშავებს. თითოეული სერვისი აღწერილია ცალკე ფაილში სერვის-სახელი.კონფ, რომელშიც მითითებულია:

    • LogFile = ჟურნალის ჯგუფის სახელი
    • ფილტრის სახელები /etc/log.d/scripts/shared/როგორც
      *ფილტრის სახელი = პარამეტრები სერვისის ფილტრის წინ
    • $გარემო-ცვლადი-სახელი = მნიშვნელობა

    დირექტორია /etc/log.d/scripts/logfiles/შეიცავს ფილტრებს ჟურნალის ჯგუფების დასამუშავებლად: ჟურნალების ჯგუფის დამუშავებისას, დირექტორიაში არსებული ყველა ფაილი /etc/log.d/scripts/logfiles/ ჯგუფის სახელი გამოიყენება როგორც ფილტრები.

    დირექტორია /etc/log.d/scripts/services/შეიცავს ფილტრებს კონკრეტული სერვისების ჩანაწერების დასამუშავებლად.

    დირექტორია /etc/log.d/scripts/shared/შეიცავს ზოგად ფილტრებს, რომლებიც გამოიყენება ჟურნალის ჯგუფის კონფიგურაციის ფაილებში:

    • applicationstddate - ფილტრავს ჟურნალს საჭირო თარიღით, თუ ის დაწერილია syslog ფორმატში (აქ და პირად ფილტრებში თარიღის მიხედვით ჩადეთ LANG = გამოძახების თარიღამდე, წინააღმდეგ შემთხვევაში Mar არანაირად არ ემთხვევა Mar-ს;)
    • expandrepeat - აქცევს "ბოლო შეტყობინების განმეორებით" ხაზებს წინა სტრიქონიდან შეტყობინების ხაზების შესაბამის რაოდენობაში
    • onlycontains - ტოვებს მხოლოდ იმ ჟურნალის ხაზებს, რომლებიც შეიცავს მითითებულ სტრიქონს (მე ვათავსებ ბრჭყალებს "$ *"-ის გარშემო)
    • onlyservice - ამოიღებს ჟურნალიდან syslog ფორმატში მითითებულ სერვისთან დაკავშირებულ ხაზებს (სერვისის სახელი გადაეცემა პარამეტრად)
    • წაშლა - ტოვებს მხოლოდ იმ ჟურნალის ხაზებს syslog ფორმატში, რომლებიც არ შეიცავს მითითებულ ხაზს ( მე დავაყენე ციტატები "$ *"-ის გარშემო და წავშალე1, ამოიღე2 და ა.შ. რადგან არ მესმოდა როგორ დავაკონკრეტო ეგრეპისთვის რამდენიმე ქვესახელი ერთ ხაზზე; სხვათა შორის, პარამეტრები ჩანაცვლებულია გარსში, ამიტომ სპეციალური სიმბოლოების გამოყენებაც შეუძლებელია)
    • removeheaders - წაშალეთ სტანდარტული ველები (თარიღი, დრო, ჰოსტის სახელი, სერვისის ეტიკეტი და პროცესის ნომერი)
    • removeservice - ამოიღებს ხაზებს ჟურნალიდან syslog ფორმატში, რომლებიც არ არის დაკავშირებული მითითებულ სერვისთან (სერვისის სახელი გადაეცემა პარამეტრად)

    ნაგულისხმევი პარამეტრები ინახება /etc/log.d/conf/logwatch.conf ფაილში (/etc/log.d/logwatch.conf-ს აქვს მასზე სიმბოლური ბმული), კომენტარები, რომლებშიც გაძლევს საშუალებას გაიგოს მნიშვნელობა. პარამეტრები:

    • LogDir - დირექტორია, რომლის მიმართაც განიხილება ფაილის სახელები
    • MailTo - ვის გაუგზავნოთ ანგარიში
    • ბეჭდვა - ანგარიშის ფოსტით გაგზავნის ნაცვლად, გაუშვით stdout-ზე
    • შენახვა - ანგარიშის ფოსტით გაგზავნის ნაცვლად, ის შეინახავს მითითებულ ფაილში
    • არქივები - გამოიყენეთ logrotate-ის მიერ გენერირებული ჟურნალების ვერსიები
    • დიაპაზონი - განიხილება დროის ინტერვალი: ყველა, დღეს, გუშინ (გუშინდელი კალენდარული დღე)
    • დეტალი - ანგარიშის დეტალების დონე: 0-დან 10-მდე ან დაბალი, Med, მაღალი
    • სერვისი - ყველა ან ფილტრის სახელი /etc/log.d/scripts/services/-დან (შეიძლება მიუთითოთ მრავალი ფილტრი)
    • LogFile - ჟურნალის ჯგუფის ყველა ან სახელი (შეიძლება რამდენიმე ჯგუფის მითითება)

    გაშვების პარამეტრები:

    • -- დეტალი დონე (მოხსენების დეტალების დონე: მაღალი, საშუალო ან დაბალი)
    • --logfile ჯგუფი- ჟურნალები (ამ ჯგუფის მხოლოდ ჟურნალების დამუშავება; ჯგუფი მითითებულია სიმბოლური სახელით კონფიგურაციის ფაილში; შესაძლებელია რამდენიმე ჯგუფის მითითება)
    • -- სერვისი სერვის-სახელი (დაამუშავეთ მხოლოდ ის ჩანაწერები ჟურნალებში, რომლებიც დაკავშირებულია ამ სერვისთან; სერვისი მითითებულია სიმბოლური სახელით კონფიგურაციის ფაილში; შესაძლებელია მრავალი სერვისის მითითება; სახელი ყველაზარების ჩანაწერების დამუშავება ყველა სერვისისთვის)
    • -- ბეჭდვა(მოხსენება stdout-ს)
    • --mailto მისამართი (გააგზავნეთ ანგარიში მითითებულ მისამართზე)
    • --შენახვა Ფაილის სახელი (დაწერეთ ანგარიში მითითებულ ფაილში)
    • -- არქივები(დაამუშავეთ არა მხოლოდ ჟურნალების მიმდინარე ვერსიები, არამედ ლოგროტატის მიერ შექმნილი ძველი ასლები)
    • --დიაპაზონი თარიღი-ინტერვალი (დაამუშავეთ მხოლოდ ის ჩანაწერები ჟურნალებში, რომლებიც დაკავშირებულია მოცემულ დროის ინტერვალთან: Გუშინ, დღეს, ყველა)

    მთავარი გამოყენება არის 00-logwatch ფაილის შეტანა (დაწყებული "00"-დან, რათა იმოქმედოს logrotate-მდე) დირექტორიაში /etc/cron.daily, რაც იწვევს logwatch-ის ყოველდღიურ გაშვებას ნაგულისხმევი პარამეტრებით.

    სამწუხაროდ, ყველა ფილტრი ისეა შექმნილი, რომ ჟურნალები იწერება იმავე ჰოსტზე, რომელზეც სერვისი მუშაობს.

    ყველა ჟურნალი ინახება ერთ კომპიუტერზე (თუ პარანოიდული ტენდენციები გაქვთ, შეგიძლიათ ჩაწეროთ ჟურნალი ერთდროულად ორ სერვერზე).

    მიმოწერა ოფიციალურ წყაროს სახელსა და რეალურ მოწყობილობას ან პროგრამას შორის:

    • local0 - Cisco
    • local3 - ftp (არსებობს სპეციალური წყაროს სახელი, მაგრამ Solaris 2.5-მა ეს არ იცის)
    • local4 - დაცულია ბუღალტრული აღრიცხვისთვის
    • local5 - POP3 / IMAP
    • local6 - tac_plus>

    514 / udp პორტის ეკრანი უნდა იყოს გახსნილი სერვერზე (შეგიძლიათ შეზღუდოთ პაკეტების წყაროს მისამართები, მაგრამ ეს მხოლოდ უბედური შემთხვევისგან დაგეხმარებათ). დაწყებული syslogd (პარამეტრები /etc/rc.d/init.d/syslog ან / etc / sysconfig / syslog) უნდა დაიწყოს ღილაკებით "-r -m 0" (და ასევე "-x", თუ იგივე კომპიუტერი არის გაშვებული DNS სერვერი). დაიწყეთ klogd "-2 -c 1" კონცენტრატორებით. Syslog.conf დაყენება:

    • * .crit - CRIT სიმძიმის დონის და უფრო მაღალი შეტყობინებები უნდა გაიგზავნოს ტერმინალებში და ჩაიწეროს ცალკე ფაილში (chmod 600), თქვენი შეტყობინებები უნდა გაიგზავნოს სარეზერვო სერვერზე; sendmail კრიტიკულად განიხილავს შეტყობინებებს ფოსტის მიღებასთან დაკავშირებული პრობლემების შესახებ
    • kern - შექმენით kern ფაილი შეტყობინებების ყველა დონისთვის (chmod 600)
    • ფოსტა - შექმენით ფოსტის ფაილი ყველა დონის შეტყობინებებისთვის (სინქრონიზაციის გარეშე)
    • auth, authpriv - შექმენით უსაფრთხო ფაილი ყველა დონის შეტყობინებებისთვის (chmod 600)
    • ახალი ამბები - ახალი ამბების დირექტორიაში შექმენით ცალკე ფაილი თითოეული სიმძიმის დონისთვის (გამართვა სინქრონიზაციის გარეშე)
    • cron - შექმენით cron ფაილი ყველა დონის შეტყობინებებისთვის (cron RH 6.2-ში და Solaris 2.5 ვერ გამოიყენებს syslog-ს)
    • local0 - შექმენით ცალკე ფაილი თითოეული სიმძიმის დონისთვის cisco დირექტორიაში (შეცდომა და ქვემოთ სინქრონიზაციის გარეშე)
    • local3 - ftp დირექტორიაში შექმენით ცალკე ფაილი თითოეული სიმძიმის დონისთვის (ინფორმაცია და გამართვა სინქრონიზაციის გარეშე)
    • local5 - შექმენით imap.log ფაილი ყველა დონის შეტყობინებებისთვის
    • local6 - შექმენით tac_plus.log ფაილი ყველა დონის შეტყობინებებისთვის
    • local7 - boot.log ფაილი (შეტყობინებები სისტემის ჩატვირთვისას და syslogd და klogd დაწყება ან გაჩერება)
    • INFO დონის და უფრო მაღალი დონის ყველა შეტყობინება, რომელიც არ მოხვდა ზემოთ განსაზღვრულ ფაილში, ჩაწერეთ შეტყობინებების ფაილში (chmod 600)

    კლიენტის კომპიუტერებზე, დააკონფიგურირეთ syslog ისე, რომ ყველა შეტყობინება გაიგზავნება syslog სერვერზე, შეცდომის შეტყობინებები დუბლირებულია / var / log / syslog, კრიტიკული სტატუსის შეტყობინებები დუბლირებულია კონსოლზე, მომხმარებლის ტერმინალებზე. ლინუქსის აპარატებზე ასევე ჩატვირთეთ შეტყობინებები ადგილობრივ ფაილში (local7, boot.log). სარეზერვო syslog სერვერმა უნდა მიიღოს კრიტიკული შეტყობინებები ქსელიდან და ჩაწეროს ისინი ფაილში (ხვრელი ეკრანზე, "-r" გაშვების შეცვლა).

    logrotate: შეინახე სამუდამოდ, შეცვალე ვერსიები რაც შეიძლება იშვიათად (თვეში, გარდა squid), გადაყარა ცალკე დირექტორიები (გარდა squid) და შეკუმშოს (დაყოვნებულ რეჟიმში, გარდა ftpd, linuxconf, sendfax), გამომიგზავნე შეცდომები და წაშლილი ფაილები. პარამეტრების დამთხვევა syslog-ისთვის.

    ფაილის სახელის წინ მილის სიმბოლოს (|) განთავსება საშუალებას მოგცემთ გამოიყენოთ ფიფო (პირველი - პირველი გამოსვლა,პირველი მოვიდა - პირველი გამოვიდა) ან დასახელებული მილიროგორც შეტყობინებების მიმღები. syslogd-ის დაწყებამდე (ან გადატვირთვამდე), თქვენ უნდა შექმნათ fifo mkfifo ბრძანების გამოყენებით. ზოგჯერ fifos გამოიყენება გამართვის მიზნით.

    ტერმინალი და კონსოლი

    ტერმინალი, როგორიცაა / dev / კონსოლი.

    დისტანციური მანქანა

    სხვა ჰოსტზე შეტყობინებების გადასაგზავნად, ჰოსტის სახელს წინ უძღვით @ სიმბოლო. გაითვალისწინეთ, რომ შეტყობინებები არ არის გადამისამართებული მიმღები ჰოსტიდან. (ამ დავალებამ იმუშაოს კლიენტზე და სერვერზე ფაილში / და ა.შ. / სერვისებიხაზი უნდა დაიწეროს syslog 514 / udpდა UTP პორტი 514 ღიაა)

    მომხმარებელთა სია

    მძიმით გამოყოფილი მომხმარებელთა სია, რომლებიც იღებენ შეტყობინებებს (თუ მომხმარებელი შესულია). ეს ხშირად მოიცავს root მომხმარებელს.

    ყველა დარეგისტრირებული მომხმარებელი

    კედლის ბრძანებით ყველა დარეგისტრირებული მომხმარებლის შეტყობინებისთვის გამოიყენეთ ვარსკვლავი (*) სიმბოლო.

    მაგალითი გაურთულებელი syslog.conf:

    # გამოიტანეთ ყველა ბირთვის შეტყობინება კონსოლში. # ბირთვი. * .info; mail.none; authpriv.none; cron.none / var / log / messages # ჩაწერეთ კონფიდენციალური # ავთენტიფიკაციის ინფორმაციის შემცველი შეტყობინებები ცალკე ფაილში, მიუხედავად მათი დონისა. authpriv * / var / log / უსაფრთხო # ფოსტის სისტემიდან ყველა შეტყობინება ასევე უნდა ჩაიწეროს ცალკე ფაილში. ფოსტა * - / var / log / maillog # ჩაწერეთ შეტყობინებები გრაფიკის მიხედვით / var / log / cron cron. * / var / log / cron # გადაუდებელი შეტყობინებები დაუყოვნებლივ უნდა მიიღოთ # სისტემის ყველა მომხმარებელი * .emerg * # შეტყობინებების შენახვა სიახლეების შესახებ crit დონე და უფრო მაღალი ცალკე ფაილში. uucp, news.crit / var / log / spooler # ჩატვირთვის შეტყობინებების შენახვა boot.log local7. * /var/log/boot.log

    როგორც მრავალი კონფიგურაციის ფაილი, სინტაქსი ასეთია:

    • #-ით დაწყებული ხაზები და ცარიელი ხაზები იგნორირებულია.
    • * სიმბოლო შეიძლება გამოყენებულ იქნას ყველა კატეგორიის ან ყველა პრიორიტეტის აღსანიშნავად.
    • სპეციალური საკვანძო სიტყვა none მიუთითებს, რომ ამ მოქმედებისთვის ამ კატეგორიის შესვლა არ უნდა განხორციელდეს.
    • დეფისი ფაილის სახელის წინ (როგორიცაა / var / log / maillog ამ მაგალითში) მიუთითებს, რომ ჟურნალი არ უნდა იყოს სინქრონიზებული ყოველი ჩანაწერის შემდეგ. სისტემის ავარიის შემთხვევაში, თქვენ შეიძლება დაკარგოთ ინფორმაცია, მაგრამ სინქრონიზაციის გამორთვა გააუმჯობესებს მუშაობას.

    კონფიგურაციის ფაილის სინტაქსში შეგიძლიათ დააყენოთ პრიორიტეტამდე ნიშანი!მიუთითოს, რომ ქმედება არ უნდა იქნას გამოყენებული, ამ დონიდან და ზემოდან... ანალოგიურად, პრიორიტეტი შეიძლება მიენიჭოს ნიშანი =მიუთითოს, რომ წესი ვრცელდება მხოლოდ იმ დონეზე, ან != მიუთითოს, რომ წესი ვრცელდება ყველა დონეზე გარდა ამ ერთისა. რამდენიმე მაგალითი ნაჩვენებია ქვემოთ (ბევრი სხვა მაგალითი შეგიძლიათ იხილოთ man syslog.conf-ში):

    # გაგზავნეთ ყველა ბირთვის შეტყობინება / var / log / ბირთვი. # გაუგზავნეთ ყველა კრიტიკული და უფრო მაღალი შეტყობინება დისტანციურ sysloger მანქანაზე და კონსოლზე # გაგზავნეთ ყველა ინფორმაცია, შეტყობინება და გამაფრთხილებელი შეტყობინება / var / log / kernel-info # kern. * / Var / log / kernel kern.crit @sysloger kern .crit / dev / console kern.info; kern.! err / var / log / kernel-info # ყველა ფოსტის სისტემის შეტყობინების გაგზავნა ინფორმაციის დონის გარდა / var / log / ფოსტაში. ფოსტა *; ფოსტა.! = ინფორმაცია / var / ჟურნალი / ფოსტა

    შევეცადე syslogd-ის მუშაობა რაც შეიძლება ნათლად მეჩვენებინა დიაგრამაზე:

    syslogd დემონის დაწყება

    ლოგის დემონი იწყება სისტემის ინიციალიზაციის ეტაპზე სკრიპტის საშუალებით /etc/rc.d/init.d/syslog, თუმცა, გაშვების პარამეტრების დასაყენებლად, არ არის საჭირო ამ სკრიპტის კორექტირება - 7.2 ვერსიიდან დაწყებული, გაშვების ვარიანტები იკითხება ცალკე კონფიგურაციის ფაილიდან. / etc / sysconfig / syslog (/ etc / default / syslogდებიანში).

    აქ არის რამდენიმე შესაძლო syslogd დემონის გაშვების პარამეტრები:

    • -ა / საქაღალდე / სოკეტი- დამატებითი მოსასმენი სოკეტის მითითება (არ დაგავიწყდეთ ჯერ სოკეტის შექმნა)
    • -დ- გამართვის რეჟიმი. ამ შემთხვევაში, დემონი არ გადადის ფონზე და აგზავნის ყველა შეტყობინებას მიმდინარე ტერმინალში;
    • -ვ კონფიგურაციის ფაილის სახელი... განსაზღვრავს ალტერნატიული კონფიგურაციის ფაილის სახელს, რომელიც გამოყენებული იქნება ნაგულისხმევი /etc/syslog.conf-ის ნაცვლად;
    • -მე მასპინძლის სია- ჰოსტების სიის დაყენება, რომელთა სახელები არ უნდა იყოს ჩაწერილი დომენის სრული სახელის მითითებით (FQDN - Full Qwalified Domain Name);
    • -წუთი- ამ ოფციის გარეშე გაშვებული sysklogd ყოველ 20 წუთში აღრიცხავს ნიშნის კატეგორიის შეტყობინებებს (დროის ნიშანს). -m ოფციის გამოყენებით შეგიძლიათ ან შეცვალოთ ინტერვალი ნიშნებს შორის, ან მთლიანად გააუქმოთ ასეთი შეტყობინებების გაცემა;
    • -p სოკეტი- ალტერნატიული UNIX სოკეტის დაყენება (ნაგულისხმევად მოსმენის ნაცვლად / dev / ჟურნალი);
    • -რ- დისტანციური ჰოსტებისგან შეტყობინებების მიღების ნებართვა;
    • -x- ჰოსტის სახელის მისამართით განსაზღვრის აკრძალვა, რათა თავიდან აიცილოს გაყინვა იმავე ჰოსტზე DNS სერვერთან მუშაობისას.
    • -ვ- აჩვენე ვერსია და დაასრულე მუშაობა

    syslogd დემონის დაწყების შემდეგ იქმნება სტატუსის ფაილი / var / lock / subsys / syslogნულოვანი სიგრძე და ფაილი პროცესის ID-ით /var/run/syslogd.pid.

    ბრძანების გამოყენებით
    kill -SIGNAL `cat / var / run / syslogd.pid`

    შეიძლება გაიგზავნოს syslogd დემონსერთ-ერთი შემდეგი სიგნალი: სიღუპი- დემონის გადატვირთვა; SIGTERM- სამუშაოს დასრულება; SIGUSR1- ჩართეთ / გამორთეთ გამართვის რეჟიმი.

    სისტემაში რეალურად მუშაობს ორი დემონი - syslogdდა კგდ... ორივე დემონი შედის პაკეტში sysklogd.

    კლოგდ დემონიპასუხისმგებელი მოვლენებზე შესვლაზე სისტემის ბირთვი... ცალკე klogd დემონის საჭიროება იმიტომ ხდება, რომ ბირთვს არ შეუძლია გამოიყენოს სტანდარტული syslog ფუნქცია. საქმე იმაშია, რომ სტანდარტული C ბიბლიოთეკები (მათ შორის ბიბლიოთეკა, რომელიც შეიცავს syslog ფუნქციას) განკუთვნილია მხოლოდ გამოსაყენებლად. ჩვეულებრივი აპლიკაციები... ვინაიდან ბირთვს ასევე სჭირდება ჟურნალის ფუნქციონირება, ის მოიცავს საკუთარ ბიბლიოთეკებს, რომლებიც მიუწვდომელია აპლიკაციებისთვის. ამიტომ, ბირთვი იყენებს შეტყობინების გენერირების საკუთარ მექანიზმს.

    კლოგდ დემონიშექმნილია ამ შეტყობინებების დამუშავების ორგანიზებისთვის. პრინციპში, მას შეუძლია ამ დამუშავების გაკეთება სრულიად დამოუკიდებლად და syslogd-ისგან დამოუკიდებლად, მაგალითად, ამ შეტყობინებების ფაილში ჩაწერით, მაგრამ უმეტეს შემთხვევაში გამოიყენება ნაგულისხმევი klogd პარამეტრი, რომელიც აგზავნის ყველა შეტყობინებას ბირთვიდან იმავე syslogd დემონში.

    ავტომატური როტაცია (სრული ფაილების განახლება) და ჟურნალების დაარქივება

    დროთა განმავლობაში, ჟურნალის ფაილი იზრდება, განსაკუთრებით ნებისმიერი სერვისის ინტენსიური მუშაობისას. შესაბამისად, თქვენ უნდა შეძლოთ მორების ზომის კონტროლი. ეს კეთდება logrotate ბრძანებებირაც ჩვეულებრივ კეთდება კრონ დემონი... კრონის მუშაობის შესახებ შემდეგ სტატიებში ვისაუბრებ. მთავარი მიზანი logrotate ბრძანებებიარის ჟურნალების პერიოდულად სარეზერვო ასლის შექმნა და ახალი სუფთა ჟურნალის შექმნა. ჟურნალების მრავალი თაობა ინახება და როდესაც ბოლო თაობის ჟურნალი მიაღწევს ვადის გასვლის თარიღს, შესაძლებელია მისი დაარქივება (შეკუმშვა). შედეგი შეიძლება გაიგზავნოს ფოსტით, მაგალითად, არქივის მოვლაზე პასუხისმგებელ პირს.

    მორების ბრუნვისა და არქივის რიგის დასადგენად გამოიყენეთ კონფიგურაციის ფაილი /etc/logrotate.conf ... სხვადასხვა ჟურნალისთვის შეგიძლიათ დააყენოთ განსხვავებული სიხშირე, მაგალითად, ყოველდღიური, ყოველკვირეული ან ყოველთვიური, გარდა ამისა, შეგიძლიათ დაარეგულიროთ დაგროვილი თაობების რაოდენობა, ასევე მიუთითოთ, გაეგზავნება თუ არა არქივის ასლები არქივის პასუხისმგებელ პირს. და თუ ასეა, როდის. ნაჩვენებია ქვემოთ მაგალითი /etc/logrotate.conf ფაილი:

    # "ნაგულისხმევი" პარამეტრები დაყენებულია ჯერ (გლობალური პარამეტრები) # განაახლეთ ჟურნალის ფაილები ყოველკვირეულად ყოველკვირეულად # შეინახეთ ჟურნალების არქივი ბოლო 4 კვირის განმავლობაში როტაცია 4 # შექმენით ახალი (ცარიელი) ფაილი ბრუნვის შემდეგ (განახლება) შექმენით # კომენტარის დატოვება, თუ გსურთ შენახული ფაილების შეკუმშვა #compress # enable როტაციის პარამეტრები მითითებული დირექტორიაში შედის /etc/logrotate.d # არ შეინახოთ wtmp, ან btmp - ჟურნალის მონაცემების ბრუნვის პარამეტრები შემდეგია: / var / log / wtmp (missingok ყოველთვიური შექმნა 0664 root utmp როტაცია 1) / var / log / btmp (missingok ყოველთვიური შექმნა 0664 root utmp როტაცია 1) # კონკრეტული სისტემის ჟურნალის კონფიგურაცია შესაძლებელია ქვემოთ

    გლობალური ვარიანტები მოთავსებულია დასაწყისში logrotate.conf ფაილი... ისინი გამოიყენება ნაგულისხმევად, თუ სხვაგან უფრო კონკრეტული არაფერია მითითებული. მაგალითში ხდება ჟურნალების როტაცია ყოველკვირეულიდა სარეზერვო ასლები ინახება ოთხიკვირები. როგორც კი ჟურნალი შემობრუნდება, ძველი ჟურნალის ნაცვლად ავტომატურად იქმნება ახალი. Logrotate.conf ფაილიშეიძლება შეიცავდეს სპეციფიკაციები სხვა ფაილებიდან. ასე რომ, ის მოიცავს ყველა ფაილს დირექტორიადან /etc/logrotate.d.

    ეს მაგალითი ასევე შეიცავს სპეციალურ წესებს / var / log / wtmpდა / var / log / btmp(სისტემაში შესვლის წარმატებული და წარუმატებელი მცდელობების შესახებ ინფორმაციის შენახვა), რომლებიც ტრიალებს ყოველთვიურად. თუ ფაილები აკლია, შეცდომის შეტყობინება არ გამოჩნდება. იქმნება ახალი ფაილი და ინახება მხოლოდ ერთი სარეზერვო საშუალება.

    ამ მაგალითში, როდესაც სარეზერვო ასლი მიაღწევს უახლეს თაობას, ის იშლება, რადგან არ არის განსაზღვრული რა უნდა გააკეთოს მასთან.

    ჟურნალის სარეზერვო ასლებიასევე შეიძლება გენერირდეს, როდესაც ჟურნალი მიაღწევს გარკვეულ ზომას, და სკრიპტები შეიძლება გენერირებული იყოს ბრძანებების ნაკრებიდან, რათა შესრულდეს სარეზერვო ოპერაციამდე ან მის შემდეგ. მაგალითი:

    / var / ჟურნალი / შეტყობინებები (როტაცია 5 ფოსტა [ელფოსტა დაცულია]ზომა 100k postrotate / usr / bin / killall -HUP syslogd endscript)

    ამ მაგალითში, როტაცია / var / ჟურნალი / შეტყობინებებიიწარმოება, როდესაც ის 100 კბ-ს მიაღწევს. გროვდება ხუთი სარეზერვო ასლი და როდესაც უძველესი სარეზერვო ასლის ვადა ამოიწურება, ის იგზავნება ფოსტით [ელფოსტა დაცულია]პოსტროტაციის ბრძანების სიტყვა საშუალებას აძლევს სკრიპტს გადატვირთოს syslogd დემონი როტაციის დასრულების შემდეგ HUP სიგნალის გაგზავნით. ბოლო სკრიპტის ბრძანების სიტყვა საჭიროა სკრიპტის შესაწყვეტად და ასევე, თუ ხელმისაწვდომია წინასწარ დაყენებული სკრიპტი. დამატებითი ინფორმაციისთვის იხილეთ logrotate man გვერდები.

    Პარამეტრებიმითითებულია კონფიგურაციის ფაილში logrotate.conf:

    • შეკუმშოს| არაკომპრესია(ძველი ვერსიები შეკუმშულია ან არ არის შეკუმშული gzip-ით)
    • შეკუმშოსcmd(ადგენს შეკუმშვის პროგრამას, gzip ნაგულისხმევად)
    • uncompresscmd(ადგენს დეკომპრესიის პროგრამას, ნაგულისხმევად - ungzip)
    • კომპრესექსტი(ადგენს სუფიქსს შეკუმშული ფაილებისთვის)
    • შეკუმშვა(ადგენს შეკუმშვის პროგრამის პარამეტრებს; ნაგულისხმევი არის "-9", ანუ მაქსიმალური შეკუმშვა gzip-ისთვის)
    • copytruncate| nocopytruncate(ჩვეულებრივ, ძველ ვერსიას ეწოდა სახელი და იქმნება ჟურნალის ახალი ვერსია; როდესაც ეს პარამეტრი დაყენებულია, logrotate აკოპირებს ჟურნალს ახალ ფაილში და შემდეგ წყვეტს ძველს; გამოიყენება, თუ ჟურნალის შემქმნელი პროგრამა ვერ დახურავს მას; ჩანაწერები მზადდება კოპირებასა და შეკვეცას შორის დაკარგულია; მაგრამ ეხმარება თუ პროგრამა, რომელიც ქმნის ჟურნალს, დამატების რეჟიმის ნაცვლად, უბრალოდ ჩაწერს ფაილს შიდა მაჩვენებლის გამოყენებით?)
    • შექმნა[ნებართვების მფლობელი ჯგუფი] | შექმენით(ლოგის ძველი ვერსიის სახელის გადარქმევისთანავე და პოსტროტაციის გამოძახებამდე იქმნება ახალი ჟურნალი მითითებული ატრიბუტებით - ნებართვები დაყენებულია რვალურად, როგორც chmod.2-ში; თუ ატრიბუტები არ არის მითითებული, ისინი აღებულია ძველი ჟურნალიდან. )
    • ყოველდღიურად(სერიის ვერსიის შეცვლა ყოველდღიურად ხდება)
    • დაგვიანებით შეკუმშვა| nodelaycompress(ზოგიერთი პროგრამა დაუყოვნებლივ არ ხურავს ჟურნალს, ამ შემთხვევაში შეკუმშვა უნდა გადაიდოს შემდეგ ციკლამდე)
    • შეცდომებიელ(ვის გაუგზავნოთ შეცდომების შესახებ მოხსენებები)
    • გაფართოებასუფიქსი(ადგენს ფაილების სახელებს დამატებულ სუფიქსს შეკუმშვის სუფიქსის წინ ბრუნვისას)
    • ცარიელი| ცნობისმოყვარე(შეცვალეთ ვერსიები მაშინაც კი, თუ ფაილი ცარიელია; ეს არის ნაგულისხმევი)
    • მოიცავსᲤაილის სახელი| დირექტორია-სახელი (ტექსტურად ჩაანაცვლეთ ფაილი ან ყველა ფაილი მითითებული დირექტორიადან; ქვედირექტორიები, სპეციალური ფაილები და ფაილები სუფიქსებით გამონაკლისების სიიდან არ შედის; არ შეიძლება გამოყენებულ იქნას განყოფილებაში)
    • ფოსტამისამართი| nomail(როდესაც ვერსიის ცვლილება საჭიროებს ძველი ჟურნალის წაშლას, შემდეგ გაგზავნას მითითებულ მისამართზე)
    • ფოსტა ჯერ(გააგზავნეთ არა ჟურნალის წაშლილი ვერსია, არამედ პირველი)
    • მეილასტი(გააგზავნეთ ჟურნალის წაშლილი ვერსია; ეს ნაგულისხმევია)
    • დაკარგული| ნომისინგოკი(არ გამოაგზავნოთ შეცდომის შეტყობინებები, თუ ჟურნალი აკლია)
    • ყოველთვიური(ვერსიის შეცვლა ხდება ყოველთვიურად)
    • olddirდირექტორია| ნოოლდირი(ვერსიის შეცვლის დროს ჟურნალი გადადის მითითებულ დირექტორიაში; უნდა იყოს იმავე ფიზიკურ მოწყობილობაზე)
    • პოსტროტაცია(ყველა შემდგომი ხაზი ბოლო სტრიპტამდე შესრულებულია როგორც shell ბრძანებები ვერსიის შეცვლის პროცესის შემდეგ)
    • წინასწარ როტაცია(ყველა შემდგომი ხაზი ბოლო სტრიქონამდე შესრულებულია ვერსიის შეცვლის პროცესამდე)
    • როტაციანომერი(რამდენი ძველი ვერსია შევინარჩუნოთ; თუ 0, მაშინ არცერთი)
    • ზომაბაიტი(ვერსიის ცვლილება ხდება იმ შემთხვევაში, თუ ჟურნალის ზომა აღემატება მითითებულ რაოდენობას; შეგიძლიათ გამოიყენოთ სუფიქსები "k" - კილობაიტები - და "M" - მეგაბაიტები)
    • გაზიარებული სკრიპტები| nosharedscripts(შეასრულეთ prerotate და postrotate ბრძანებები მხოლოდ ერთხელ განყოფილებაში აღწერილი ყველა ფაილისთვის)
    • ტაბუდადებული[+] სუფიქს-სიტი(სუფიქს-გამონაკლისების ჩამონათვალის მითითება ჩათვლით; თუ მითითებულია პლუს ნიშანი, მაშინ დამატება, წინააღმდეგ შემთხვევაში ჩანაცვლება; ნაგულისხმევად: .rpmorig, .rpmsave, .rpmnew, ", v", .swp და "~")
    • ყოველკვირეული(ვერსიის შეცვლა ხდება ყოველკვირეულად)

    ჟურნალების შესწავლა და მონიტორინგი

    ჟურნალის ჩანაწერები ჩვეულებრივ შეიცავს დროის ნიშანს, ჰოსტის სახელს, რომელზედაც მიმდინარეობს აღწერილი პროცესი და პროცესის სახელს. ჟურნალების ნახვაშეგიძლიათ გამოიყენოთ პაგინაციის პროგრამა, მაგალითად, ნაკლები, შეგიძლიათ მოძებნოთ კონკრეტული ჩანაწერები (მაგალითად, ბირთვის შეტყობინებები კონკრეტული დემონიდან) ბრძანების გამოყენებით grep:

    # ნაკლები / var / ჟურნალი / შეტყობინებები # grep "ppp" / var / ჟურნალი / შეტყობინებები | tail Dec 17 16:34:25 proxy pppd: კავშირი შეწყვეტილია. Dec 17 16:34:25 proxy pppd: გასვლა. 17 დეკემბერი 16:35:57 პროქსი pppd: LCP შეწყვეტილია თანატოლის მიერ (^ P] kV ^ @

    შეიძლება კომპიუტერი მუდმივად არ იმუშაოს და გამოირთოს, ვთქვათ ღამით. ამრიგად, ჩანაწერები / var / log / შეტყობინებები ინახება ციკლურად კომპიუტერის გაშვებიდან გამორთვამდე, ეს ჩანს შეტყობინებებიდან:

    Dec 17 08:32:56 syslog-server syslogd 1.4-0: გადატვირთვა. Dec 17 08:32:56 syslog-server syslog: syslogd წარმატებას მიაღწია Dec 17 08:32:56 syslog-სერვერის ბირთვი: klogd 1.4-0, ჟურნალის წყარო = / proc / kmsg დაიწყო. დეკ 17 08:32:56 syslog-server syslog: start klogd წარმატებით დასრულდა

    Dec 17 08:32:56 syslog-server kernel: Kernel ბრძანების ხაზი: auto BOOT_IMAGE = linux ro root = 303 BOOT_FILE = / boot / vmlinuz-2.4.2-2 Dec 17 08:32:56 syslog-server kernel: Memory: ხელმისაწვდომია 125652k / 130560k (1365k ბირთვის კოდი, 4200k დაჯავშნილი, 92k მონაცემები, 236k init, 0k მაღალი მემ) 17 დეკ. 08:32:56 syslog-სერვერის ბირთვი: CPU: Intel (R) Pentium (R) Pentium20z (R)პინგი.

    ასევე, ამ ფაილში შეგიძლიათ იპოვოთ ინფორმაცია დისკის მეხსიერების შესახებ (მათ შორის, ინფორმაცია დისკის გეომეტრიის, დანაყოფების სტრუქტურისა და გამოყენებული შეფერხებების შესახებ), ინფორმაცია პერიფერიული მოწყობილობების შესახებ, ინდივიდუალური სერვისებისა და სერვისების გაშვების შესახებ, ინფორმაცია ფაილური სისტემების დაკავშირების შესახებ და შეტყობინებები მომხმარებლის შესვლის შესახებ. ასევე შეცდომის შეტყობინებები.

    ზოგჯერ შეიძლება საჭირო გახდეს მონიტორინგის სისტემის ჟურნალებიმიმდინარე მოვლენების მოსაძებნად. მაგალითად, შეგიძლიათ სცადოთ იშვიათი მოვლენის დაჭერა იმ მომენტში, როდესაც ეს მოხდა. ამ შემთხვევაში, შეგიძლიათ გამოიყენოთ ბრძანება კუდიოფციით -ვ syslog-ის შინაარსის თვალყურის დევნება. მაგალითი:

    # კუდი -f / var / ჟურნალი / შეტყობინებები | grep syslog-server Dec 17 16:46:09 syslog-server pppd: pptpd-logwtmp.so ip-up ppp0 maikop 94.77.0.150 Dec 17 16:46:09 syslog-server pppd: სკრიპტი /ippppp. დასრულდა (pid 12552), სტატუსი = 0x0 Dec 17 16:46:49 syslog-server pptpd: CTRL: Client 85.175.197.65 საკონტროლო კავშირი დაიწყო 17 დეკემბერს 16:46:49 syslog-server pptpd: CTRL, გამოძახება: დაწყება: გახსნა GRE) Dec 17 16:46:49 syslog-server pppd: Plugin /usr/lib/pptpd/pptpd-logwtmp.so დატვირთული.

    გარდა log ფაილებისა, რომლებიც მითითებულია /etc/syslog.conf-ში, არის სხვა ფაილებიც, მაგალითად, ფაილი, რომელიც ინახავს ინფორმაციას სისტემის ჩატვირთვის პროცესის შესახებ syslogd-ის დაწყებამდე, ასევე ფაილები, რომლებსაც აქვთ ორობითი ფორმატი და ინახავს ინფორმაციას. მომხმარებლის ბოლო შესვლის, ყველა წარმატებული მომხმარებლის შესვლისა და ყველა წარუმატებელი მომხმარებლის შესვლის შესახებ, შესაბამისად. ასევე, / var / log / დირექტორია შეიძლება შეიცავდეს დემონების ჟურნალის ფაილებს, როგორიცაა ვებ სერვერი ან პროქსი სერვერი. ამ ფაილების ფორმატი მსგავსია syslogd ჟურნალების.

    და ბოლოს, მინდა ხაზგასმით აღვნიშნო, რომ ეს პროტოკოლი არ არის ძალიან უსაფრთხო, tk. syslog არ შეიცავს რაიმე სახის დაცვას შეტყობინების გაყალბებისგან. უარესი, UDP-ის გამოყენება თავდამსხმელებს საშუალებას აძლევს გაგზავნონ შეტყობინებები ნებისმიერი ჰოსტის სახელით. თქვენი ლოკალური ქსელი უნდა შემოწმდეს ყალბი ლოკალური მისამართებით პაკეტების მიღებისგან (თუმცა ეს ხელს არ შეგიშლით გააგზავნოთ ყალბი შეტყობინებები ლოკალური ქსელის შიგნიდან) და პაკეტების მიღება გარეთ პორტზე 514/udp. ცნობილია დისკის გადაფარვის შემთხვევები ყალბი შეტყობინებებით.

    syslog პროტოკოლი და UDP არ იძლევა გარანტირებულ მიწოდებას (შეტყობინებები შეიძლება დაიკარგოს ქსელის გადატვირთულობისას ან ჩაჭრას, დაზიანებული შეტყობინებები წაიშლება გაფრთხილების გარეშე), სწორი მიწოდების თანმიმდევრობა (შეტყობინება პროცესის დასრულების შესახებ შეიძლება იყოს შეტყობინებამდე მისი დაწყების შესახებ) , პრიორიტეტული მიწოდება.

    შეტყობინებები არ ინახება კონფიდენციალურად, რადგან ისინი გადაცემულია მკაფიო ტექსტში.

    თუ შეტყობინებების გენერატორის კონფიგურაციისას მიუთითებთ კოლექტორის ან რელეს არასწორ მისამართს, მაშინ შეცდომის შეტყობინებები არ იქნება - შეტყობინებები წაიშლება (ან ჩაიწერება სხვის ჟურნალში).

    რამდენიმე პროექტი იქნა შემოთავაზებული syslog პროტოკოლის გასაუმჯობესებლად. მაგალითად, RFC 3195 გვთავაზობს TCP-ზე დაფუძნებულ ჟურნალის სისტემას (syslog-conn), რათა უზრუნველყოს შეტყობინებების მიწოდება სწორი თანმიმდევრობით. syslog-sign პროექტი გვთავაზობს ავთენტიფიკაციის, შეკვეთის, შეტყობინების მთლიანობისა და დაკარგული შეტყობინების გამოვლენის უზრუნველყოფას სპეციალური შეტყობინებების გენერირებით, რომელიც შეიცავს წინა შეტყობინებების ბლოკის ციფრულ ხელმოწერას, სტანდარტული syslog პროტოკოლისა და ფორმატის შენარჩუნებით და UDP გამოყენებით.

    შევაჯამოთ:

    Linux-ს აქვს ერთი დემონი, რომელიც პასუხისმგებელია ლოკალურ სისტემასა და დისტანციურ სისტემებზე მოვლენების აღრიცხვაზე. ყველა მოვლენა გროვდება / dev / log სოკეტიდან, UDP პორტიდან - 514, ასევე "დამხმარე" - klogd დემონიდან, რომელიც აგზავნის შეტყობინებებს ბირთვიდან. ყველა შეგროვებული შეტყობინება იფილტრება syslogd დემონის მიერ /etc/syslog.conf ფაილში არსებული წესების მეშვეობით და წესების მიხედვით ნაწილდება შესაბამის მიმართულებებზე. ჟურნალის ფაილები პერიოდულად "იკვეცება". სიხშირეს განსაზღვრავს logrotate.conf ფაილი და logrotate ბრძანება, რომელსაც აწარმოებს სისტემის გრაფიკი - cron.

    დღეისთვის სულ ესაა. იმედია ყველაფერი რაც შეიძლება ნათლად აღვწერე. დროთა განმავლობაში სტატიას დავამატებ!

    პატივისცემით, მაკ.სიმ!

    სერგეი სუპრუნოვი

    FreeBSD რჩევები: syslog-ის გამოყენებით

    - მაპატიეთ, ამხანაგებო, ყველა სვლა ჩაწერილი მაქვს!

    ”ოფისი წერს”, - თქვა ოსტაპმა.

    ი.ილფი, ე.პეტროვი "12 სკამი".

    ნებისმიერი სისტემის, და უპირველეს ყოვლისა, სერვერის მუშაობის აღრიცხვა ადმინისტრირების ერთ-ერთი ყველაზე მნიშვნელოვანი კომპონენტია. ეს არის ჟურნალის ფაილებში, რომელსაც ჩვენ ვუყურებთ პირველ რიგში, როდესაც სისტემაში რაიმე პრობლემაა. იქიდან ვიღებთ რწმენას, რომ ესა თუ ის პროგრამა მუშაობს ისე, როგორც მოსალოდნელია. ვებ აპლიკაციების შემუშავებისას, ჟურნალის ფაილი ხდება ინფორმაციის გამართვის ყველაზე მნიშვნელოვანი წყარო. განხილული იქნება syslog daemon-ის მახასიათებლები, რომელიც პასუხისმგებელია სისტემის ინფორმაციის აღრიცხვაზე.

    რა არის syslog

    Syslog არის ცენტრალიზებული სერვისი, რომელიც აგროვებს და აღრიცხავს ჟურნალის ინფორმაციას სხვადასხვა ოპერაციული სისტემის კომპონენტებიდან და მომხმარებლის პროცესებიდან. მესამე მხარის პროგრამებს ჩვეულებრივ შეუძლიათ დამოუკიდებლად იმუშაონ ჟურნალის ფაილებთან, თუმცა ბევრი მათგანის კონფიგურაცია შესაძლებელია syslogd დემონთან მუშაობისთვის. syslog-ის გამოყენების უპირატესობებში შედის საჭირო ინფორმაციის შეგროვების პროცესის კონტროლის შესაძლებლობა ერთი კონფიგურაციის ფაილის გამოყენებით, რაც უზრუნველყოფს მიღებული ჟურნალის ფაილების თანმიმდევრულობას და, შედეგად, ამარტივებს მათ მართვას.

    syslog სერვისს უზრუნველყოფს syslogd daemon, რომელიც ავტომატურად იწყება სისტემის გაშვებისას. ის მუდმივად არის მეხსიერებაში, ელოდება შეტყობინებებს სხვა პროცესებიდან და ამუშავებს მათ თავისი პარამეტრების შესაბამისად.

    თითოეულ შეტყობინებას ახასიათებს დონე და შესაძლებლობა. დონე განსაზღვრავს გზავნილის მნიშვნელოვნების ხარისხს სისტემის ფუნქციონირების თვალსაზრისით. syslog.h ფაილი განსაზღვრავს შემდეგ დონეებს (პრიორიტეტებს):

    ცხრილი 1. შეტყობინების დონეები

    დონე

    აღწერა

    გაჩენა, პანიკა

    პანიკური მდგომარეობა

    გაფრთხილება

    მდგომარეობა, რომელიც საჭიროებს დაუყოვნებლივ ყურადღებას

    კრიტი

    Კრიტიკული მდგომარეობა

    შეცდომა, შეცდომა

    სხვა სამუშაო შეცდომები

    გაფრთხილება, გაფრთხილება

    გაფრთხილებები

    შენიშვნა

    შეტყობინებები, რომლებიც არ არის შეცდომები, მაგრამ უნდა აღინიშნოს

    ინფორმაცია

    საინფორმაციო შეტყობინებები (ნორმალური ოპერაცია)

    გამართვა

    გამართვის ინფორმაცია

    ცხრილში 1 ჩამოთვლილია შეტყობინების დონეები კლებადობით. ეს ბრძანება მოგვიანებით იქნება საჭირო კონფიგურაციის ფაილის სინტაქსის განხილვისას.

    იმავე ხაზზე დაწერილი შეტყობინებების დონის აღმნიშვნელები (მაგალითად, emerg და პანიკა) სინონიმებია და ნებისმიერი მათგანის გამოყენება შესაძლებელია. თუმცა, პანიკა, შეცდომა და გაფრთხილება (ქვემოთ ჩამოთვლილი ცხრილში) მოძველებულია და თავიდან უნდა იქნას აცილებული კონფიგურაციის ფაილის რედაქტირებისას. ამის ნაცვლად გამოიყენეთ emerg, err და გაფრთხილება.

    შეტყობინების შესაძლო წყაროები ჩამოთვლილია ცხრილში 2:

    ცხრილი 2. შეტყობინებების წყაროები

    წყარო

    აღწერა

    კერნი

    ბირთვის შეტყობინებები

    ავტორიზაცია, ავტორი

    უსაფრთხოება

    უსაფრთხოების შეტყობინებები (მაგ. firewall-იდან)

    კონსოლი

    შეტყობინებები მოდის კონსოლზე (/ dev / console)

    syslog

    Syslog მშობლიური შეტყობინებები

    კრონ

    Cron ქვესისტემის შეტყობინებები

    დროის სერვისის შეტყობინებები

    პოსტები FTP სერვერები

    ქვესისტემის შეტყობინებების ამობეჭდვა

    ფოსტა

    შეტყობინებები საფოსტო სერვისებიდან

    ახალი ამბები

    ახალი ამბების სერვისის შეტყობინებები

    uucp

    პოსტები UUCP

    დემონი

    სისტემაში გაშვებული სხვა დემონების შეტყობინებები

    მომხმარებელი

    მომხმარებლის ამუშავებს შეტყობინებებს

    local0 - ლოკალური7

    შეიძლება გამოყენებულ იქნას მომხმარებლის სხვადასხვა საჭიროებებისთვის (ზოგჯერ ასევე გამოიყენება სისტემის მიერ)

    როდესაც აპლიკაციის კონფიგურაციას ახდენთ syslog სერვისთან მუშაობისთვის, შეამოწმეთ რომელ ობიექტს იყენებს. ზოგიერთი პროგრამა საშუალებას გაძლევთ თავად მიუთითოთ წყარო. მაგალითად, clamd daemon (clamav ანტივირუსის მთავარი პროცესი) ნაგულისხმევად იყენებს local6-ს, მაგრამ გაძლევთ საშუალებას მიუთითოთ სხვა წყარო (LogFacility პარამეტრი კონფიგურაციის ფაილში). ზოგიერთ შემთხვევაში, შეიძლება სასარგებლო იყოს მისი შეტყობინებების გაერთიანება ფოსტის სერვისების შეტყობინებებთან, წყაროდ LOG_MAIL-ის მითითებით.

    დემონის გაშვების ვარიანტები

    გაშვების ვარიანტების სრული სია შეგიძლიათ იხილოთ syslogd man გვერდზე. აქ განვიხილავთ მხოლოდ რამდენიმე მათგანს.

    Syslog-ს შეუძლია დაწეროს შემომავალი შეტყობინებები ჟურნალის ფაილებში (რომლებიც ჩვეულებრივ მდებარეობს / var / log დირექტორიაში), გაუგზავნოს ისინი კონსოლში ან დაკავშირებულ მომხმარებლის ტერმინალში, გაუგზავნოს ისინი დისტანციურ ჰოსტში, ან მიიტანოს ისინი გარე პროგრამაში. დამუშავება.

    ქსელისთვის, syslog იყენებს პორტებს 514 (UDP და TCP). Syslogd, რომელიც დაიწყო დამატებითი პარამეტრების გარეშე, მოუსმენს ამ პორტებს შემომავალი შეტყობინებებისთვის. -s ჩამრთველი გამორთავს შემომავალ შეტყობინებებს, მაგრამ სოკეტები 514 პორტებზე ჯერ კიდევ იქმნება გამავალი კავშირებისთვის, რათა syslogd-მა შეძლოს შეტყობინებების გაგზავნა დისტანციურ ჰოსტებზე. გასაღების (-ss) გაორმაგება ასევე უარყოფს გამავალ კავშირებს.

    ნაგულისხმევად, syslogd იწყება -s გადამრთველით (იხ. /etc/defaults/rc.conf, syslogd_flags პარამეტრი), ამიტომ შემომავალი კავშირები უარყოფილია. თუ გსურთ გამოიყენოთ თქვენი სერვერის syslog სერვისი მრავალი აპარატის მოსამსახურებლად, დაამატეთ შემდეგი ხაზი /etc/rc.conf:

    syslogd_flags = ””

    ეს გადააჭარბებს /etc/defaults/rc.conf-ში დაყენებულ მნიშვნელობას, რათა syslogd-მა შეძლოს შემომავალი კავშირების მართვა. ბუნებრივია, ამ შემთხვევაში აუცილებელია უსაფრთხოების საჭირო დონის უზრუნველყოფა, გამორიცხულია უცხოელი მასპინძლების დაწერის შესაძლებლობა თქვენს ჟურნალებში. -a გადამრთველი გაძლევთ საშუალებას დააყენოთ შეზღუდვები შემომავალ კავშირებზე (იხ. man syslogd). ასევე მნიშვნელოვან როლს თამაშობს სწორად კონფიგურირებული firewall.

    კიდევ ერთი სასარგებლო გადამრთველი, -l, გაძლევთ საშუალებას მიუთითოთ დამატებითი სოკეტის ფაილები, რომლებსაც syslogd უსმენს ნაგულისხმევი / var / run / log გარდა. მაგალითად, ეს გადამრთველი საჭიროა იმისათვის, რომ syslog-მა შეძლოს პროგრამების მართვა chroot გარემოში. კერძოდ, ასე მუშაობს სახელწოდება BIND 9-დან. FreeBSD 5.3-ზე syslogd იწყება შემდეგი კლავიშებით:

    # ps -ცვილი | grep syslog

    321 ?? Ss 0: 01.67 / usr / sbin / syslogd -l / var / run / log -l / var / დასახელებული / var / გაშვება / log -s

    კონფიგურაციის ფაილის სინტაქსი

    შესვლა კონფიგურირებულია /etc/syslog.conf ფაილში. ცხადია, რომ მხოლოდ root მომხმარებელს შეუძლია მისი რედაქტირება. ეს ფაილი შეიცავს ორ სახის სტრიქონს - მოდით ვუწოდოთ მათ "ფილტრები" და "წესები".

    ფილტრის სტრიქონი განსაზღვრავს პროგრამას ან ჰოსტს, რათა გამოიყენოს შემდეგი წესები შეტყობინებებზე. ფილტრი, როგორიცაა "! Prog" (ან "#! Prog") მიუთითებს, რომ შემდეგი სტრიქონები მიუთითებს მითითებული პროგ პროგრამის მიერ გენერირებულ ჟურნალებს. ამ ჩანაწერის სინონიმია "! + Prog". პირიქით, სტრიქონი "! -Prog" ნიშნავს, რომ შემდეგი წესები გავრცელდება ყველა შეტყობინებაზე, გარდა იმ გზავნილების, რომლებიც მოდის პროგ პროგრამიდან. დასაშვებია მძიმით გამოყოფილი რამდენიმე პროგრამის ჩამოთვლა, ხოლო "+" ან "-" ნიშანი გამოიყენება მთელ სიაზე.

    თუ ფილტრის სტრიქონი მითითებულია როგორც "+ ჰოსტის სახელი", მაშინ მითითებული ჰოსტი გამოყენებული იქნება შეტყობინებების წყაროდ, რომელიც უნდა დამუშავდეს შემდგომი წესებით. როგორც პროგრამების შემთხვევაში, სიმბოლო „-“ მიუთითებს იმაზე, რომ წესები გავრცელდება ყველა შეტყობინებაზე, გარდა მითითებული ჰოსტისგან. თქვენ შეგიძლიათ მიუთითოთ მძიმით გამოყოფილი ჰოსტების სია.

    პროგრამად ან ჰოსტად მითითებული სიმბოლო „*“ გადალახავს ადრე დაყენებულ ფილტრს. ანუ ასეთი ხაზის შემდეგ მითითებული წესები გავრცელდება ყველა შეტყობინებაზე. ჰოსტის სახელის ან პროგრამის მქონე ფილტრები ერთმანეთისგან დამოუკიდებელია და შეუძლიათ ერთდროულად იმუშაონ. Მაგალითად:

    # აქ განთავსებული წესები ვრცელდება ყველა შეტყობინებაზე

    ჩემი.მასპინძელი

    # წესები ვრცელდება my.host-ის ყველა შეტყობინებაზე

    ლოგერი

    # წესები ვრცელდება logger-ის შეტყობინებებზე my.host-ით (ჰოსტის ფილტრი გრძელდება)

    # წესები ვრცელდება su-დან my.host-ის შეტყობინებებზე

    # წესები ვრცელდება შეტყობინებებზე su-დან ნებისმიერი ჰოსტიდან (ჰოსტის ფილტრი გაუქმებულია, პროგრამის ფილტრი გრძელდება)

    # წესები ვრცელდება ყველა შეტყობინებაზე (პროგრამის ფილტრი ასევე გაუქმებულია)

    წესების ხაზები შემდეგია:

    facility.CMPlevel დანიშნულება

    აქ ობიექტი არის შეტყობინების წყარო ("*" ნიშნავს ნებისმიერ წყაროს), დონე არის შეტყობინებების დონე, რომელიც დამუშავდება ამ წესის შესაბამისად. დონის ნაცვლად მითითებული სერვისის სიტყვა "არცერთი" ავალებს ამ წყაროდან შეტყობინებების სრულად გამორიცხვას.

    CMP - შედარების ოპერაცია (სიმბოლოები ">", "<», «=», «>=», «<=», а также символ отрицания «!»). Если символ сравнения не указан, подразумевается «больше или равно», то есть обрабатываются все сообщения уровня level и выше.

    დანიშნულება განსაზღვრავს, სად უნდა შეინახოს ეს შეტყობინება. ეს შეიძლება იყოს ჟურნალის ფაილი (მითითებულია სრული გზა, დაწყებული "/"-ით), დისტანციური სერვერის მისამართი (დაწყებული "@" სიმბოლოთი), მომხმარებლის სახელი (შეტყობინებები გაიგზავნება ტერმინალში, რომელსაც ეს მომხმარებელი დაკავშირებულია). ასევე, შეტყობინება შეიძლება გადაეცეს გარე პროგრამას დასამუშავებლად, რისთვისაც გამოიყენება მილის სიმბოლო "|".

    წესების რამდენიმე მაგალითი

    ბირთვის ყველა შეტყობინება გაიგზავნება kern.log ფაილში.

    ბირთვი * /var/log/kern.log

    ყველა შეცდომის შეტყობინება, ისევე როგორც emerg, alert და crit დონის შეტყობინება განთავსდება all-err.log-ში. ყურადღება მიაქციეთ დეფისს ჟურნალის ფაილის სახელის წინ. ნაგულისხმევად, შეტყობინებები ბუფერირდება მეხსიერებაში და იწერება დისკზე ბუფერის შევსებისას. ეს ამცირებს დატვირთვას ფაილურ სისტემაზე, მაგრამ ამან შეიძლება გამოიწვიოს გარკვეული ინფორმაციის დაკარგვა, როდესაც მანქანა ავარიულია. ფაილის სახელის წინ დეფისი იწვევს syslogd დემონს დაუყოვნებლივ დაწეროს შეტყობინებები დისკზე.

    * .err - / var / log / all-err.log

    გამართვის შეტყობინებები მომხმარებლის პროცესებიდან გამოვა ტერმინალში, რომლებთანაც ამჟამად არის დაკავშირებული მომხმარებელი vasya.

    მომხმარებელი.გამართვა vasya

    ახალი ამბებისა და ელ.ფოსტის სერვისებიდან ყველა შეტყობინება გადაიგზავნება syslog.host.ru აპარატის 514 პორტში.

    ფოსტა *, სიახლეები * @ syslog.host.ru

    ბეჭდვის სერვისის ყველა შეტყობინება გაფრთხილების ქვემოთ განთავსდება მითითებულ ფაილში. როგორც უკვე აღვნიშნეთ, ნაგულისხმევი მეტია ან ტოლია შედარების, და! ის ინვერსიულია, ანაცვლებს მას "ნაკლებით". თუ საჭიროა კონკრეტული დონის გამორიცხვა, უნდა გამოიყენოთ "! =" კონსტრუქცია.

    lpr.! გაფრთხილება /var/log/printers.log

    გამართვის დონის შეტყობინებები (და მხოლოდ გამართვის შეტყობინებები) დაწესებულების დონე 0 და დონე 3 გამოვა ყველა დაკავშირებულ ტერმინალში.

    დონე0, დონე 3. = გამართვა *

    დროის სერვისის შეტყობინებები, რომლებიც უფრო მაღალია, ვიდრე კრიტიკული (მაგ. emerg და alert) და ნაკლები ან ტოლი შენიშვნაზე (შენიშვნა, ინფორმაცია და გამართვა) გაიგზავნება ntpuser და root ტერმინალებში.

    ntp.> crit,<=notice ntpuser,root

    ყველა გამაფრთხილებელი შეტყობინება, გარდა საფოსტო სერვისებიდან, ჩაიწერება warn.log ფაილში.

    *. = გაფრთხილება, mail.none /var/log/warn.log

    ამ შემთხვევაში, ყველა შეტყობინება, რომლის დონე აღემატება ან ტოლია crit-ზე, ელექტრონული ფოსტით გაეგზავნება root მომხმარებელს.

    * .კრიტი | ფოსტა - "კრიტიკული შეტყობინების" root

    როგორც ხედავთ, კონფიგურაციის ფაილის ფორმატი საშუალებას გაძლევთ ჩამოთვალოთ რამდენიმე დონე, წყარო და დანიშნულება ერთ ხაზზე, რაც კონფიგურაციას უფრო მოქნილს ხდის. იმისათვის, რომ ცვლილებები ძალაში შევიდეს რედაქტირების შემდეგ, თქვენ უნდა გაგზავნოთ HUP სიგნალი syslogd პროცესზე:

    # kill –HUP `cat / var / run / syslog.pid`

    უნდა აღინიშნოს, რომ თუ ესა თუ ის შეტყობინება მოხვდება კონფიგურაციის ფაილში რამდენიმე სტრიქონის მოქმედების ქვეშ, მაშინ იგი დამუშავდება თითოეული მათგანის შესაბამისად. მაგალითი:

    ფოსტა * / var / log / maillog

    *. = err /var/log/error.log

    ამ შემთხვევაში, mail.err შეტყობინებები გადავა როგორც maillog-ში, ასევე error.log-ში.

    კონფიგურაციის ფაილის სტრატეგია

    კონფიგურაციის ფაილის განხილვის დასასრულს, რამდენიმე სიტყვას ვიტყვი მისი შედგენის სტრატეგიების შესახებ. გარდა ძალიან პოპულარული „თუ მხოლოდ ის მუშაობს“, შეიძლება გამოიყოს ორი მთავარი, რომლებსაც პირობითად დავარქმევთ „წყაროებით“ და „მიზნით“.

    • პირველი სტრატეგია, რომელიც შეიძლება შეინიშნოს GNU/Linux დისტრიბუციებში, არის განსხვავებული წესის დაწერა თითოეული შეტყობინების წყაროსთვის (ან წესების ჯგუფი, თუ სხვადასხვა დონის შეტყობინებები განსხვავებულად უნდა დამუშავდეს). მისი უპირატესობა არის კონკრეტული სერვისების შეტყობინებების დადგენის სიმარტივე.
    • „დანიშნულების მიხედვით“ სტრატეგია არის, თუ ეს შესაძლებელია, მხოლოდ ერთი ხაზის შექმნა შეტყობინების თითოეული „მიმღებისთვის“, როგორიცაა ფაილი. ეს მიდგომაა, კერძოდ, FreeBSD-ის მიერ. შედეგად, თქვენ შეგიძლიათ მარტივად განსაზღვროთ რა ინფორმაციაა ჩაწერილი კონკრეტულ ჟურნალის ფაილში, მაგრამ, მაგალითად, ბირთვის შეტყობინებების დანიშნულება უნდა შეგროვდეს მთელი კონფიგურაციის ფაილიდან.

    Logger უტილიტა

    სისტემა მოიცავს logger უტილიტას, რომელიც საშუალებას გაძლევთ გაგზავნოთ შეტყობინებები syslog სერვისში პირდაპირ ბრძანების ხაზიდან. მოსახერხებელია მისი გამოყენება კონფიგურაციის წესების ტესტირებისას, ასევე სკრიპტების შემუშავებისას მათი სამუშაოს შესვლისთვის. მაგალითები:

    user $ logger -p user.err "შეცდომა მომხმარებლის პროგრამაში!"

    მომხმარებლის $ logger -h syslog.host.ru "ტესტი"

    პირველი მაგალითი გამოგიგზავნით შეცდომის დონის მომხმარებლის შეტყობინებას, რომელიც დამუშავდება კონფიგურაციის ფაილის მიხედვით. მეორე ბრძანება გაუგზავნის შეტყობინებას დისტანციურ ჰოსტს, წყარო და ნაგულისხმევი დონე იქნება user.notice.

    ბრუნვის მექანიზმების გამოყენება

    ზემოთ განხილული ჟურნალის მექანიზმი არ იძლევა რაიმე სახის ჟურნალის ფაილების მართვას. შეტყობინებები უბრალოდ მოთავსებულია მათში კონფიგურაციის ფაილში აღწერილი წესების მიხედვით. ეს ნიშნავს, რომ ჟურნალის ფაილები მუდმივად გაიზრდება და თუ არაფერი გაკეთდა, ადრე თუ გვიან ისინი შეავსებენ მთელ არსებულ ადგილს შესაბამის დანაყოფზე. ამის თავიდან ასაცილებლად გამოიყენება ბრუნვის მექანიზმი.

    მაგალითად, როგორც კი debug.log ფაილი გადააჭარბებს 100 მბ-ს, მას ერქმევა debug.log.0 და იფუთება debug.log.0.bz2-ში. ამის ნაცვლად იქმნება ახალი debug.log. შემდეგ, როდესაც ახალი ფაილის ზომა 100 მბ-ს მიაღწევს, debug.log.0.bz2 ერქმევა debug.log.1.bz2 და მეორდება ზემოაღნიშნული პროცედურა. სისტემა ინახავს საარქივო ფაილების მხოლოდ გარკვეულ რაოდენობას, წაშლის უძველესებს. ეს არის როტაცია.

    Newsyslog უტილიტა

    FreeBSD-ზე როტაციას მართავს newsyslog უტილიტა, რომელიც ნაგულისხმევად იმართება ყოველი საათის დასაწყისში cron daemon-ის მიერ. თქვენ შეგიძლიათ შეცვალოთ ბრუნვის პერიოდი / etc / crontab ფაილის რედაქტირებით.

    ზემოთ მოყვანილ მაგალითში მითითებული ბრუნვის პარამეტრები (ფაილის ზომა, შეფუთვა), ისევე როგორც რიგი სხვა, დაყენებულია /etc/newsyslog.conf კონფიგურაციის ფაილში. თითოეული ფაილისთვის, რომელსაც როტაცია სჭირდება, ის შეიცავს ჩვეულებრივ ცხრა ველს: ფაილის სახელი, მფლობელი და ჯგუფი, წვდომის უფლებები, ყველაზე დიდი რაოდენობა არქივის ფაილის სახელში, ფაილის მაქსიმალური ზომა, ბრუნვის პერიოდი, დამატებითი დროშები და გზა PID-მდე. განაცხადის ფაილი როტაციის შემდეგ სიგნალის გასაგზავნად და გასაგზავნი სიგნალის ნომერი. (შეიძლება დაგჭირდეთ პროცესისთვის სიგნალის გაგზავნა, მაგალითად, თუ პროცესი მუდმივად ინახავს ჟურნალის ფაილს ღიად; წინააღმდეგ შემთხვევაში, გამოყენებული ფაილის აღწერილობა არ ემთხვევა ახლად შექმნილ ფაილს.) ზოგიერთი ველი შეიძლება გამოტოვდეს. აქ არის ორი მაგალითი, სრული და ტიპიური:

    / var / log / pflog root: wheel 600 3 100 * JB /var/run/pflog.pid 1

    ამ წესის მიხედვით, pflog ფაილი უნდა გადაიწეროს, როგორც კი მისი ზომა გადააჭარბებს 100 მბ-ს (მე-5 ველი), დროის მიუხედავად („*“ მე-6 ველში). საარქივო ფაილებს ექნებათ ისეთი სახელები, როგორიცაა pflog.X.bz2 (pflog.0.bz2, pflog.1.bz2 და ა.შ.), და X არ შეიძლება იყოს სამზე მეტი (პარამეტრი 3 მე-4 ველში). J დროშა მიუთითებს, რომ არქივის ფაილი უნდა იყოს შეკუმშული bzip2 პროგრამის გამოყენებით. B დროშის წყალობით, სერვისის შეტყობინებები როტაციის შესახებ არ დაემატება დაარქივებულ და ახლად შექმნილ ფაილებს, რადგან ფაილი აღიქმება როგორც ორობითი. ახლად შექმნილი ფაილი იქნება root მომხმარებლის და საჭე ჯგუფის მფლობელობაში (ეს ველი შეიძლება გამოტოვებულიყო, რადგან ეს არის ნაგულისხმევი მფლობელი). ნებართვები დაყენდება rw ------- (ციფრული მნიშვნელობა 600), რაც ნიშნავს, რომ მხოლოდ მფლობელს შეუძლია ამ ფაილზე წაკითხვა და ჩაწერა. საბოლოოდ, 1 (HUP) სიგნალი გაიგზავნება პროცესზე, რომლის PID ინახება /var/run/pflog.pid-ში, რათა ხელახლა გახსნას მისი log ფაილი.

    / var / log / maillog 640 7 * @ T00 ჯ

    ეს წესი განსაზღვრავს maillog ფაილის ბრუნვის პარამეტრებს: მიუხედავად ზომისა (ვარსკვლავი მე-5 ველში), ფაილი ხელახლა ჩაიწერება ყოველ ღამე 00:00 საათზე (man newsyslog.conf აღწერს დროის განსაზღვრის ფორმატს) . არქივი უნდა იყოს შეფუთული, ბოლო 8 არქივი შეინახება (0-დან 7-მდე რიცხვების ჩათვლით), ახლად შექმნილი ფაილი იქნება root მომხმარებლის საკუთრება (ნაგულისხმევი მნიშვნელობა, ამიტომ მფლობელის ველი გამოტოვებულია) და ექნება rw. -r ----- ნებართვები.

    შეფუთული ჟურნალის ფაილების სანახავად შეგიძლიათ გამოიყენოთ zcat და bzcat უტილიტები (gzip და bzip2, შესაბამისად). Midnight Commander ავტომატურად გამოიძახებს შესაბამის კომუნალურ მომსახურებას.

    newsyslog.conf ფაილის რედაქტირების შემდეგ, არ არის საჭირო სიგნალების გაგზავნა სადმე - კონფიგურაცია ხელახლა წაიკითხება newsyslog-ის გამოძახების შემდეგ.

    გაითვალისწინეთ, რომ newsyslog უტილიტა არ არის მიბმული syslogd დემონთან. ანუ, ის შეიძლება გამოყენებულ იქნას ნებისმიერი ფაილის დასატრიალებლად, რომელსაც ეს სჭირდება. თუ როტაცია ჩართულია ჟურნალებისთვის, რომლებსაც აპლიკაცია დამოუკიდებლად ინახავს (მაგალითად, ჭურჭლის ან კალმარის ჟურნალებისთვის), მაშინ განსაკუთრებული ყურადღება მიაქციეთ მფლობელის და წვდომის უფლებების მითითებას. მათი არასწორად დაზუსტებამ შეიძლება გამოიწვიოს ის ფაქტი, რომ როტაციის შემდეგ არაპრივილეგირებულ მომხმარებელზე გაშვებული აპლიკაცია ვერ შეძლებს ახლად შექმნილ ფაილზე ჩაწერას.

    შეჯამება

    syslog სისტემა არის ძალიან ძლიერი და ეფექტური ინსტრუმენტი სისტემაში მომხდარი სხვადასხვა მოვლენის აღრიცხვისთვის. ნაგულისხმევი პარამეტრები საკმაოდ დაბალანსებულია და კარგად მუშაობს უმეტეს სისტემებისთვის. თუმცა, იმის გაგება, თუ როგორ მუშაობს syslog საშუალებას მოგცემთ მნიშვნელოვნად გააუმჯობესოთ ჟურნალის ხარისხი თქვენი კონკრეტული საჭიროებების დასაკმაყოფილებლად.