Systemd – ผู้จัดการระบบและบริการใน ระบบปฏิบัติการลินุกซ์. เมื่อพัฒนาพวกเขาพยายามออกแบบให้เข้ากันได้กับสคริปต์เริ่มต้น SysV และจัดเตรียมไว้ให้ คุณสมบัติที่มีประโยชน์, เช่น การเปิดตัวแบบขนานบริการระบบ ณ เวลาบูต การเปิดใช้งาน daemons ตามความต้องการ การสนับสนุนสแนปช็อตสถานะระบบ และตรรกะการจัดการบริการที่ขึ้นต่อกัน ใน CentOS 7 นั้น systemd จะแทนที่ Upstart เป็นระบบเริ่มต้นเริ่มต้น
ในบทความนี้เราจะดูกระบวนการจัดการบริการ systemd สำหรับ ผู้ใช้ CentOS 7. ความรู้นี้จะมีประโยชน์ในการแจกแจงอื่นๆ เนื่องจาก systemd ถูกใช้ใน Fedora มาเป็นเวลานานและมีการวางแผนใน Ubuntu 14.10 และ Debian 8 ไม่ว่าสิ่งนี้จะดีหรือไม่ก็ตามจะถูกทิ้งไว้เบื้องหลัง
ขณะที่อ่านบทความนี้ คุณสามารถลองใช้ systemd บน VPS แบบคลาสสิกและ VPS บนคลาวด์ได้จากกล่องข้อมูล เรามุ่งมั่นที่จะเพิ่มการรองรับระบบปฏิบัติการสมัยใหม่ในเวลาที่เหมาะสม เพื่อให้คุณสามารถใช้เทคโนโลยีล่าสุดเพื่อทำงานได้อย่างมีประสิทธิภาพมากขึ้น แนวคิดในการเขียนบทความนี้เกิดขึ้นหลังจากคำถามอื่นจากผู้ใช้เกี่ยวกับการใช้บริการใน CentOS 7
การแนะนำ
Systemd นำแนวคิดของหน่วย systemd หน่วยต่างๆ จะแสดงด้วยไฟล์การกำหนดค่าที่อยู่ในไดเร็กทอรีใดไดเร็กทอรี:
- /usr/lib/systemd/ระบบ/– หน่วยจาก แพ็คเกจที่ติดตั้งรอบต่อนาที
- /รัน/systemd/ระบบ/- หน่วยที่สร้างขึ้นในรันไทม์ ไดเร็กทอรีนี้มีลำดับความสำคัญเหนือไดเร็กทอรีที่มีหน่วยที่ติดตั้งจากแพ็กเกจ
- /etc/systemd/ระบบ/- หน่วยที่สร้างและจัดการโดยผู้ดูแลระบบ ไดเร็กทอรีนี้มีความสำคัญมากกว่าไดเร็กทอรีของหน่วยที่สร้างขึ้นขณะรันไทม์
ประเภทหน่วย Systemd:
- .บริการ– บริการระบบ
- .เป้า- กลุ่มหน่วย systemd
- .ออโต้เมาท์ t – จุดเมานท์ระบบไฟล์อัตโนมัติ
- .อุปกรณ์– ไฟล์ของอุปกรณ์ที่เคอร์เนลรู้จัก
- .เมานต์– จุดเมานท์ระบบไฟล์
- .เส้นทาง– ไฟล์หรือไดเร็กทอรีใน ระบบไฟล์
- .ขอบเขต– กระบวนการที่สร้างขึ้นจากภายนอก
- .ชิ้น– กลุ่มของหน่วยที่มีการจัดระเบียบตามลำดับชั้นที่จัดการกระบวนการของระบบ
- .สแนปชอต– สถานะที่บันทึกไว้ของผู้จัดการ systemd
- .ซ็อกเก็ต– ซ็อกเก็ต การสื่อสารระหว่างกระบวนการ
- .แลกเปลี่ยน– สลับอุปกรณ์หรือสลับไฟล์ (สลับไฟล์)
- .ตัวจับเวลา– ระบบจับเวลา
คุณสมบัติพื้นฐานของ systemd ใน CentOS 7
- การเปิดใช้งานตามซ็อกเก็ต- ณ เวลาบูต systemd จะรับฟังซ็อกเก็ตสำหรับบริการของระบบทั้งหมด รองรับการเปิดใช้งานประเภทนี้ และส่งผ่านซ็อกเก็ตไปยังบริการเหล่านี้ทันทีหลังจากเริ่มบริการ สิ่งนี้ช่วยให้ systemd ไม่เพียงแต่เรียกใช้บริการในแบบคู่ขนานเท่านั้น แต่ยังให้ความสามารถในการรีสตาร์ทบริการโดยไม่สูญเสียข้อความใด ๆ ที่ส่งถึงพวกเขาในขณะที่บริการไม่พร้อมใช้งาน ซ็อกเก็ตที่เกี่ยวข้องยังคงอยู่และข้อความทั้งหมดอยู่ในคิว
- การเปิดใช้งานตาม D-Bus- บริการของระบบที่ใช้ D-Bus สำหรับการสื่อสารระหว่างกระบวนการสามารถเริ่มต้นได้ตามความต้องการเมื่อใด แอปพลิเคชันไคลเอนต์พยายามติดต่อพวกเขา
- การเปิดใช้งานตามอุปกรณ์- บริการระบบที่รองรับการเปิดใช้งานตามอุปกรณ์สามารถเริ่มต้นได้เมื่อมีการเชื่อมต่อฮาร์ดแวร์บางประเภทหรือพร้อมใช้งาน
- การเปิดใช้งานตามเส้นทาง- บริการของระบบสามารถรองรับการเปิดใช้งานประเภทนี้ได้หากสถานะของโฟลเดอร์หรือไดเร็กทอรีเปลี่ยนแปลง
- ภาพรวมของสถานะของระบบ- ระบบสามารถบันทึกสถานะของทุกยูนิตและกู้คืนได้ สถานะก่อนหน้าระบบ
- การจัดการจุดเมานท์และเมาต์อัตโนมัติ- Systemd ตรวจสอบและจัดการจุดเมานท์และจุดเมานท์อัตโนมัติ
- การขนานแบบก้าวร้าว Systemd เริ่มทำงาน บริการระบบขนานกันเนื่องจากการใช้การเปิดใช้งานแบบซ็อกเก็ต เมื่อใช้ร่วมกับบริการที่รองรับการเปิดใช้งานตามความต้องการ การเปิดใช้งานแบบขนานจะช่วยลดเวลาการบูตระบบได้อย่างมาก
- ลอจิกธุรกรรมสำหรับการเปิดใช้งานหน่วย- ก่อนที่หน่วยจะถูกเปิดใช้งานหรือปิดใช้งาน systemd จะคำนวณการขึ้นต่อกัน สร้างธุรกรรมชั่วคราว และตรวจสอบความสมบูรณ์ของธุรกรรมนั้น หากธุรกรรมไม่เสียหาย systemd จะพยายามแก้ไขและลบงานที่ไม่จำเป็นออกโดยอัตโนมัติก่อนที่จะสร้างข้อความแสดงข้อผิดพลาด
- เข้ากันได้กับการเริ่มต้น SysV- SystemD รองรับสคริปต์เริ่มต้น SysV อย่างสมบูรณ์ตามที่อธิบายไว้ในข้อกำหนด Linux Standard Base (LSB) ทำให้ง่ายต่อการโยกย้ายไปยัง systemd
การจัดการบริการ
CentOS เวอร์ชันก่อนหน้าใช้ SysV หรือ Upstart สคริปต์การเริ่มต้นอยู่ในไดเร็กทอรี /etc/rc.d/init.d/- สคริปต์ดังกล่าวมักจะเขียนด้วย Bash และอนุญาตให้ผู้ดูแลระบบจัดการสถานะของบริการและเดมอน ใน CentOS 7 สคริปต์เริ่มต้นจะถูกแทนที่ด้วยหน่วยบริการ
โดยวิธีการใช้งานหน่วยบริการ .บริการคล้ายกับสคริปต์เริ่มต้น หากต้องการดู เริ่ม หยุด รีบูต เปิดหรือปิดใช้งานบริการระบบ ให้ใช้คำสั่ง ระบบ- ทีม บริการและ chkconfigยังคงรวมอยู่ในระบบ แต่ด้วยเหตุผลด้านความเข้ากันได้เท่านั้น
เมื่อใช้ systemctl ไม่จำเป็นต้องระบุนามสกุลไฟล์
ด้านล่างนี้เป็นคำสั่งพื้นฐาน ระบบ:
- systemctl เริ่มต้น name.service– เริ่มให้บริการ
- systemctl หยุด name.service- หยุดให้บริการ
- systemctl รีสตาร์ท name.service- เริ่มบริการใหม่
- systemctl ลองรีสตาร์ท name.service- เริ่มบริการใหม่เฉพาะในกรณีที่บริการทำงานอยู่
- systemctl โหลด name.service ใหม่- โหลดการกำหนดค่าบริการอีกครั้ง
- ชื่อสถานะ systemctl.service- ตรวจสอบว่าบริการกำลังทำงานอยู่พร้อมเอาต์พุตโดยละเอียดของสถานะการบริการหรือไม่
- systemctl is-active name.service- ตรวจสอบว่าบริการกำลังทำงานอยู่หรือไม่ด้วยคำตอบง่ายๆ: ใช้งานอยู่หรือไม่ได้ใช้งาน
- systemctl รายการหน่วย -- ประเภทบริการ -- ทั้งหมด– แสดงสถานะของบริการทั้งหมด
- systemctl เปิดใช้งาน name.service– เปิดใช้งานบริการ (อนุญาตให้เริ่มต้นระหว่างการเริ่มต้นระบบ)
- systemctl ปิดการใช้งาน name.service– ปิดการใช้งานบริการ
- systemctl เปิดใช้งาน name.service อีกครั้ง– ปิดการใช้งานบริการและเปิดใช้งานทันที
- systemctl คือ – เปิดใช้งาน name.service– ตรวจสอบว่าเปิดใช้งานบริการแล้วหรือไม่
- systemctl list-unit-files --type บริการ– แสดงบริการทั้งหมดและตรวจสอบว่าบริการใดเปิดใช้งานอยู่
- ชื่อหน้ากาก systemctl.service– แทนที่ไฟล์บริการด้วย symlink เป็น /dev/null ทำให้หน่วยไม่พร้อมใช้งานสำหรับ systemd
- systemctl เปิดโปง name.service– ส่งคืนไฟล์บริการ ทำให้หน่วยพร้อมใช้งานสำหรับ systemd
การทำงานกับเป้าหมาย Systemd
ก่อนหน้า เวอร์ชัน CentOSด้วย SysV init หรือ Upstart รวมชุด runlevels ที่กำหนดไว้ล่วงหน้าซึ่งแสดงถึงโหมดเฉพาะสำหรับการดำเนินการซึ่งมีหมายเลข 0 ถึง 6 ใน CentOS 7 แนวคิดของ runlevels ถูกแทนที่ด้วยเป้าหมาย systemd
ไฟล์เป้าหมาย systemd .เป้าได้รับการออกแบบมาเพื่อจัดกลุ่ม systemd ยูนิตอื่นๆ เข้าด้วยกันผ่านห่วงโซ่การพึ่งพา ยกตัวอย่างหน่วย graphical.เป้าหมายใช้เพื่อเริ่มเซสชันแบบกราฟิก เปิดตัวบริการระบบตัวจัดการจอแสดงผล GNOME ( gdm.บริการ) และบริการบัญชี ( บัญชี – daemon.service) และเปิดใช้งาน ผู้ใช้หลายรายเป้าหมาย- ในทางกลับกัน ผู้ใช้หลายรายเป้าหมายเริ่มบริการระบบอื่นๆ เช่น ผู้จัดการเครือข่าย (NetworkManager.บริการ) หรือ D-บัส ( dbus.บริการ) และเปิดใช้งานยูนิตเป้าหมายอื่นๆ basic.เป้าหมาย.
CentOS 7 มาพร้อมกับเป้าหมายที่กำหนดไว้ล่วงหน้าคล้ายกับ ชุดมาตรฐานวิ่งระดับ เพื่อเหตุผลด้านความเข้ากันได้ พวกเขายังมีนามแฝงสำหรับเป้าหมายเหล่านี้ที่ปรากฏโดยตรงในระดับรัน SysV
- poweroff.target (runlevel0.target)– การปิดและการปิดระบบ
- Rescue.target (runlevel1.target)– การตั้งค่าเชลล์การกู้คืน
- ผู้ใช้หลายรายเป้าหมาย (runlevel2.target, runlevel3.target, runlevel4.target)– การตั้งค่าระบบผู้ใช้หลายคนที่ไม่ใช่กราฟิก
- graphical.target (runlevel5.target)– การตั้งค่าระบบผู้ใช้หลายคนแบบกราฟิก
- รีบูต.เป้าหมาย (runlevel6.target)– ปิดระบบและรีบูตระบบ
คำสั่ง runlevel และ telinit ยังคงใช้งานได้ แต่ยังคงอยู่ในระบบเนื่องจากเหตุผลด้านความเข้ากันได้ ขอแนะนำให้ใช้ systemctl เพื่อเปลี่ยนหรือกำหนดค่าเป้าหมายของระบบ
ในการพิจารณาว่าหน่วยเป้าหมายใดเป็นค่าเริ่มต้น คำสั่งต่อไปนี้มีประโยชน์: systemctl รับ - ค่าเริ่มต้น.
หากต้องการดูหน่วยเป้าหมายที่โหลดทั้งหมด ให้ใช้คำสั่ง systemctl list-units --type เป้าหมายและดูหน่วยเป้าหมายทั้งหมดโดยทั่วไปด้วยคำสั่ง: systemctl รายการหน่วย -- ประเภทเป้าหมาย -- ทั้งหมด.
หากต้องการเปลี่ยนเป้าหมายเริ่มต้น ให้ใช้คำสั่ง systemctl ตั้งค่าเริ่มต้น name.target.
หากต้องการเปลี่ยนเป้าหมายปัจจุบัน: systemctl แยก name.target- คำสั่งจะเริ่มการทำงานของหน่วยเป้าหมายและการขึ้นต่อกันทั้งหมด และหยุดหน่วยอื่นๆ ทั้งหมดทันที
ใน CentOS 7 นั้น systemctl จะแทนที่คำสั่งการจัดการพลังงานจำนวนมาก คำสั่งก่อนหน้านี้ยังคงอยู่เพื่อความเข้ากันได้ แต่ขอแนะนำให้ใช้ systemctl:
systemctl หยุดทำงาน– หยุดระบบ
ปิดระบบ systemctl– ปิดระบบ
systemctl รีบูต– รีบูทระบบ
การจัดการ systemd บนเครื่องระยะไกล
Systemd ช่วยให้คุณจัดการเครื่องระยะไกลผ่าน SSH เพื่อควบคุมการใช้คำสั่ง:
systemctl --host คำสั่ง user_name@host_nameโดยที่ user_name คือชื่อผู้ใช้ host_name คือชื่อของโฮสต์ที่ การควบคุมระยะไกลและ command คือคำสั่ง systemd ที่จะดำเนินการ
systemd .service ทั่วไป
ส่วนนี้จะช่วยคุณหากคุณต้องการสนับสนุนการจัดการบริการจาก systemd อย่างรวดเร็ว ข้อมูลโดยละเอียดเกี่ยวกับพารามิเตอร์ทั้งหมดของไฟล์ .service มีอยู่ในส่วนที่เกี่ยวข้องของเอกสารประกอบ systemd
คำอธิบาย=Daemon เพื่อตรวจจับแอปที่ขัดข้อง After=syslog.target ExecStart=/usr/sbin/abrtd Type=forking WantedBy=multi-user.target
มาดูในส่วนนี้กัน - ประกอบด้วยข้อมูลทั่วไปเกี่ยวกับบริการ ส่วนนี้ไม่เพียงมีอยู่ในหน่วยบริการเท่านั้น แต่ยังอยู่ในหน่วยอื่นๆ ด้วย (เช่น เมื่อจัดการอุปกรณ์ จุดเชื่อมต่อ ฯลฯ) ในตัวอย่างของเรา เราให้คำอธิบายของบริการและระบุว่า daemon ควรเริ่มทำงานหลังจาก Syslog
ในส่วนถัดไป มีข้อมูลโดยตรงเกี่ยวกับบริการของเรา พารามิเตอร์ที่ใช้ เอ็กเซ็กสตาร์ทชี้ไปที่ ไฟล์ปฏิบัติการบริการของเรา ใน พิมพ์เราระบุวิธีที่บริการแจ้งเตือน systemd เมื่อเริ่มต้นระบบเสร็จสิ้น
ส่วนสุดท้าย มีข้อมูลเกี่ยวกับเป้าหมายที่ควรเริ่มบริการ ใน ในกรณีนี้เรากำลังบอกว่าควรเริ่มบริการเมื่อเปิดใช้งานเป้าหมาย ผู้ใช้หลายรายเป้าหมาย.
นี่คือไฟล์บริการ systemd การทำงานขั้นต่ำ หลังจากเขียนของคุณแล้ว ให้คัดลอกไปที่ /etc/systemd/system/service_name.service เพื่อทำการทดสอบ รันคำสั่ง systemctl daemon-รีโหลด- Systemd จะทราบเกี่ยวกับบริการและคุณจะสามารถเริ่มต้นได้
ข้อมูลเพิ่มเติม
บทช่วยสอนที่ยอดเยี่ยมเกี่ยวกับ systemd จาก RedHat ซึ่งเป็นพื้นฐานสำหรับบทความนี้
เอกสารประกอบสำหรับการเขียนหน่วยบริการ systemd ของคุณเอง
“ Systemd สำหรับผู้ดูแลระบบ” จากผู้พัฒนา systemd ในภาษารัสเซีย
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีจัดการบริการ CentOS 7 แน่นอนว่านี่ไม่ใช่ฟังก์ชันเดียวของ systemd และจะมีการหารือด้านอื่นๆ ในอนาคต ระบบปฏิบัติการนั้นมีให้บริการบน VPS แบบคลาสสิกและ VPS บนคลาวด์จาก Infobox เกือบจะนับตั้งแต่เปิดตัว ลอง systemd ตอนนี้ ความรู้นี้จะมีประโยชน์ในการเชื่อมต่อกับการเปลี่ยนแปลงของการแจกแจงหลายแบบไปเป็น systemd
หากพบข้อผิดพลาดในบทความ ผู้เขียนยินดีแก้ไขให้ กรุณาเขียนใน PM หรืออีเมล์เกี่ยวกับเรื่องนี้
หากคุณไม่สามารถแสดงความคิดเห็นเกี่ยวกับHabré คุณสามารถเขียนลงในบล็อกได้
ค่าเล่าเรียน: 10,000 ถู ฟรีบนโอเพ่นซอร์ส
คำอธิบายหลักสูตร:
ใดๆ ผู้ดูแลระบบฝันถึงระบบปฏิบัติการที่เชื่อถือได้ มาสเตอร์ CentOS - การกระจายลินุกซ์ ชั้นเรียนขององค์กรขึ้นชื่อเรื่องความมั่นคง!
รู้จักกับการดูแลระบบ Linux ระดับมืออาชีพคุณสามารถทำให้งานประจำวันส่วนใหญ่ของคุณเป็นอัตโนมัติได้โดยใช้สคริปต์ และลดค่าใช้จ่ายในการบำรุงรักษาเซิร์ฟเวอร์
เรียนรู้ระบบปฏิบัติการฟรีที่น่าเชื่อถือที่สุดและเป็นผู้เชี่ยวชาญด้านเทคโนโลยีเซิร์ฟเวอร์!
จากการฝึกอบรมคุณจะได้เรียนรู้:
- ดำเนินการติดตั้งและปรับใช้ ลินุกซ์ CentOS
- ทำงานกับระบบไฟล์ Linux
- จัดการบัญชีและสิทธิ์การเข้าถึง
- เทคนิคเชลล์และพื้นฐานการเขียนสคริปต์
- พื้นฐานการดูแลระบบสแต็ก TCP/IP และ เครื่องมือพื้นฐานสำหรับการทำงานร่วมกับเครือข่าย
โปรแกรมหลักสูตร " การบริหารระบบลินุกซ์»:
- ความรู้เบื้องต้นเกี่ยวกับลินุกซ์
- ระบบไฟล์
ไดเร็กทอรีราก, จุดเมานท์ โฮมไดเร็กทอรี, ประเภทไฟล์. ไฟล์ปกติ- แคตตาล็อก ไฟล์อุปกรณ์ ทีม. การนำทางระบบไฟล์: คำสั่ง cd, pushd, popd, pwd สร้าง ลบ และคัดลอกไฟล์ คำสั่งสัมผัส, rm, cp การดำเนินการกับไดเร็กทอรี คำสั่ง mkdir และ rmdir - บัญชี
ที่เก็บบัญชีและการพิสูจน์ตัวตน ไฟล์ /etc/passwd และ /etc/group, /etc/shadow และ /etc/gshadow บัญชีราก. รหัสผ่านใน Linux คำสั่งล็อกอิน, su, newgrp, passwd, gpasswd, chage - สิทธิ์การเข้าถึง
การกระจายสิทธิ์การเข้าถึงใน Linux การอ่าน. บันทึก. การดำเนินการ คุณสมบัติของสิทธิ์ไดเร็กทอรี การกำหนดสิทธิ์การเข้าถึง คำสั่ง chmod, chown, chgrp เหนียวนิดหน่อย - การทำงานกับไฟล์
ส่งออกข้อมูลจากไฟล์ไปยังหน้าจอคอนโซล คำสั่ง cat, tac, more, less, head, tail, od การเปลี่ยนเส้นทางเอาต์พุต แนวคิดของ stdin, stdout, stderr ช่อง. ตัวดำเนินการ | และ<, >- การกรองข้อมูล นิพจน์ทั่วไป- คำสั่ง grep การเก็บถาวร ยูทิลิตี้ tar และ gzip - กระบวนการใน Linux
รหัสกระบวนการ ปีศาจ คำสั่ง PS สิทธิ์ในการเข้าถึงกระบวนการ ตัวระบุที่แท้จริงและมีประสิทธิภาพ บิต SUID และ SGID การจัดการกระบวนการ สัญญาณ. คำสั่ง nice, nohup, kill, killall - เชลล์คำสั่ง
ภาพรวมของเชลล์คำสั่ง เชลล์คำสั่งทุบตี. มัลติทาสกิ้งในคอนโซล การจัดการงาน ตัวแปรสภาพแวดล้อมของผู้บัญชาการเที่ยงคืน การเขียนโปรแกรมสำหรับ Bash - การจัดตารางงาน
การทำงานกับดิสก์ไดรฟ์ ครอนเดมอน คำสั่งที่ crontab เมานต์ - โปรแกรมแก้ไขข้อความ vi, Emacs
- ระดับการเริ่มต้น SVR4
เริ่มต้นกระบวนการ ระดับการเริ่มต้น ไฟล์ /etc/inittab. ไดเรกทอรี /etc/rc.d - เอ็กซ์ วินโดว์ ซิสเต็ม
Daemon X เริ่ม X สคริปต์ startx ระดับที่ 5 ของการเริ่มต้น - การบริหารเครือข่ายลินุกซ์
เครือข่าย แบบจำลองโอเอสไอ- โปรโตคอล 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ก่อนอื่นเรามาอัพเดตกันก่อน ระบบพื้นฐาน:
#ยำอัปเดต
เพื่อความสะดวกในการดูแลระบบ ฉันจะติดตั้งอยู่เสมอ ผู้บัญชาการเที่ยงคืนหรือเพียงแค่ 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
แล้วคุณจะเห็นคำตอบ:
ทุบตี: 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,000 คำสั่งสุดท้ายเท่านั้น หากมีมากกว่าอันเก่าจะถูกลบและแทนที่ด้วยอันใหม่
- ไม่มีวันที่ดำเนินการสำหรับคำสั่ง มีเพียงรายการคำสั่งตามลำดับการดำเนินการ
- ไฟล์รายการคำสั่งได้รับการอัปเดตหลังจากสิ้นสุดเซสชัน ในระหว่างเซสชันแบบขนาน คำสั่งบางคำสั่งอาจสูญหาย
- บันทึกคำสั่งทั้งหมดอย่างแน่นอน แม้ว่าบางคำสั่งจะไม่มีประโยชน์ก็ตาม
รายการคำสั่งที่ดำเนินการล่าสุดจะถูกจัดเก็บไว้ใน โฮมไดเร็กทอรีผู้ใช้ในไฟล์ .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 ซึ่งเป็นสิ่งที่ฉันมักจะทำเมื่อเตรียมเซิร์ฟเวอร์ ฉันไม่เสแสร้งว่าเป็นความจริงเด็ดขาด ฉันอาจพลาดบางสิ่งบางอย่างหรือทำบางอย่างที่ไม่ถูกต้องทั้งหมด ฉันยินดีที่จะแสดงความคิดเห็นและข้อเสนอแนะที่สมเหตุสมผลและมีความหมาย
มีประโยชน์ทีหลัง การตั้งค่าพื้นฐานเชื่อมต่อเซิร์ฟเวอร์เข้ากับระบบตรวจสอบทันที หรือตั้งค่าหากคุณยังไม่มี ฉันมีบทความโดยละเอียดเกี่ยวกับการตั้งค่าการตรวจสอบ:
- หรือเท่านั้น การเชื่อมต่อเซนโตสเพื่อตรวจสอบโดยการติดตั้งตัวแทนบนนั้น
- ในส่วนแยกต่างหากของผู้เขียน
25 ธันวาคม 2552 – 19:19 น
ตามหลักการแล้ว ควรเปลี่ยนรหัสผ่านผู้ใช้อย่างต่อเนื่อง บทความนี้อธิบายวิธีกำหนดค่าข้อกำหนดการเปลี่ยนรหัสผ่านโดยใช้แอปพลิเคชันตัวจัดการผู้ใช้บน Red Hat Enterprise Linux 5 หรือ CentOS 5 1. คลิกแอปพลิเคชัน จากนั้นเลือกการตั้งค่าระบบ แล้วคลิกผู้ใช้และกลุ่ม นี่จะเป็นการเปิดหน้าต่างตัวจัดการผู้ใช้ 2. เลือกผู้ใช้ที่ต้องการแล้วคลิกคุณสมบัติ
17 สิงหาคม 2552 – 11:54 น
การกำหนดค่า Iptables เริ่มต้นคือ ระบบเซนโอเอส/หมวกแดง/เรห์ล/ เฟโดรา ลินุกซ์ไม่อนุญาตให้มีการเชื่อมต่อขาเข้ากับบริการ LDAP ในบทช่วยสอนนี้ เราจะเปิดการเข้าถึงพอร์ต TCP #389 และ TCP #636 ที่ใช้โดย LDAP ในการดำเนินการนี้ คุณจะต้องอัปเดตไฟล์ /etc/sysconfig/iptables ลองพิจารณาดู กรณีที่ง่ายที่สุดซึ่งให้สิทธิ์การเข้าถึงแก่ส่วนทั้งหมดของท้องถิ่น [...]
29 กรกฎาคม 2552 – 15:50 น
เมื่อให้บริการโหลด เซิร์ฟเวอร์ SMTPคุณอาจสังเกตเห็นว่าข้อความบางข้อความติดอยู่ในคิว สาเหตุอาจแตกต่างกันมาก รวมถึงการตอบสนอง 450 ครั้งจากเซิร์ฟเวอร์ระยะไกล ไม่สามารถเชื่อมต่อได้ เซิร์ฟเวอร์ระยะไกลและการหยุดชะงักระหว่างการส่งข้อความ โดยทั่วไป เซิร์ฟเวอร์จะส่งซ้ำจากคิวประมาณทุกๆ 30 นาที แต่เมื่อจำนวนข้อความดังกล่าวเพิ่มมากขึ้น โดยทั่วไป [...]
14 กรกฎาคม 2552 – 14:04 น
Postfix Admin เป็นอินเทอร์เฟซการจัดการบนเว็บ กล่องจดหมาย, โดเมนเสมือนและนามแฝงใน ระบบไปรษณีย์บน ฐานข้อมูล postfix- บทความนี้จะอธิบายกระบวนการติดตั้งสำหรับ Postfix Admin การติดตั้งผู้ดูแลระบบ Postfix 1. ก่อน การติดตั้ง Postfixจำเป็นต้องติดตั้งผู้ดูแลระบบ แพ็คเกจต่อไปนี้: yum ติดตั้ง mysql-server php-mysql php-imap
7 พฤษภาคม 2552 – 18:01 น
เพื่อไม่ให้ลืม ฉันฝากคำเตือนไว้สำหรับตัวเองในการตั้งค่าปลาหมึกเพื่อขออนุมัติตามบัญชี LDAP Squid มีโมดูลในตัวที่เรียกว่า squid_ldap_auth มันอยู่ที่ /usr/lib64/squid/ มาตรวจสอบว่าใช้งานได้หรือไม่: #/usr/lib64/squid/squid_ldap_auth -b “basedn” -D “binddn” -w bindpasswd -h LDAP_Server -v 3 -p 389 User Pass OK ดังที่คุณเห็นด้านบน มันใช้งานได้ User และ Pass ถูกป้อนโดยใช้ที่จับ [...]
18 เมษายน 2552 – 16:51 น
DRBD คืออะไร? DRBD (อังกฤษ: Distributed Replicated Block Device) เป็นอุปกรณ์บล็อกที่ออกแบบมาเพื่อสร้างความทนทานต่อข้อผิดพลาด ระบบคลัสเตอร์บนระบบปฏิบัติการลีนุกซ์ DRBD มีส่วนร่วมในการสะท้อนกลับอย่างสมบูรณ์ (การมิเรอร์) ผ่านเครือข่ายของการดำเนินการทั้งหมดด้วยอุปกรณ์บล็อก เราสามารถมอง DRBD ว่าเป็นเครือข่าย RAID-1
2 เมษายน 2552 – 14:58 น
เอกสารและ HOWTO จำนวนมากอธิบายวิธีเพิ่ม VLAN ใน Linux ด้วยตนเอง โดยใช้ลำดับคำสั่งที่สามารถใส่ลงในสคริปต์ได้ ฉันคิดว่านี่ไม่ถูกต้องทั้งหมด เป็นการดีที่สุดที่จะทำสิ่งนี้ วิธีปกติระบบ ในระบบที่ใช้ RedHat การตั้งค่า VLAN ทำได้ง่ายดายโดยใช้สคริปต์ ifup มาตรฐาน ขั้นตอนนี้อธิบายไว้ด้านล่าง