ดาวน์โหลดการดูแลระบบ Linux (CentOS) systemd.service ทั่วไป การจัดการ systemd บนเครื่องระยะไกล

สวัสดีเพื่อนร่วมงาน เป็นเวลานานโครงการ NetSkills จัดทำขึ้นโดยเฉพาะ เทคโนโลยีเครือข่าย - ดี นักสู้หนุ่ม, พื้นฐาน GNS, UNetLab- อย่างไรก็ตาม สมาชิกถามคำถามต่อไปนี้มากขึ้น: “วิศวกรเครือข่ายควรทำอะไรอีกหรือ ผู้ดูแลระบบ?” - ที่นี่คุณสามารถอ้างอิงได้ รายการใหญ่เทคโนโลยี/ทิศทาง และสรุปได้ว่าการรู้เฉพาะเครือข่ายเท่านั้นที่เป็นเช่นนั้น ไม่เพียงพอ- เห็นได้ชัดว่าการประสบความสำเร็จในอาชีพการงานนั้นต้องการมากกว่านั้นมาก ดังนั้นจึงตัดสินใจขยายโครงการและเปิดตัวหลักสูตร “Linux for Beginners” เป็นครั้งแรก

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

วัตถุประสงค์ของหลักสูตร– เรียนรู้พื้นฐานการบริหารระบบปฏิบัติการ Linux เนื้อหาส่วนใหญ่ใช้งานได้จริงและมีทฤษฎีเพียงเล็กน้อย หลักสูตรนี้เหมาะสำหรับทั้งผู้ดูแลระบบมือใหม่ที่เกี่ยวข้องกับการตั้งค่าเซิร์ฟเวอร์ของบริษัทและสำหรับวิศวกรเครือข่ายเพราะว่า ที่สุด อุปกรณ์เครือข่ายใช้ Linux (โดยเฉพาะอย่างยิ่งเมื่อพิจารณาถึงแนวโน้มของการทดแทนการนำเข้า) ดังนั้นทักษะในการทำงานกับระบบนี้จะไม่ขัดขวางพวกเขาอย่างแน่นอน โดยทั่วไปแล้ว ผู้เชี่ยวชาญด้านไอทีที่เคารพตนเองทุกคนมีหน้าที่เพียงแค่มีทักษะพื้นฐานในการทำงานกับระบบ Linux มูลค่าของพนักงานดังกล่าวเพิ่มขึ้นทันที

หลักสูตรทั้งหมดจะแบ่งออกเป็นสองส่วน: หลักสูตรขั้นพื้นฐานและขั้นสูง- ในหลักสูตรพื้นฐาน เราจะดูแนวคิดพื้นฐาน เรียนรู้วิธีการผลิต การตั้งค่าเริ่มต้นเซิร์ฟเวอร์และกำหนดค่าเกตเวย์การเข้าถึงอินเทอร์เน็ตด้วย ในหลักสูตรเพิ่มเติม เราจะดูวิธีการปรับใช้โครงสร้างพื้นฐานเซิร์ฟเวอร์ของบริษัท บนพื้นฐานลินุกซ์.

เพื่อวางแผน หลักสูตรพื้นฐานรวมหัวข้อต่อไปนี้:
1.วัตถุประสงค์ของการศึกษาห้องผ่าตัด ระบบลินุกซ์ข้อได้เปรียบหลัก
2.การสร้างเครื่องเสมือน
3. การติดตั้งระบบปฏิบัติการ CentOS
4. โครงสร้างระบบไฟล์ Linux
5.คำสั่งพื้นฐานที่จำเป็นในการทำงาน คอนโซลลินุกซ์(cd, ls, man, grep, find, cp, mv, rm ฯลฯ)
6.การตั้งค่าเครือข่ายใน CentOS ยูทิลิตี้สีโป๊ว, WinSCP
7.พื้นฐานของความปลอดภัย การเพิ่มผู้ใช้ใหม่เข้าสู่ระบบ
8.การติดตั้งแพ็คเกจ ผู้จัดการแพ็คเกจ- ที่เก็บ
9.MC ตัวจัดการไฟล์ โปรแกรมแก้ไขข้อความนาโนและ ยูทิลิตี้เครือข่าย(ifconfig, nslookup, arp, telnet)
10.การกำหนดค่าเกตเวย์การเข้าถึงอินเทอร์เน็ต ไอพีเทเบิล แนท ดีเอชซีพี.

เหตุใดจึงต้องเรียนรู้ Linux และประโยชน์ของมันคืออะไร?ฉันคิดว่ามันคุ้มค่าที่จะเริ่มต้นด้วยคำจำกัดความ
GNU/Linux เป็นตระกูลระบบปฏิบัติการที่มีลักษณะคล้ายยูนิกซ์ซึ่งใช้เคอร์เนล Linux ระบบปฏิบัติการจากตระกูลนี้มักจะแจกจ่ายฟรีในรูปแบบของสิ่งที่เรียกว่าการแจกจ่ายซึ่งนอกเหนือจากระบบปฏิบัติการแล้วยังมีชุดซอฟต์แวร์แอปพลิเคชันอีกด้วย (นั่นคือโดยพื้นฐานแล้วคือชุดประกอบ) ปัจจุบันมีการแจกแจง Linux จำนวนมาก แต่เกือบทั้งหมดเป็นผู้สืบทอดมาจากการแจกแจงหลักทั้งสาม: Debian, Slackware และ Red Hat คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ GNU/Linux และการกระจายได้

บางทีอาจมีบางคนมีคำถาม: ทำไมต้องเป็น GNU/Linux และไม่ใช่แค่ Linux ประเด็นก็คือ Linux เป็นเพียงเคอร์เนล ในขณะที่ GNU/Linux เป็นระบบปฏิบัติการ อย่างไรก็ตาม Linux สามารถเรียกได้ทั้งเคอร์เนลและระบบปฏิบัติการ - และวิธีใดวิธีหนึ่งก็จะถูกต้อง

ระบบปฏิบัติการประกอบด้วยสองส่วน: พื้นที่เคอร์เนลและ พื้นที่ผู้ใช้- พื้นที่เคอร์เนลคือเคอร์เนลที่โต้ตอบโดยตรงกับอุปกรณ์ในระบบ ให้บริการและกำหนดค่าอุปกรณ์เหล่านั้น ในกรณีของเรานี่คือ เคอร์เนลลินุกซ์การพัฒนาเริ่มขึ้นในปี 1991 โดย Linus Torvalds ซึ่งเป็นนักเรียนในขณะนั้น รองรับการทำงานหลายอย่างพร้อมกัน ไลบรารีแบบไดนามิก, หน่วยความจำเสมือน,ขี้เกียจโหลดมากที่สุด โปรโตคอลเครือข่ายและ ระบบการผลิตการจัดการหน่วยความจำและกระจายไปทั่ว ใบอนุญาต GNU GPL เช่น ฟรี. คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับเคอร์เนลและระบบการกำหนดหมายเลขเวอร์ชันที่ "น่าสนใจ" ของมันได้ ผู้ใช้ทำงานในพื้นที่ผู้ใช้ (พื้นที่แอปพลิเคชัน) และสิ่งเหล่านี้ก็เป็นไฟล์ โดยทั่วไปแล้ว ทุกอย่างใน Linux จะแสดงด้วยไฟล์ - การตั้งค่า แอปพลิเคชันเอง แม้แต่กระบวนการ วิธีนี้จะสะดวกมากเมื่อตั้งค่าและเมื่อคุณพยายามหาสาเหตุที่ทุกอย่างพัง

การแจกจ่าย Linux ได้รับการเผยแพร่ภายใต้สัญญาอนุญาตสาธารณะทั่วไปของ GNU ซึ่งเป็นใบอนุญาตฟรี ซอฟต์แวร์- วัตถุประสงค์ของ GNU GPL คือการให้สิทธิ์แก่ผู้ใช้ในการคัดลอก แก้ไข และแจกจ่าย (รวมถึง to บนพื้นฐานเชิงพาณิชย์) โปรแกรม และยังให้แน่ใจว่าผู้ใช้โปรแกรมอนุพันธ์ทั้งหมดได้รับสิทธิ์ข้างต้น

นอกเหนือจากข้อดีที่ไม่อาจปฏิเสธได้ข้างต้นของระบบปฏิบัติการนี้แล้ว ยังมีฟีเจอร์อีกมากมาย:
1.ความปลอดภัย
2.ประสิทธิภาพ
3.ความน่าเชื่อถือ
4. ความสามารถในการขยายขนาด
5.ความเข้ากันได้ของฮาร์ดแวร์
6.ไม่จำเป็นต้องทดแทนการนำเข้า
7.เงินเดือนผู้ดูแลระบบ Linux สูงกว่าผู้ดูแลระบบทั่วไป

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

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

เราสามารถ:
1. กำหนดค่าเราเตอร์ซอฟต์แวร์/เกตเวย์การเข้าถึงอินเทอร์เน็ตพร้อมฟังก์ชันต่างๆ ไฟร์วอลล์และเซิร์ฟเวอร์ DHCP
2. จำกัดการเข้าถึงอินเทอร์เน็ตของผู้ใช้โดยใช้พร็อกซีเซิร์ฟเวอร์
3.จัดระเบียบ เมลเซิร์ฟเวอร์สำหรับจดหมายของบริษัท
4.สร้างเว็บเซิร์ฟเวอร์สำหรับเว็บไซต์องค์กรและทรัพยากรบนเว็บภายใน
6.ตั้งค่าหลักและ DNS รองเซิร์ฟเวอร์
7.ปรับใช้ไฟล์เซิร์ฟเวอร์
8.รวบรวม การสำรองข้อมูลจากเซิร์ฟเวอร์อื่น
9. ปรับใช้เซิร์ฟเวอร์การบันทึกเพื่อรวบรวมเหตุการณ์จากเซิร์ฟเวอร์อื่น

เราจะปรับใช้โครงร่างดังกล่าวภายในกรอบของหลักสูตรนี้

ฉันคิดว่านี่เป็นการสรุปบทเรียนแรก

ค่าเล่าเรียน: 10,000 ถู
คำอธิบายหลักสูตร:

ผู้ดูแลระบบคนใดใฝ่ฝันถึงความน่าเชื่อถือ ระบบปฏิบัติการ- มาสเตอร์ CentOS - การกระจายลินุกซ์ ชั้นเรียนขององค์กรขึ้นชื่อเรื่องความมั่นคง!

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

เรียนรู้ระบบปฏิบัติการฟรีที่น่าเชื่อถือที่สุดและเป็นผู้เชี่ยวชาญด้านเทคโนโลยีเซิร์ฟเวอร์!

จากการฝึกอบรมคุณจะได้เรียนรู้:

  • ดำเนินการติดตั้งและปรับใช้ ลินุกซ์ CentOS
  • ทำงานกับระบบไฟล์ Linux
  • จัดการบัญชีและสิทธิ์การเข้าถึง
  • เทคนิคเชลล์และพื้นฐานการเขียนสคริปต์
  • พื้นฐานการดูแลระบบสแต็ก TCP/IP และ เครื่องมือพื้นฐานสำหรับการทำงานร่วมกับเครือข่าย
โปรแกรมหลักสูตรการบริหาร Linux:
  1. ความรู้เบื้องต้นเกี่ยวกับลินุกซ์
  2. ระบบไฟล์
    ไดเร็กทอรีราก, จุดเมานท์ โฮมไดเร็กทอรี, ประเภทไฟล์. ไฟล์ปกติ- แคตตาล็อก ไฟล์อุปกรณ์ ทีม. นำทางโดย ระบบไฟล์: คำสั่ง cd, pushd, popd, pwd สร้าง ลบ และคัดลอกไฟล์ คำสั่งสัมผัส, rm, cp การดำเนินการกับไดเร็กทอรี คำสั่ง mkdirและ rmdir
  3. บัญชี
    ที่เก็บบัญชีและการพิสูจน์ตัวตน ไฟล์ /etc/passwd และ /etc/group, /etc/shadow และ /etc/gshadow บัญชีราก. รหัสผ่านใน Linux คำสั่งล็อกอิน, su, newgrp, passwd, gpasswd, chage
  4. สิทธิ์การเข้าถึง
    การกระจายสิทธิ์การเข้าถึงใน Linux การอ่าน. บันทึก. การดำเนินการ คุณสมบัติของสิทธิ์ไดเร็กทอรี การกำหนดสิทธิ์การเข้าถึง คำสั่ง chmod, chown, chgrp เหนียวนิดหน่อย
  5. การทำงานกับไฟล์
    ส่งออกข้อมูลจากไฟล์ไปยังหน้าจอคอนโซล คำสั่ง cat, tac, more, less, head, tail, od การเปลี่ยนเส้นทางเอาต์พุต แนวคิดของ stdin, stdout, stderr ช่อง. ตัวดำเนินการ | และ<, >- การกรองข้อมูล นิพจน์ทั่วไป- คำสั่ง grep การเก็บถาวร ยูทิลิตี้ tar และ gzip
  6. กระบวนการใน Linux
    รหัสกระบวนการ ปีศาจ คำสั่ง PS สิทธิ์ในการเข้าถึงกระบวนการ ตัวระบุที่แท้จริงและมีประสิทธิภาพ บิต SUID และ SGID การจัดการกระบวนการ สัญญาณ. คำสั่ง nice, nohup, kill, killall
  7. เชลล์คำสั่ง
    ภาพรวมของเชลล์คำสั่ง ทีม เปลือกทุบตี- มัลติทาสกิ้งในคอนโซล การจัดการงาน ตัวแปรสภาพแวดล้อมผู้บัญชาการเที่ยงคืน สำหรับทุบตี
  8. การจัดตารางงาน
    ทำงานกับ ดิสก์ไดรฟ์- ครอนเดมอน คำสั่งที่ crontab เมานต์
  9. โปรแกรมแก้ไขข้อความ vi, Emacs
  10. ระดับการเริ่มต้น SVR4
    เริ่มต้นกระบวนการ ระดับการเริ่มต้น ไฟล์ /etc/inittab. ไดเรกทอรี /etc/rc.d
  11. เอ็กซ์ วินโดว์ ซิสเต็ม
    Daemon X เริ่ม X สคริปต์ startx ระดับที่ 5 ของการเริ่มต้น
  12. การบริหารเครือข่ายลินุกซ์
    เครือข่าย แบบจำลองโอเอสไอ- โปรโตคอล IP, UDP, TCP, ICMP ไอพีเทเบิล
ดาวน์โหลด:

ฉันจะพูดถึง การตั้งค่าเริ่มต้นระบบ CentOS ซึ่งเพิ่มความปลอดภัยและความสะดวกในการใช้งานเซิร์ฟเวอร์ ฉันทราบว่าในระบบเวอร์ชันที่ 7 มีการเปลี่ยนแปลงบางอย่างเมื่อเทียบกับเวอร์ชันก่อนหน้า

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

การตั้งค่าเริ่มต้นของ CentOS 7

ดังนั้นเราจึงมี: # uname -a Linux zeroxzed.ru 3.10.0-123.20.1.el7.x86_64 #1 SMP พฤหัสบดีที่ 29 มกราคม 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ก่อนอื่นเรามาอัพเดตกันก่อน ระบบพื้นฐาน:

#ยำอัปเดต

เพื่อความสะดวกในการดูแลระบบ ฉันจะติดตั้ง Midnight Commander เสมอ หรือเพียงแค่ mc:

#ยำติดตั้งmc

และทันทีที่ฉันเปิดการเน้นไวยากรณ์สำหรับไฟล์ทั้งหมดที่ไม่ได้กำหนดไว้อย่างชัดเจนในไฟล์ /usr/share/mc/syntax/Syntaxไวยากรณ์สำหรับสคริปต์ sh และ bash ไวยากรณ์สากลนี้ใช้ได้ดีสำหรับ ไฟล์การกำหนดค่าซึ่งคุณต้องทำงานด้วยบนเซิร์ฟเวอร์บ่อยที่สุด การเขียนทับไฟล์ ไม่ทราบไวยากรณ์- นี่คือรูปแบบที่จะใช้กับไฟล์ .conf และ .cf เนื่องจากไม่มีไวยากรณ์ที่ชัดเจนแนบมาด้วย

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

#ifconfig

แล้วคุณจะเห็นคำตอบ:

Bash: ifconfig: ไม่พบคำสั่ง

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

แทนที่จะใช้ ifconfig ใน CentOS 7 ตอนนี้มียูทิลิตี้แล้ว ไอพี- ไม่เข้าใจว่าทำไมต้องจู้จี้ แต่ละโปรแกรมสำหรับการจัดการ การตั้งค่าเครือข่ายถ้า ifconfig จัดการกับงานได้อย่างสมบูรณ์แบบแล้ว นอกจากนี้ฉันชอบสิ่งนั้นมาโดยตลอด การแจกแจงต่างๆ Linux เป็นเรื่องเกี่ยวกับเดียวกัน การใช้ ifconfig คุณสามารถกำหนดค่าเครือข่ายได้ไม่เฉพาะใน Linux เท่านั้น แต่ยังรวมถึงใน freebsd ด้วย สะดวกครับ. และเมื่อแต่ละการแจกแจงมีเครื่องมือของตัวเอง มันก็ไม่สะดวก ดังนั้นฉันขอแนะนำให้ติดตั้ง ifconfig ปกติ

มาทำสิ่งนี้กัน:

# yum ติดตั้ง net-tools

ตอนนี้ เพื่อให้ nslookup หรือคำสั่งโฮสต์ทำงานได้ เราจำเป็นต้องติดตั้งแพ็คเกจ bind-utils หากยังไม่เสร็จสิ้น ให้ใช้คำสั่ง:

#nslookup

ผลลัพธ์จะเป็น:

Bash: nslookup: ไม่พบคำสั่ง

ดังนั้นมาติดตั้งbind-utils:

# yum ติดตั้ง bind-utils

ปิดการใช้งาน SELinux การใช้และการกำหนดค่าเป็นเรื่องแยกต่างหาก ฉันจะไม่ทำสิ่งนี้ตอนนี้ ลองปิดมันดู:

# mcedit /etc/sysconfig/selinux

เปลี่ยนค่า
SELINUX=ปิดการใช้งาน
เพื่อให้การเปลี่ยนแปลงมีผล ให้รีบูต:

# รีบูต

คุณสามารถปิดการใช้งาน SElinux ได้โดยไม่ต้องรีบูตเครื่อง:

#เซ็ตเทนฟอร์ซ 0

การระบุพารามิเตอร์เครือข่าย

อย่าใช้ daemons การซิงโครไนซ์เวลา - chrony และ ntp - พร้อมกัน เลือกหนึ่งรายการ โดยส่วนตัวแล้วฉันไม่เห็นความแตกต่างใด ๆ เลย ฉันมักจะใช้ ntp ตามปกติ

การเพิ่มที่เก็บข้อมูล

เพื่อติดตั้งซอฟต์แวร์ต่าง ๆ ที่คุณต้องการ ที่ได้รับความนิยมมากที่สุดคือ EPEL และ rpmforge ดังนั้นมาเพิ่มกัน ก่อนอื่นเราติดตั้ง EPEL ทุกอย่างง่ายดายด้วยมันถูกเพิ่มจากแหล่งเก็บข้อมูลมาตรฐาน:

# yum ติดตั้ง epel-release

ติดตั้ง rpmforge:

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt # yum ติดตั้ง http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1 .el7.rf.x86_64.rpm

# ยำติดตั้ง http://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

การตั้งค่าที่เก็บข้อมูลประวัติใน bash_history

จะมีประโยชน์หากทำการเปลี่ยนแปลงกลไกมาตรฐานในการบันทึกประวัติคำสั่ง มักจะช่วยได้เมื่อคุณต้องการจำคำสั่งใดคำสั่งหนึ่งที่ป้อนไว้ก่อนหน้านี้ การตั้งค่ามาตรฐานมีข้อจำกัดบางประการที่ไม่สะดวก นี่คือรายการของพวกเขา:

  1. ตามค่าเริ่มต้น ระบบจะบันทึกเฉพาะ 1,000 คำสั่งสุดท้ายเท่านั้น หากมีมากกว่าอันเก่าจะถูกลบและแทนที่ด้วยอันใหม่
  2. ไม่มีวันที่ดำเนินการสำหรับคำสั่ง มีเพียงรายการคำสั่งตามลำดับการดำเนินการ
  3. ไฟล์รายการคำสั่งได้รับการอัปเดตหลังจากสิ้นสุดเซสชัน ในระหว่างเซสชันแบบขนาน คำสั่งบางคำสั่งอาจสูญหาย
  4. บันทึกคำสั่งทั้งหมดอย่างแน่นอน แม้ว่าบางคำสั่งจะไม่มีประโยชน์ก็ตาม

รายการคำสั่งที่ดำเนินการล่าสุดจะถูกจัดเก็บไว้ใน โฮมไดเร็กทอรีผู้ใช้ในไฟล์ .bash_history(จุดที่จุดเริ่มต้น) คุณสามารถเปิดด้วยโปรแกรมแก้ไขใดก็ได้และดูได้ หากต้องการแสดงรายการให้สะดวกยิ่งขึ้น คุณสามารถป้อนคำสั่งในคอนโซล:

#ประวัติศาสตร์

และดูรายการลำดับเลข คุณสามารถค้นหาคำสั่งเฉพาะได้อย่างรวดเร็วโดยใช้การกรองเท่านั้น เส้นที่ต้องการตัวอย่างเช่น:

#ประวัติศาสตร์ | เยี่ยมเลย

ดังนั้นเราจะเห็นตัวเลือกการเปิดตัวทั้งหมด คำสั่งยำซึ่งถูกเก็บไว้ในประวัติศาสตร์ เราจะแก้ไขข้อบกพร่องที่ระบุไว้ การตั้งค่ามาตรฐานการจัดเก็บประวัติคำสั่งใน CentOS 7 ในการดำเนินการนี้คุณต้องแก้ไขไฟล์ .bashrcซึ่งอยู่ในไดเร็กทอรีเดียวกันกับไฟล์ประวัติ เพิ่มบรรทัดต่อไปนี้ลงไป:

ส่งออก HISTSIZE=10,000 ส่งออก HISTTIMEFORMAT="%h %d %H:%M:%S " PROMPT_COMMAND="history -a" ส่งออก HISTIGNORE="ls:ll:history:w:htop"

ตัวเลือกแรกจะเพิ่มขนาดไฟล์เป็น 10,000 บรรทัด คุณสามารถทำมากกว่านี้ได้ แม้ว่าปกติขนาดนี้จะเพียงพอแล้วก็ตาม พารามิเตอร์ตัวที่สองระบุว่าควรจัดเก็บวันที่และเวลาที่ดำเนินการคำสั่ง บรรทัดที่สามจะบังคับทันทีหลังจากดำเนินการคำสั่งเพื่อบันทึกลงในประวัติ ในบรรทัดสุดท้าย เราสร้างรายการข้อยกเว้นสำหรับคำสั่งเหล่านั้นที่ไม่จำเป็นต้องบันทึกไว้ในประวัติ ฉันยกตัวอย่างตัวเอง รายการง่ายๆ- คุณสามารถเพิ่มได้ตามดุลยพินิจของคุณ

หากต้องการใช้การเปลี่ยนแปลง คุณต้องออกจากระบบและเชื่อมต่ออีกครั้งหรือรันคำสั่ง:

# แหล่งที่มา ~/.bashrc

อัพเดตระบบอัตโนมัติ

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

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

# yum ติดตั้ง yum-cron

หลังจากการติดตั้งจะถูกสร้างขึ้น งานอัตโนมัติเพื่อดำเนินการยูทิลิตี้ใน /etc/cron.dailyและ /etc/cron.hourly- ตามค่าเริ่มต้น ยูทิลิตี้จะดาวน์โหลดการอัพเดตที่พบ แต่จะไม่นำไปใช้ ให้เป็นผู้ดูแลระบบภายในเครื่องแทน ตู้ไปรษณีย์การแจ้งเตือนการอัพเดตจะถูกส่งไปยังรูท ถ้าอย่างนั้นคุณก็เข้าแล้ว โหมดแมนนวลเข้ามาตัดสินใจว่าจะติดตั้งอัพเดตตามเวลาที่สะดวกสำหรับคุณหรือไม่ ฉันพบว่าโหมดการทำงานนี้สะดวกที่สุด ดังนั้นฉันจึงไม่เปลี่ยนการตั้งค่าเหล่านี้

ไฟล์การกำหนดค่า yum-cron อยู่ที่ /etc/yum/yum-cron.confและ yum-cron-hourly.conf- พวกเขาแสดงความคิดเห็นได้ดีดังนั้น คำอธิบายโดยละเอียดไม่ต้องการมัน ฉันดึงความสนใจของคุณไปที่ส่วนนี้ ซึ่งคุณสามารถระบุพารามิเตอร์สำหรับการส่งข้อความได้ ตามค่าเริ่มต้น เมลจะถูกส่งผ่านโลคัลโฮสต์ คุณสามารถเปลี่ยนการตั้งค่าได้ที่นี่และส่งข้อความผ่านเซิร์ฟเวอร์อีเมลบุคคลที่สาม แต่โดยส่วนตัวแล้วฉันชอบกำหนดค่าการส่งต่อทั่วโลกสำหรับเซิร์ฟเวอร์ทั้งหมดแทน จดหมายท้องถิ่นรูทไปยังกล่องจดหมายภายนอกผ่านการอนุญาตบนเซิร์ฟเวอร์ smtp อื่น

ปิดใช้งานการฟลัดข้อความใน /var/log/messages

ในการติดตั้งเริ่มต้นของ CentOS 7 บันทึกระบบทั้งหมดของคุณ /var/log/messagesหลังจากนั้นครู่หนึ่งเซิร์ฟเวอร์จะอุดตันด้วยบันทึกต่อไปนี้

16 ต.ค. 14:01:01 xs-files systemd: สร้างผู้ใช้สไลซ์-0.slice 16 ต.ค. 14:01:01 xs-files systemd: กำลังเริ่มต้น user-0.slice 16 ต.ค. 14:01:01 xs-files systemd: เริ่มเซสชัน 14440 ของรูทผู้ใช้ 16 ต.ค. 14:01:01 xs-files systemd: เริ่มต้นเซสชัน 14440 ของรูทผู้ใช้ 16 ต.ค. 14:01:01 xs-files systemd: ลบสไลซ์ user-0.slice ออก 16 ต.ค. 14:01:01 xs-files systemd: หยุด user-0.slice 16 ต.ค. 15:01:01 xs-files systemd: สร้างสไลซ์ user-0.slice 16 ต.ค. 15:01:01 xs-files systemd: กำลังเริ่มต้น user-0.slice 16 ต.ค. 15:01:01 xs-files systemd: เริ่มเซสชัน 14441 ของรูทผู้ใช้ 16 ต.ค. 15:01:01 xs-files systemd: เริ่มต้นเซสชัน 14441 ของรูทผู้ใช้ 16 ต.ค. 15:01:01 xs-files systemd: เริ่มเซสชัน 14442 ของรูทผู้ใช้ 16 ต.ค. 15:01:01 xs-files systemd: เริ่มต้นเซสชัน 14442 ของรูทผู้ใช้ 16 ต.ค. 15:01:01 xs-files systemd: ลบสไลซ์ user-0.slice ออก 16 ต.ค. 15:01:01 xs-files systemd: หยุด user-0.slice 16 ต.ค. 16:01:01 xs-files systemd: สร้างสไลซ์ user-0.slice 16 ต.ค. 16:01:01 xs-files systemd: กำลังเริ่มต้น user-0.slice 16 ต.ค. 16:01:01 xs-files systemd: เริ่มเซสชัน 14443 ของรูทผู้ใช้ 16 ต.ค. 16:01:01 xs-files systemd: เริ่มต้นเซสชัน 14443 ของรูทผู้ใช้ 16 ต.ค. 16:01:01 xs-files systemd: ลบสไลซ์ user-0.slice ออก

พวกมันไม่มีประโยชน์อะไร ดังนั้นเรามาปิดมันกันดีกว่า ในการดำเนินการนี้ เราจะสร้างกฎแยกต่างหากสำหรับ rsyslog โดยเราจะแสดงรายการเทมเพลตข้อความทั้งหมดที่เราจะตัด เรามาวางกฎนี้ลงไป แยกไฟล์ /etc/rsyslog.d/ignore-systemd-session-slice.conf.

# cd /etc/rsyslog.d && mcedit allowance-systemd-session-slice.conf ถ้า $programname == "systemd" และ ($msg มี "Starting Session" หรือ $msg มี "Started Session" หรือ $msg มี "Created" ชิ้น" หรือ $msg มี "ผู้ใช้เริ่มต้น-" หรือ $msg มี "ชิ้นส่วนผู้ใช้เริ่มต้นของ" หรือ $msg มี "เซสชันที่ถูกลบ" หรือ $msg มี "ชิ้นส่วนผู้ใช้ที่ถูกลบออก" หรือ $msg มี "การหยุดชิ้นส่วนผู้ใช้ของ" ) จากนั้นหยุด

บันทึกไฟล์และรีสตาร์ท rsyslog เพื่อใช้การตั้งค่า

# systemctl รีสตาร์ท rsyslog

จำเป็นต้องเข้าใจว่าใน ในกรณีนี้เราปิดการใช้งานน้ำท่วมในไฟล์บันทึกเท่านั้น เซิร์ฟเวอร์ท้องถิ่น- หากคุณเก็บล็อกออนไว้ กฎนี้คุณจะต้องกำหนดค่ามัน

การติดตั้ง iftop, atop, htop, lsof บน CentOS 7

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

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

#ยำติดตั้ง iftop

และตัวจัดการงานที่น่าสนใจสองตัว ฉันมักใช้ htop บ่อยที่สุด แต่บางครั้งบนยอดก็มีประโยชน์ มาติดตั้งทั้งสองอย่าง ดูด้วยตัวคุณเอง ค้นหาว่าคุณชอบอะไรมากที่สุด อะไรที่เหมาะกับคุณ:

# yum -y ติดตั้ง htop # yum -y ติดตั้งบนยอด

นี่คือลักษณะของ htop:

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

# yum ติดตั้ง wget bzip2 Traceroute gdisk

นั่นคือทั้งหมดสำหรับฉัน การตั้งค่าพื้นฐานของ CentOS 7 เสร็จสมบูรณ์ คุณสามารถเริ่มการติดตั้งและกำหนดค่าฟังก์ชันหลักได้

การตั้งค่าเมลระบบ

เพื่อเสร็จสิ้นการตั้งค่า เซิร์ฟเวอร์ CentOS 7 เราจะตรวจสอบให้แน่ใจว่าเมลที่ส่งถึงรูทในเครื่องนั้นถูกส่งผ่านเซิร์ฟเวอร์เมลภายนอกไปยังกล่องจดหมายที่เลือก หากไม่เสร็จสิ้น ระบบจะรวบรวมไฟล์ภายในเครื่อง /var/spool/mail/root- และอาจมีเรื่องสำคัญ ข้อมูลที่เป็นประโยชน์- มากำหนดค่าให้ส่งไปยังกล่องจดหมายของผู้ดูแลระบบกัน

ฉันพูดคุยเกี่ยวกับเรื่องนี้โดยละเอียดในบทความแยกต่างหาก - นี่เป็นเพียงคำสั่งและการตั้งค่าด่วน เราใส่ แพ็คเกจที่จำเป็น:

# yum ติดตั้ง mailx cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

มาวาดคอนฟิกแบบนี้สำหรับ postfix กัน

Cat /etc/postfix/main.cf ## การกำหนดค่าเริ่มต้นเริ่มต้น ###################### Que_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix inet_interfaces = localhost inet_protocols =known_local_recipient_reject_code ทั้งหมด = 550 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases debug_peer_level = 2 debugger _command = เส้นทาง =/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & สลีป 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin / newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = ไม่มี manpage_directory = /usr/share/man Sample_directory = /usr/share/doc/postfix-2.10.1/samples readme_directory = /usr/share / doc/postfix-2.10.1/README_FILES ## การกำหนดค่าเริ่มต้น END ###################### # ชื่อเซิร์ฟเวอร์เป็นเอาต์พุตโดยคำสั่ง ชื่อโฮสต์ myhostname = centos7- ทดสอบ xs.local # ตามหลักเหตุผลแล้ว คุณเพียงแค่ต้องออกจากโดเมน แต่ในกรณีนี้ จะเป็นการดีกว่าถ้าจะออก ชื่อเต็มเซิร์ฟเวอร์ เพื่อให้ชื่อเต็มของเซิร์ฟเวอร์ปรากฏในฟิลด์ผู้ส่ง # ทำให้สะดวกยิ่งขึ้นในการแยกวิเคราะห์ข้อความบริการ mydomain = centos7-test.xs.local mydestination = $myhostname myorigin = $mydomain # ที่อยู่เซิร์ฟเวอร์ที่เราจะใช้ ส่งเมล Relayhost = mailsrv.mymail.ru :25 smtp_use_tls = ใช่ smtp_sasl_auth_enable = ใช่ smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_security_level = พฤษภาคม

เราสร้างไฟล์พร้อมข้อมูลเกี่ยวกับชื่อผู้ใช้และรหัสผ่านเพื่อการอนุญาต

# mcedit /etc/postfix/sasl_passwd mailsrv.mymail.ru:25 [ป้องกันอีเมล]:รหัสผ่าน

สร้างไฟล์ DB

# postmap /etc/postfix/sasl_passwd

ตอนนี้คุณสามารถรีสตาร์ท postfix และตรวจสอบว่าใช้งานได้หรือไม่

# systemctl รีสตาร์ท postfix

ไปยังนามแฝงมาตรฐานสำหรับการรูทใน /etc/นามแฝงให้เพิ่มที่อยู่ภายนอกซึ่งอีเมลที่ส่งถึงรูทจะถูกทำซ้ำ การทำเช่นนี้เราแก้ไข ไฟล์ที่ระบุ, การเปลี่ยนแปลง บรรทัดสุดท้าย.

#root:มาร์ค

ราก: ราก, [ป้องกันอีเมล]

การอัพเดตฐานข้อมูลใบรับรอง:

#นามแฝงใหม่

มาส่งจดหมายผ่านคอนโซลไปยังรูทในเครื่อง:

# df -h | mail -s รูท "การใช้งานดิสก์"

จดหมายควรจะไปที่ ลิ้นชักด้านนอก- นี่เป็นการเสร็จสิ้นการตั้งค่าเมลในเครื่อง ตอนนี้จดหมายทั้งหมดที่ส่งถึงรูทในเครื่อง เช่น รายงานจาก cron จะถูกทำซ้ำไปยังกล่องจดหมายภายนอก และส่งผ่านเซิร์ฟเวอร์เมลปกติ ดังนั้นจดหมายจะถูกส่งตามปกติ โดยไม่กลายเป็นสแปม (ถึงแม้จะไม่จำเป็น แต่ก็มีตัวกรองการศึกษาสำนึกด้วย)

บทสรุป

เราได้ทำตามขั้นตอนเบื้องต้นในการตั้งค่าเซิร์ฟเวอร์ CentOS 7 ซึ่งเป็นสิ่งที่ฉันมักจะทำเมื่อเตรียมเซิร์ฟเวอร์ ฉันไม่เสแสร้งว่าเป็นความจริงเด็ดขาด ฉันอาจพลาดบางสิ่งบางอย่างหรือทำบางอย่างที่ไม่ถูกต้องทั้งหมด ฉันยินดีที่จะแสดงความคิดเห็นและข้อเสนอแนะที่สมเหตุสมผลและมีความหมาย

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

  1. หรือเท่านั้น การเชื่อมต่อเซนโตสเพื่อตรวจสอบโดยการติดตั้งตัวแทนบนนั้น
  2. ในส่วนแยกต่างหากของผู้เขียน