ຄໍາສັ່ງ Syslogd Linux ແລະ Unix

Sysklogd ມີສອງລະບົບສາທານນູປະໂພກທີ່ສະຫນອງການສະຫນັບສະຫນູນສໍາລັບການເຂົ້າລະບົບລະບົບແລະຂໍ້ຄວາມຂີ້ເຫຍື້ອ. ການສະຫນັບສະຫນູນຂອງທັງສອງ socket ອິນເຕີເນັດແລະ unix ຊ່ວຍໃຫ້ຊຸດປະໂຫຍດນີ້ເພື່ອສະຫນັບສະຫນູນທັງການຕັດໄມ້ໃນທ້ອງຖິ່ນແລະຫ່າງໄກສອກຫຼີກ.

ການເຂົ້າລະບົບຂອງລະບົບແມ່ນສະຫນອງໂດຍສະບັບຂອງ syslogd (8) ທີ່ມາຈາກແຫຼ່ງ BSD ຫຼັກຊັບ. ສະຫນັບສະຫນູນສໍາລັບການເຂົ້າລະບົບ kernel ແມ່ນສະຫນອງໃຫ້ໂດຍການໃຊ້ klogd (8) ເຊິ່ງອະນຸຍາດໃຫ້ການເຂົ້າລະບົບ kernel ຖືກດໍາເນີນໃນຮູບແບບທີ່ເປັນແບບດ່ຽວຫຼືເປັນລູກຄ້າຂອງ syslogd.

Syslogd ໃຫ້ປະເພດການເຂົ້າສູ່ລະບົບທີ່ມີຫຼາຍໂຄງການທີ່ທັນສະໄຫມນໍາໃຊ້. ທຸກໆຂໍ້ຄວາມທີ່ບັນທຶກໄວ້ມີຢ່າງນ້ອຍເວລາແລະສະຫນາມຊື່ໂຮດ, ຕາມປົກກະຕິແລ້ວຊື່ຂອງໂປແກຼມຊື່ໂຄງການ, ແຕ່ວ່າແມ່ນຂຶ້ນກັບວິທີການເຂົ້າສູ່ລະບົບທີ່ເຊື່ອຖືໄດ້.

ໃນຂະນະທີ່ແຫລ່ງ syslogd ໄດ້ຖືກແກ້ໄຂຢ່າງຫຼວງຫຼາຍ, ຄູ່ຜົວເມຍຂອງບັນທຶກແມ່ນໃນຄໍາສັ່ງ. ຫນ້າທໍາອິດຂອງການທັງຫມົດມີຄວາມພະຍາຍາມລະບົບເພື່ອຮັບປະກັນວ່າ syslogd ຕາມມາດຕະຖານຂອງມັນ, ມາດຕະຖານ BSD ມາດຕະຖານ. ແນວຄິດທີ່ສໍາຄັນທີສອງທີ່ຈະສັງເກດແມ່ນວ່າສະບັບຂອງ syslogd ນີ້ພົວພັນກັບໂປແກຼມ syslog ທີ່ມີຢູ່ໃນຫ້ອງສະຫມຸດມາດຕະຖານ. ຖ້າຫາກວ່າຄູ່ຜົວເມຍທີ່ເຊື່ອມໂຍງກັບຫ້ອງສະແດງການແບ່ງປັນມາດຕະຖານບໍ່ສາມາດເຮັດວຽກໄດ້ຖືກຕ້ອງ, ພວກເຮົາຢາກຈະເປັນຕົວຢ່າງຂອງພຶດຕິກໍາທີ່ຜິດປົກກະຕິ.

ແຟ້ມການຕັ້ງຄ່າຕົ້ນຕໍ /etc/syslog.conf ຫຼືໄຟລ໌ທາງເລືອກທີ່ມີຕົວເລືອກ -f ແມ່ນອ່ານໃນເວລາເລີ່ມຕົ້ນ. ສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍເຄື່ອງຫມາຍຮັດ (`` # '') ແລະສາຍຫວ່າງເປົ່າຖືກຍົກເລີກ. ຖ້າມີຂໍ້ຜິດພາດເກີດຂື້ນໃນລະຫວ່າງການແຍກຂໍ້ມູນທັງຫມົດເສັ້ນທາງໄດ້ຖືກຍົກເລີກ.

Synopsis

syslogd [ -a socket ] [ -d ] [ -f config file ] [ -h ] [ -l hostlist ] [ -m interval ] [ -n ] [ -p socket ] [ -r ] [ -s domainlist ] [ - v ] [ -x ]

ຕົວເລືອກ

- ຊັອກເກັດ

ການນໍາໃຊ້ການໂຕ້ຖຽງນີ້ທ່ານສາມາດກໍານົດ sockets ເພີ່ມເຕີມຈາກ syslogd ທີ່ ມີການຮັບຟັງ. ນີ້ແມ່ນຈໍາເປັນຖ້າຫາກວ່າທ່ານກໍາລັງເຮັດໃຫ້ daemon ບາງແລ່ນຢູ່ພາຍໃນສະພາບແວດລ້ອມ chroot (). ທ່ານສາມາດໃຊ້ເຖິງ 19 ຊ່ອງຕໍ່ເພີ່ມເຕີມ. ຖ້າສະພາບແວດລ້ອມຂອງທ່ານຕ້ອງການຫຼາຍ, ທ່ານຕ້ອງເພີ່ມສັນຍາລັກ MAXFUNIX ພາຍໃນໄຟລ໌ແຫຼ່ງ syslogd.c. ຕົວຢ່າງສໍາລັບ chroot () daemon ແມ່ນໄດ້ຖືກອະທິບາຍໂດຍປະຊາຊົນຈາກ OpenBSD ທີ່ http://www.psionic.com/papers/dns.html.

-d

ເປີດໂຫມດການແກ້ບັນຫາ. ການນໍາໃຊ້ນີ້ daemon ຈະບໍ່ດໍາເນີນການ fork (2) ເພື່ອຕັ້ງຕົວມັນເອງໃນພື້ນຫລັງ, ແຕ່ກົງກັນຂ້າມກັບທີ່ຢູ່ໃນ foreground ແລະຂຽນຂໍ້ມູນຂ່າວສານ debug ຫຼາຍກ່ຽວກັບ tty ໃນປະຈຸບັນ. ເບິ່ງພາກ DEBUGGING ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.

-f config file

ກໍານົດໄຟລ໌ການຕັ້ງຄ່າແທນທີ່ /etc/syslog.conf , ຊຶ່ງເປັນຄ່າເລີ່ມຕົ້ນ.

-h

ໂດຍ default syslogd ຈະບໍ່ສົ່ງຂໍ້ຄວາມທີ່ມັນໄດ້ຮັບຈາກໂຮດໄລຍະໄກ. ການກໍານົດສະຫຼັບນີ້ຢູ່ໃນບັນທັດຄໍາສັ່ງຈະເຮັດໃຫ້ daemon ບັນທຶກການສົ່ງຂໍ້ຄວາມຫ່າງໄກສອກຫຼີກໃດໆທີ່ມັນໄດ້ຮັບຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍທີ່ຖືກກໍານົດ.

-l hostlist

ລະບຸຊື່ໂຮດທີ່ຄວນຈະຖືກບັນທຶກໄວ້ດ້ວຍຊື່ໂຮດທີ່ງ່າຍດາຍແລະບໍ່ແມ່ນ fqdn. ເຄື່ອງແມ່ຂ່າຍຫຼາຍອາດຈະຖືກກໍານົດໂດຍໃຊ້ຕົວແຍກແກ່ນ (``: '').

-m interval

syslogd ບັນທຶກເຄື່ອງຫມາຍສະແດງເຄື່ອງຫມາຍເປັນປົກກະຕິ. ໄລຍະ ເລີ່ມຕົ້ນລະຫວ່າງສອງ - MARK - ສາຍແມ່ນ 20 ນາທີ. ນີ້ສາມາດມີການປ່ຽນແປງດ້ວຍທາງເລືອກນີ້. ການຕັ້ງຄ່າ ໄລຍະເວລາ ທີ່ສູນຈະສູນຫາຍໄປຫມົດ.

-n

ຫຼີກລ້ຽງການສ້າງພື້ນຖານໂດຍອັດຕະໂນມັດ. ນີ້ແມ່ນຕ້ອງການໂດຍສະເພາະຖ້າ syslogd ຖືກເລີ່ມຕົ້ນແລະຄວບຄຸມໂດຍ init (8).

-p ຊັອກເກັດ

ທ່ານສາມາດລະບຸເຕົ້າໂຮມໂດເມນ unix ແທນແທນ / dev / log .

-r

ຕົວເລືອກນີ້ຈະຊ່ວຍໃຫ້ສະຖານທີ່ທີ່ຈະໄດ້ຮັບຂໍ້ຄວາມຈາກເຄືອຂ່າຍໂດຍໃຊ້ຊ່ອງອິນເຕີເນັດອິນເຕີເນັດທີ່ມີການບໍລິການ syslog (ເບິ່ງ (5)). ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໄດ້ຮັບຂໍ້ຄວາມໃດໆຈາກເຄືອຂ່າຍ.

ຕົວເລືອກນີ້ຖືກນໍາສະເຫນີໃນສະບັບ 1.3 ຂອງຊຸດ sysklogd. ກະລຸນາສັງເກດວ່າພຶດຕິກໍາແບບດັ້ງເດີມແມ່ນກົງກັນຂ້າມກັບສະບັບເກົ່າທີ່ປະຕິບັດ, ດັ່ງນັ້ນທ່ານອາດຈະຕ້ອງເປີດນີ້.

-s domainlist

ລະບຸຊື່ໂດເມນທີ່ຄວນຖືກຕັດອອກກ່ອນເຂົ້າສູ່ລະບົບ. ໂດເມນຫຼາຍໆອາດຈະຖືກກໍານົດໂດຍໃຊ້ຕົວແຍກແກັບ (``: ''). ກະລຸນາໃຫ້ຄໍາແນະນໍາວ່າບໍ່ມີໂດເມນຍ່ອຍສາມາດລະບຸແຕ່ມີພຽງໂດເມນທັງຫມົດ. ຕົວຢ່າງເຊັ່ນ - ຖ້າວ່າ North.de ຖືກລະບຸໄວ້ແລະການເຂົ້າສູ່ລະບົບຂອງເຈົ້າຈະແກ້ໄຂໃຫ້ satu.infodrom.north.de ບໍ່ມີໂດເມນຈະຖືກຕັດ, ທ່ານຈະຕ້ອງລະບຸສອງໂດເມນເຊັ່ນ: -s north.de:infodrom.north.de .

-v

ພິມຮຸ່ນແລະອອກ.

-x

ປິດການຄົ້ນຫາຊື່ເມື່ອໄດ້ຮັບຂໍ້ຄວາມຫ່າງໄກສອກຫຼີກ. ນີ້ຫລີກລ້ຽງການ deadlocks ໃນເວລາທີ່ nameserver ແມ່ນແລ່ນຢູ່ໃນເຄື່ອງດຽວກັນທີ່ເຮັດວຽກ daem syslog.

ສັນຍານ

Syslogd ປະຕິບັດກັບຊຸດຂອງສັນຍານ. ທ່ານອາດຈະສົ່ງສັນຍານໃຫ້ syslogd ໄດ້ງ່າຍ ໂດຍໃຊ້ດັ່ງຕໍ່ໄປນີ້:

kill-SIGNAL `cat / var / run / syslogdpid`

Sighup

ນີ້ເຮັດໃຫ້ syslogd ປະຕິບັດການເລີ່ມຕົ້ນໃຫມ່. ໄຟລ໌ທີ່ເປີດທັງຫມົດຈະປິດແລ້ວ, ໄຟລ໌ການຕັ້ງຄ່າ (default is /etc/syslog.conf ) ຈະຖືກອ່ານແລະສະຖານທີ່ syslog (3) ຖືກເລີ່ມຕົ້ນອີກເທື່ອຫນຶ່ງ.

SIGTERM

syslogd ຈະເສຍຊີວິດ.

SIGINT , SIGQUIT

ຖ້າ debugging ຖືກເປີດໃຫ້ໃຊ້ງານເຫຼົ່ານີ້ຈະຖືກຍົກເວັ້ນ, ຖ້າບໍ່ດັ່ງນັ້ນ syslogd ຈະເສຍຊີວິດ.

SIGUSR1

ປ່ຽນການແກ້ໄຂ debugging. ຕົວເລືອກນີ້ສາມາດໃຊ້ໄດ້ຖ້າ syslogd ຖືກເລີ່ມຕົ້ນດ້ວຍຕົວເລືອກ debug -d .

SIGCHLD

ລໍຖ້າເດັກຖ້າບາງຄົນເກີດມາ, ເນື່ອງຈາກວ່າຂໍ້ກໍານົດຂອງກໍາແພງຫີນ.

ການຕັ້ງຄ່າໄຟລ໌ຮູບແບບການກໍານົດຄວາມແຕກຕ່າງ

Syslogd ໃຊ້ ໄວຣ ັສທີ່ແຕກຕ່າງກັນເລັກນ້ອຍສໍາລັບໄຟລ໌ການຕັ້ງຄ່າຂອງຕົນຫຼາຍກວ່າແຫຼ່ງ BSD ເດີມ. ໃນເບື້ອງຕົ້ນຂໍ້ຄວາມທັງຫມົດຂອງບູລິມະສິດສະເພາະແລະຂ້າງເທິງໄດ້ຖືກສົ່ງຕໍ່ໄປຫາໄຟລ໌ຂອງບັນທຶກ.

ຕົວຢ່າງເຊັ່ນບັນທັດຕໍ່ໄປນີ້ເຮັດໃຫ້ຜົນຜະລິດທັງຫມົດຈາກ daemons ໃຊ້ວິທີການ daemon (debug ແມ່ນການບູລິມະສິດຕໍ່າສຸດ, ສະນັ້ນທຸກໆທີ່ສູງກວ່າຈະເຫມາະສົມ) ເຂົ້າໄປໃນ / usr / adm / daemons :

# ຕົວຢ່າງ syslog.conf daemon.debug / usr / adm / daemons

ພາຍໃຕ້ໂຄງການໃຫມ່, ພຶດຕິກໍານີ້ຍັງຄົງຢູ່ຄືກັນ. ຄວາມແຕກຕ່າງແມ່ນການເພີ່ມສີ່ຕົວແປໃຫມ່, ຕົວອັກສອນ ( * ), ຕົວສະແດງສົມຜົນ ( = ), ເຄື່ອງຫມາຍສະແດງອອກ ( ! ), ແລະສັນລັກ ( - ).

* ກໍານົດວ່າຂໍ້ຄວາມທັງຫມົດສໍາລັບສະຖານທີ່ທີ່ລະບຸນັ້ນຈະຖືກສົ່ງໄປຫາຈຸດຫມາຍປາຍທາງ. ໃຫ້ສັງເກດວ່າພຶດຕິກໍານີ້ມີຄວາມເສື່ອມເສີຍໂດຍລະບຸລະດັບບູລິມະສິດຂອງການແກ້ໄຂ. ຜູ້ຊົມໃຊ້ໄດ້ຊີ້ໃຫ້ເຫັນວ່າລະຫັດດາວທຽມແມ່ນມີຄວາມເຂົ້າໃຈຫຼາຍ.

ຕົວແທນ = wildcard ຖືກນໍາໃຊ້ເພື່ອຈໍາກັດການເຂົ້າສູ່ລະດັບຊັ້ນບູລິມະສິດທີ່ລະບຸ. ນີ້ອະນຸຍາດໃຫ້, ສໍາລັບການຍົກຕົວຢ່າງ, routing ພຽງແຕ່ຂໍ້ຄວາມ debug ກັບແຫຼ່ງເຂົ້າໂດຍສະເພາະ.

ຕົວຢ່າງເຊັ່ນເສັ້ນຕໍ່ໄປນີ້ໃນ syslog.conf ຈະສົ່ງຂໍ້ຄວາມແກ້ໄຂໂດຍກົງຈາກທຸກແຫຼ່ງໄປຍັງ / usr / adm / debug file.

# ຕົວຢ່າງ syslogconf * = debug / usr / adm / debug

The ! ຖືກນໍາໃຊ້ເພື່ອຍົກເວັ້ນການຂຸດຄົ້ນຂອງບູລິມະສິດທີ່ລະບຸໄວ້. ນີ້ຜົນກະທົບຕໍ່ຄວາມເປັນໄປໄດ້ທັງຫມົດ (!) ຂອງການກໍານົດລະດັບຄວາມສໍາຄັນ.

ຕົວຢ່າງເຊັ່ນສາຍຕໍ່ໄປນີ້ຈະບັນທຶກຂໍ້ຄວາມທັງຫມົດຂອງອີເມວສະຖານທີ່ຍົກເວັ້ນຜູ້ທີ່ມີຂໍ້ມູນທີ່ມີຄວາມສໍາຄັນຕໍ່ແຟ້ມ / usr / adm / mail . ແລະຂໍ້ຄວາມທັງຫມົດຈາກ news.info (ລວມທັງ) ກັບ news.crit (ບໍ່ລວມເອົາ) ຈະຖືກເຂົ້າສູ່ລະບົບ / usr / adm / news .

# sample syslogconf mail * mail! = info / usr / adm / mail newsinfo news! crit / usr / adm / news

ທ່ານອາດຈະນໍາໃຊ້ມັນໂດຍ intuitively ເປັນຕົວກໍານົດການຍົກເວັ້ນ. ການຕີລາຄາທີ່ໄດ້ກ່າວມາຂ້າງເທິງນີ້ແມ່ນພຽງແຕ່ປະຕິເສດ. ເຮັດສິ່ງທີ່ທ່ານອາດຈະໃຊ້

mailnone

ຫຼື

mail! *

ຫຼື

mail! debug

ເພື່ອຂ້າມຂໍ້ຄວາມທີ່ມາພ້ອມກັບອຸປະກອນອີເມວ. ມີຫ້ອງຫຼາຍທີ່ຈະຫລິ້ນກັບມັນ. :-)

The - ອາດຈະຖືກນໍາໃຊ້ກ່ອນທີ່ຈະ prefix ຊື່ໄຟລ໌ຖ້າທ່ານຕ້ອງການຍົກເລີກການຊິງໄຟລ໌ຫຼັງຈາກຂຽນທຸກຄັ້ງ.

ນີ້ອາດຈະໃຊ້ເວລາບາງ acclimatization ສໍາລັບບຸກຄົນທີ່ນໍາໃຊ້ກັບພຶດຕິກໍາ BSD ທີ່ບໍລິສຸດແຕ່ຜູ້ທົດສອບໄດ້ຊີ້ໃຫ້ເຫັນວ່າ syntax ນີ້ແມ່ນບາງຢ່າງທີ່ມີຄວາມຍືດຫຍຸ່ນກວ່າພຶດຕິກໍາ BSD. ໃຫ້ສັງເກດວ່າການປ່ຽນແປງເຫຼົ່ານີ້ບໍ່ຄວນສົ່ງຜົນກະທົບຕໍ່ໄຟລ໌ syslog.conf ມາດຕະຖານ (5). ທ່ານຕ້ອງແກ້ໄຂໄຟລ໌ການຕັ້ງຄ່າໂດຍສະເພາະເພື່ອໃຫ້ມີພຶດຕິກໍາທີ່ເພີ່ມຂຶ້ນ.

ສະຫນັບສະຫນູນສໍາລັບການເຂົ້າສູ່ລະບົບໄລຍະໄກ

ການດັດແກ້ເຫຼົ່ານີ້ສະຫນອງການສະຫນັບສະຫນູນເຄືອຂ່າຍກັບສະຖານທີ່ syslogd. ການສະຫນັບສະຫນູນເຄືອຂ່າຍຫມາຍຄວາມວ່າຂໍ້ຄວາມສາມາດສົ່ງຕໍ່ຈາກຫນຶ່ງ node ທີ່ແລ່ນ syslogd ໄປຍັງ node ທີ່ກໍາລັງໃຊ້ syslogd ບ່ອນທີ່ພວກເຂົາຈະຖືກບັນທຶກໄວ້ໃນແຟ້ມດິດ.

ເພື່ອເປີດໃຊ້ງານນີ້ທ່ານຕ້ອງລະບຸຕົວເລືອກ -r ໃນເສັ້ນຄໍາສັ່ງ. ພຶດຕິກໍາຕົ້ນຕໍແມ່ນວ່າ syslogd ຈະບໍ່ຟັງເຄືອຂ່າຍ.

ຍຸດທະສາດແມ່ນມີ syslogd ຟັງກ່ຽວກັບເຕົ້າໂຮມໂດເມນ unix ສໍາລັບຂໍ້ມູນບັນທຶກການຜະລິດພາຍໃນ. ພຶດຕິກໍານີ້ຈະອະນຸຍາດໃຫ້ syslogd ສາມາດເຮັດວຽກຮ່ວມກັບ syslog ທີ່ພົບໃນຫ້ອງສະຫມຸດ C ມາດຕະຖານ. ໃນເວລາດຽວກັນ syslogd ຟັງຢູ່ໃນພອດ syslog ມາດຕະຖານສໍາລັບຂໍ້ຄວາມທີ່ສົ່ງຕໍ່ຈາກເຄື່ອງແມ່ຂ່າຍອື່ນໆ. ເພື່ອໃຫ້ມີການເຮັດວຽກນີ້ຖືກຕ້ອງ, ໄຟລ໌ ການບໍລິການ (5) (ປົກກະຕິພົບໃນ / etc ) ຕ້ອງມີການເຂົ້າຕໍ່ໄປນີ້:

syslog 514 / udp

ຖ້າລາຍະການນີ້ຫາຍໄປ syslogd ບໍ່ສາມາດໄດ້ຮັບຂໍ້ຄວາມຫ່າງໄກສອກຫຼີກຫຼືສົ່ງພວກເຂົາ, ເພາະວ່າພອດ UDP ບໍ່ສາມາດເປີດໄດ້. ແທນທີ່ຈະ, syslogd ຈະເສຍຊີວິດທັນທີ, ສັ່ງອອກຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ.

ເພື່ອເຮັດໃຫ້ຂໍ້ຄວາມທີ່ສົ່ງຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍອື່ນປ່ຽນເສັ້ນເອກະສານປົກກະຕິໃນແຟ້ມ syslog.conf ທີ່ມີຊື່ຂອງໂຮດທີ່ຂໍ້ຄວາມຖືກສົ່ງໄປພ້ອມກັບ @.

ຕົວຢ່າງເຊັ່ນສົ່ງຂໍ້ຄວາມ ALL ໄປທີ່ໂຮດໄລຍະໄກໂດຍໃຊ້ລະ ບົບ syslogconf ຕໍ່ໄປນີ້:

# ຕົວຢ່າງ syslogd ການຕັ້ງຄ່າໄຟລ໌ກັບຂໍ້ຄວາມ # ກັບເຄື່ອງແມ່ຂ່າຍຫ່າງໄກສອກຫຼີກໄປທັງຫມົດ. * * @hostname

ການສົ່ງຕໍ່ຂໍ້ຄວາມ kernel ທັງຫມົດໄປຍັງ host ຫ່າງໄກສອກຫຼີກໄຟລ໌ການຕັ້ງຄ່າຈະມີດັ່ງນີ້:

# ແຟ້ມການຕັ້ງຄ່າຕົວຢ່າງເພື່ອສົ່ງຂໍ້ຄວາມທັງຫມົດຂອງເຄີເນນໄປຫາໂຮດໄລຍະໄກ. kern * @hostname

ຖ້າ hostname ຫ່າງໄກສອກຫຼີກບໍ່ສາມາດແກ້ໄຂເມື່ອເລີ່ມຕົ້ນໄດ້, ເພາະວ່າຊື່ເຄື່ອງແມ່ຂ່າຍອາດບໍ່ສາມາດເຂົ້າເຖິງໄດ້ (ມັນອາດຈະເລີ່ມຕົ້ນຫຼັງຈາກ syslogd) ທ່ານບໍ່ຕ້ອງກັງວົນ. Syslogd ຈະພະຍາຍາມແກ້ໄຂຊື່ສິບເທື່ອແລະຫຼັງຈາກນັ້ນຈົ່ມວ່າ. ຄວາມເປັນໄປໄດ້ອີກທີ່ຈະຫຼີກເວັ້ນການນີ້ແມ່ນການວາງຊື່ໂຮດໃນ / etc / hosts .

ມີ syslogd s ປົກກະຕິທ່ານຈະໄດ້ຮັບ syslog-loops ຖ້າທ່ານສົ່ງຂໍ້ຄວາມທີ່ໄດ້ຮັບຈາກເຈົ້າພາບຫ່າງໄກສອກຫຼີກໄປຫາ host ດຽວກັນ (ຫຼືມີຄວາມສັບສົນກັບ host ທີສາມທີ່ສົ່ງມັນກັບຄືນທໍາອິດແລະອື່ນໆ). ໃນໂດເມນຂອງຂ້ອຍ (Infodrom Oldenburg) ພວກເຮົາໄດ້ຮັບອຸປະຕິເຫດຫນຶ່ງແລະແຜ່ນຂອງພວກເຮົາເຕັມໄປດ້ວຍຂໍ້ຄວາມດຽວດຽວກັນ. :-(

ເພື່ອຫຼີກເວັ້ນການນີ້ໃນເວລາຕໍ່ໄປ, ບໍ່ມີຂໍ້ຄວາມທີ່ໄດ້ຮັບຈາກເຈົ້າພາບຫ່າງໄກສອກຫຼີກທີ່ຖືກສົ່ງອອກໄປຫາເຈົ້າຂອງຫ່າງໄກສອກຫຼີກອື່ນ (ຫຼືດຽວກັນ). ຖ້າມີສະຖານະການທີ່ບໍ່ມີຄວາມຫມາຍ, ກະລຸນາລົງຂ້ອຍ (Joey) ເສັ້ນ.

ຖ້າໂຮດໄລຍະໄກຢູ່ໃນໂດເມນດຽວກັນກັບໂຮດ, syslogd ກໍາລັງເຮັດວຽກ, ພຽງແຕ່ຊື່ໂຮດທີ່ງ່າຍດາຍຈະຖືກເຂົ້າສູ່ລະບົບແທນ fqdn ທັງຫມົດ.

ໃນເຄືອຂ່າຍທ້ອງຖິ່ນທ່ານອາດຈະໃຫ້ເຄື່ອງແມ່ຂ່າຍຂອງເຊັນເຊີກາງທີ່ມີຂໍ້ມູນສໍາຄັນທີ່ເກັບໄວ້ໃນເຄື່ອງດຽວກັນ. ຖ້າເຄືອຂ່າຍປະກອບມີໂດເມນທີ່ແຕກຕ່າງກັນທ່ານບໍ່ຈໍາເປັນຕ້ອງແກ້ໄຂກ່ຽວກັບການເຂົ້າສູ່ລະບົບຊື່ທີ່ມີຄຸນສົມບັດຄົບຖ້ວນແທນທີ່ຈະເປັນຊື່ທີ່ງ່າຍດາຍ. ທ່ານອາດຈະຕ້ອງການໃຊ້ຄຸນສົມບັດເດັ່ນຂອງ domain -s ຂອງເຄື່ອງແມ່ຂ່າຍນີ້. ທ່ານສາມາດບອກໄດ້ວ່າ syslogd ຈະລຸດອອກຈາກໂດເມນຫຼາຍກ່ວາຫນຶ່ງໃນເຄື່ອງແມ່ຂ່າຍທີ່ຕັ້ງຢູ່ແລະພຽງແຕ່ເຂົ້າສູ່ລະບົບຊື່ໂດເມນທີ່ງ່າຍດາຍ.

ການນໍາໃຊ້ຕົວເລືອກ -l ຍັງມີຄວາມເປັນໄປໄດ້ທີ່ຈະກໍານົດ host ດຽວເປັນເຄື່ອງຂອງທ້ອງຖິ່ນ. ນີ້ກໍ່ຜົນໄດ້ຮັບການເຂົ້າສູ່ລະບົບຊື່ໂດເມນທີ່ງ່າຍດາຍແລະບໍ່ແມ່ນ fqdns.

ຊັອກເກັດ UDP ທີ່ໃຊ້ໃນການສົ່ງຂໍ້ຄວາມໄປຍັງເຄື່ອງຫ່າງໄກສອກຫຼີກຫຼືການໄດ້ຮັບຂໍ້ຄວາມຈາກພວກມັນຈະເປີດພຽງແຕ່ເວລາທີ່ຕ້ອງການ. ໃນການເປີດເຜີຍກ່ອນທີ່ຈະ 1.3-23 ມັນໄດ້ຖືກເປີດທຸກຄັ້ງແຕ່ບໍ່ໄດ້ເປີດສໍາລັບການອ່ານຫຼືການສົ່ງຕໍ່ຕາມລໍາດັບ.

ຜົນຜະລິດກັບທໍ່ຊື່ (FIFOs)

ຮຸ່ນຂອງ syslogd ນີ້ມີການສະຫນັບສະຫນູນສໍາລັບຜົນຜະລິດເຂົ້າໃນການຕັ້ງຊື່ທໍ່ (fifos). ທໍ່ນ້ໍາຫ້າຫຼືຊື່ສາມາດຖືກນໍາໃຊ້ເປັນຈຸດຫມາຍປາຍທາງສໍາລັບຂໍ້ຄວາມບັນທຶກໂດຍການປ້ອນສັນຍາລັກ pipy (`` | '') ກັບຊື່ຂອງແຟ້ມ. ນີ້ແມ່ນມີປະໂຫຍດສໍາລັບແກ້ໄຂ debugging. ໃຫ້ສັງເກດວ່າ fifo ຕ້ອງຖືກສ້າງດ້ວຍຄໍາສັ່ງ mkfifo ກ່ອນທີ່ syslogd ຈະເລີ່ມຕົ້ນ.

ໄຟລ໌ການຕັ້ງຄ່າດັ່ງຕໍ່ໄປນີ້ເສັ້ນທາງການແກ້ໄຂຂໍ້ຄວາມແກ້ໄຂຈາກແກ່ນກັບ fifo:

# ການຕັ້ງຄ່າຕົວຢ່າງເພື່ອແກ້ໄຂເຄີເນນການແກ້ໄຂຂໍ້ຄວາມຂໍ້ຄວາມເທົ່ານັ້ນກັບ / usr / adm / debug ເຊິ່ງເປັນ # ທໍ່ທີ່ມີຊື່. kern = debug | / usr / adm / debug

ຄວາມກັງວົນໃນການຕິດຕັ້ງ

ອາດຈະເປັນການພິຈາລະນາທີ່ສໍາຄັນເມື່ອຕິດຕັ້ງເວີຊັນນີ້ຂອງ syslogd. ຮຸ່ນຂອງ syslogd ນີ້ແມ່ນຂຶ້ນກັບການຈັດຮູບແບບທີ່ເຫມາະສົມຂອງຂໍ້ຄວາມໂດຍຟັງຊັນ syslog. ການເຮັດວຽກຂອງຟັງຊັນ syslog ໃນຫ້ອງສະຫມຸດແບ່ງປັນໄດ້ມີການປ່ຽນແປງຢູ່ໃນຂົງເຂດຂອງ libc.so.4. [2-4]. n. ການປ່ຽນແປງສະເພາະແມ່ນເພື່ອລົບລ້າງຂໍ້ຄວາມກ່ອນທີ່ຈະສົ່ງມັນໄປ ສູ່ ເຕົ້າຮັບ / dev / log . ການເຮັດວຽກທີ່ເຫມາະສົມຂອງສະບັບ syslogd ນີ້ແມ່ນຂຶ້ນກັບການສິ້ນສຸດຂອງຂໍ້ຄວາມ.

ບັນຫານີ້ປົກກະຕິຈະສະແດງຕົວຂອງມັນເອງຖ້າຫາກວ່າມີລະບົບປະຕິບັດງານທີ່ເຊື່ອມໂຍງແບບຄົງທີ່ເກົ່າຢູ່ໃນລະບົບ. Binaries ໃຊ້ສະບັບເກົ່າຂອງຟັງຊັນ syslog ຈະເຮັດໃຫ້ເສັ້ນຫວ່າງເປົ່າຈະຖືກບັນທຶກຕາມດ້ວຍຂໍ້ຄວາມທີ່ມີລັກສະນະທໍາອິດໃນຂໍ້ຄວາມຖືກລຶບ. ການເຊື່ອມໂຍງກັບລະບົບປະຕິບັດການເຫຼົ່ານີ້ກັບເວີຊັນໃຫມ່ຂອງຫ້ອງສະແດງການແບ່ງປັນຈະແກ້ໄຂບັນຫານີ້.

ທັງສອງ syslogd (8) ແລະ klogd (8) ສາມາດດໍາເນີນການຈາກ init (8) ຫຼືເລີ່ມຕົ້ນເປັນສ່ວນຫນຶ່ງຂອງລໍາດັບ rc *. ຖ້າມັນເລີ່ມຕົ້ນຈາກ init ຕົວເລືອກ -n ບໍ່ຕ້ອງກໍານົດ, ຖ້າບໍ່ດັ່ງນັ້ນທ່ານຈະໄດ້ຮັບການເລີ່ມຕົ້ນຂອງ syslog daemons. ນີ້ແມ່ນຍ້ອນວ່າ init (8) ແມ່ນຂຶ້ນກັບ ID ຂອງຂະບວນການ.

ຄວາມປອດໄພໄພຂົ່ມຂູ່

ມີທ່າແຮງສໍາລັບ daemon syslogd ທີ່ຈະຖືກນໍາໃຊ້ເປັນ conduit ສໍາລັບການປະຕິເສດການໂຈມຕີບໍລິການ. ຂໍຂອບໃຈທີ່ເຂົ້າໄປຫາ John Morrison (jmorriso@rflab.ee.bc.ca) ເພື່ອແຈ້ງເຕືອນຂ້ອຍກ່ຽວກັບທ່າແຮງນີ້. ໂປລແກລມ rogue (mer) ສາມາດເຮັດໃຫ້ນ້ໍາ syslogd daemon ກັບຂໍ້ຄວາມ syslog ເຮັດໃຫ້ແຟ້ມບັນທຶກທີ່ໃຊ້ທັງຫມົດພື້ນທີ່ທີ່ເຫລືອຢູ່ໃນ ລະບົບໄຟລ໌ . ການເປີດໃຊ້ການເຂົ້າສູ່ລະບົບຜ່ານລະບົບໂດເມນ inet ແນ່ນອນຈະສະແດງລະບົບທີ່ມີຄວາມສ່ຽງພາຍນອກຂອງໂຄງການຫຼືບຸກຄົນໃນເຄື່ອງຂອງທ້ອງຖິ່ນ.

ມີວິທີການປົກປ້ອງເຄື່ອງຈັກຈໍານວນຫນຶ່ງ:

  1. ປະຕິບັດ firewalling kernel ເພື່ອຈໍາກັດວ່າໂຮດຫລືເຄືອຂ່າຍມີການເຂົ້າເຖິງຊ່ອງ 514 / UDP.
  2. ການເຂົ້າສູ່ລະບົບສາມາດຖືກມຸ້ງໄປຫາລະບົບໄຟລ໌ຫ່າງໄກສອກຫລີກທີ່ບໍ່ແມ່ນຮາກເຊິ່ງ, ຖ້າເຕັມໄປ, ຈະບໍ່ທໍາລາຍເຄື່ອງ.
  3. ລະບົບໄຟ ext2 ສາມາດຖືກນໍາໃຊ້ຊຶ່ງສາມາດຖືກກໍານົດເພື່ອກໍານົດອັດຕາສ່ວນທີ່ແນ່ນອນຂອງລະບົບໄຟລ໌ເພື່ອການນໍາໃຊ້ໂດຍຮາກເທົ່ານັ້ນ. ຫມາຍເຫດ ນີ້ຈະຕ້ອງໃຊ້ syslogd ທີ່ຈະດໍາເນີນການເປັນຂະບວນການທີ່ບໍ່ແມ່ນຮາກ. ໃຫ້ສັງເກດ ວ່ານີ້ຈະປ້ອງກັນການນໍາໃຊ້ການເຂົ້າສູ່ລະບົບຫ່າງໄກສອກຫຼີກນັບຕັ້ງແຕ່ syslogd ຈະບໍ່ສາມາດເຊື່ອມຕໍ່ກັບຊ່ອງສຽບ 514 / UDP.
  4. ການປິດຊ່ອງສຽບໂດເມນ inet ຈະຈໍາກັດຄວາມສ່ຽງຕໍ່ເຄື່ອງເຄື່ອງຢູ່ໃນທ້ອງຖິ່ນ.
  5. ໃຊ້ຂັ້ນຕອນທີ 4 ແລະຖ້າບັນຫາຍັງຄົງຢູ່ແລະບໍ່ຮອງຮັບໂຄງການ / daemon rogue ມີຄວາມຍາວ 3.5 ຟຸດ (ຍາວປະມານ 1 ແມັດ) ຂອງ rod sucker * ແລະມີການສົນທະນາກັບຜູ້ໃຊ້ໃນຄໍາຖາມ. Sucker rod def --- 3/4, 7/8 ຫລື 1 ນາທີ. rod ເຫຼັກແຂງ, ຊາຍ threaded ສຸດທ້າຍແຕ່ລະຄົນ. ການນໍາໃຊ້ທີ່ສໍາຄັນໃນອຸດສາຫະກໍານ້ໍາມັນໃນເຂດຕາເວັນຕົກພາກເຫນືອ Dakota ແລະສະຖານທີ່ອື່ນໆເພື່ອປອມ້ໍາມັນຈາກນ້ໍາມັນ. ການນໍາໃຊ້ທີ່ສອງແມ່ນສໍາລັບການກໍ່ສ້າງຂອງອາຫານສັດລ້ຽງທີ່ຫຼາຍແລະສໍາລັບການຈັດການກັບບຸກຄົນ recalcitrant ຫຼື belligerent ບາງຄັ້ງຄາວ.

Debugging

ເມື່ອແກ້ໄຂ debugging ໂດຍໃຊ້ຕົວເລືອກ -d ແລ້ວ syslogd ຈະມີຄໍາເວົ້າຫຼາຍໂດຍຂຽນຫຼາຍສິ່ງທີ່ມັນເຮັດໃນ stdout. ເມື່ອໃດກໍ່ຕາມໄຟລ໌ການຕັ້ງຄ່າຖືກອ່ານແລະແບ່ງປັນໃຫມ່, ທ່ານຈະເຫັນ tabular, ທີ່ສອດຄ້ອງກັບໂຄງສ້າງຂໍ້ມູນພາຍໃນ. ຕາຕະລາງນີ້ປະກອບດ້ວຍສີ່ຂົງເຂດ:

ຫມາຍເລກ

ພາກສະຫນາມນີ້ປະກອບດ້ວຍຈໍານວນ serial ທີ່ເລີ່ມຕົ້ນໂດຍສູນ. ຕົວເລກນີ້ສະແດງຕໍາແຫນ່ງໃນໂຄງສ້າງຂໍ້ມູນພາຍໃນ (ຕົວຢ່າງອາເລ). ຖ້າຈໍານວນຫນຶ່ງຖືກປະໄວ້ຫຼັງຈາກນັ້ນອາດມີຂໍ້ຜິດພາດໃນເສັ້ນທີ່ສອດຄ້ອງກັນໃນ /etc/syslog.conf .

ຮູບແບບ

ພາກສະຫນາມນີ້ແມ່ນ tricky ແລະສະແດງໂຄງສ້າງພາຍໃນແທ້ໆ. ຖັນທຸກໆຢືນສໍາລັບສະຖານທີ່ (ເບິ່ງ syslog (3)). ຕາມທີ່ທ່ານສາມາດເຫັນໄດ້, ຍັງມີສະຖານທີ່ບາງບ່ອນທີ່ບໍ່ເສຍຄ່າສໍາລັບການນໍາໃຊ້ທີ່ຜ່ານມາ, ມີພຽງແຕ່ສ່ວນຫຼາຍທີ່ຖືກນໍາໃຊ້ເທົ່ານັ້ນ. ທຸກພາກສະຫນາມໃນຄໍລໍາສະແດງເປັນບູລິມະສິດ (ເບິ່ງວ່າ syslog (3)).

ການປະຕິບັດ

ພາກສະຫນາມນີ້ອະທິບາຍເຖິງການປະຕິບັດໂດຍສະເພາະທີ່ເກີດຂື້ນໃນເວລາທີ່ຂໍ້ຄວາມທີ່ໄດ້ຮັບທີ່ກົງກັບຮູບແບບ. ໂປດເບິ່ງທີ່ syslogconf (5) manpage ສໍາຫລັບການກະເຮັດທັງຫມົດທີ່ເປັນໄປໄດ້

ການໂຕ້ຖຽງ

ພາກສະຫນາມນີ້ສະແດງໃຫ້ເຫັນການໂຕ້ຖຽງຕື່ມກ່ຽວກັບການກະທໍາໃນພາກສະຫນາມສຸດທ້າຍ. ສໍາລັບບັນທຶກໄຟລ໌ນີ້ແມ່ນຊື່ໄຟລ໌ສໍາລັບລະຫັດ logfile; ສໍາລັບການເຂົ້າສູ່ລະບົບຜູ້ໃຊ້ນີ້ແມ່ນບັນຊີລາຍຊື່ຂອງຜູ້ໃຊ້; ສໍາລັບການເຂົ້າສູ່ລະບົບຫ່າງໄກສອກຫຼີກນີ້ແມ່ນຊື່ຂອງເຄື່ອງທີ່ຈະເຂົ້າຫາ; ສໍາລັບ console -logging ນີ້ແມ່ນ console ນໍາໃຊ້; ສໍາລັບ tty -logging ນີ້ແມ່ນ tty specified; ກໍາແພງບໍ່ມີການໂຕ້ຖຽງຕື່ມອີກ.

ເບິ່ງຍັງ

logger (1), syslog (2), (5)

ຜູ້ຮ່ວມມື

Syslogd ແມ່ນໄດ້ມາຈາກແຫຼ່ງ BSD, Greg Wettstein (greg@wendenjellic.com) ປະຕິບັດການທີ່ Port ກັບ Linux , Martin Schulze (joey@linux.de) ແກ້ໄຂບາງ bugs ແລະເພີ່ມລັກສະນະໃຫມ່ຫຼາຍ. Klogd ຖືກຂຽນໂດຍ Steve Lord (lord@cray.com), Greg Wettstein ໄດ້ປັບປຸງທີ່ສໍາຄັນ.

Dr Greg Wettstein
Enjellic Systems Development

ອົງການຄອມພິວເຕີ້ພະແນກວິທະຍາສາດ
Roger Maris Cancer Center
Fargo, ND
greg @ windenjelliccom

Stephen Tweedie
ພະແນກວິທະຍາສາດຄອມພິວເຕີ
ມະຫາວິທະຍາໄລ Edinburgh, Scotland
sct @ dscs.acuk

Juha Virtanen
jiivee @ hutfi

Shane Alderton
shane @ ionapanaorgau

Martin Schulze
Infodrom Oldenburg
joey @ linuxde

ສິ່ງສໍາຄັນ: ໃຊ້ຄໍາສັ່ງ man ( % man ) ເພື່ອເບິ່ງວິທີການໃຊ້ຄໍາສັ່ງໃນຄອມພິວເຕີຂອງທ່ານ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ