Các bài viết cũ

Triển khai cài đặt hệ thống Linux tự động với Cobbler

1. Giới thiệu

1.1 Cobbler là gì?

Cobbler là một gói công cụ tiện ích cho phép triển khai hoàn chỉnh một máy chủ PXE server với khả năng cài đặt tự động các phiên bản Linux thông qua môi trường mạng đồng thời hỗ trợ kết hợp tính năng của kickstart file cho phép tự động hóa hoàn toàn quy trình cài đặt loại bỏ hẳn các thao tác trả lời không cần thiết trong quá trình triển khai ngoài ra còn support deploy OS qua mạng mà không cần sự hỗ trợ của DHCP truyền thống thích hợp cho một số trường hợp triển khai khác nhau. Đây chưa phải là tất cả khả năng của Cobbler như tôi đã trình bày mà các bạn còn cần phải tìm hiểu thêm nhưn trong bài viết này tôi sẽ cố gắng mang đến các khái niệm và ứng dụng thông thường nhất cho một PXE server.

1.2 Các thành phần của Cobbler

Cobbler kết nối và tự động hóa nhiều công đoạn khác nhau trong quá trình cài đặt Linux, giúp cho người quản trị dễ dàng hơn trong việc cài đặt số lượng lớn hệ điều hành Linux với những cấu hình khác nhau. Cobbler quản lý những thành phần chính sau :

Read the rest of this entry

Backup tự động Mysql database server trên linux

Để đơn giản hóa công tác saoo lưu phục hồi hệ thống csdl trên linux thông thường các nhà quản trị sẽ kết hợp sự ưu việt của shell và tính năng crontab sẵn có trên hệ thống linux để tạo ra một quy trình backup musql databse server đơn giản, hiệu quả và mạnh mẽ: sau đây là đoạn script backup database server:

#!/bin/bash
# Shell script to backup MySql database
# To backup Nysql databases file to /backup dir and later pick up by your
# script. You can skip few databases from backup too.
# For more info please see (Installation info):
# http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Last updated: Aug – 2005

Read the rest of this entry

Khái niệm Crontab trên Linux

1. Cron là gì?

Cron là một tiện ích cho phép thực hiện các tác vụ trên hệ thống một cách tự động theo định kỳ, ở chế độ nền của hệ thống. Chức năng này khá phong phú cho phép thiết lập tác vụ dưới dạng command đơn hoặc dùng script theo thời gian định ký được thiết lập sẵn. Tiện ích này trong nhiều trường hợp tỏ ra khá hữu dụng với người dùng và người quản trị. Đơn cử như vấn đề backup Mysql một cách tự động hàng ngày vào một thư mục cố định mà chúng ta quy định chẳng hạn.

Phân loại Cron ?

Có tất cả là hai dạng được sử dụng trong cấu hình Cron:

1. Crontab cho hệ thống Linux/Unix: Thông thường được sử dụng bởi các dịch vụ hệ thống hoặc các công việc quan trong đòi hỏi các đặc quyền cấp cao như root. Đặc biệt còn có thể quy định tác vụ sẽ được thực thi dưới  danh nghĩa của một người dùng xác định trong hệ thống.

2. Crontab cho người dùng hệ thống: Tất cả người dùng trong hệ thống đều có quyền tạo ra các tác vụ định kỳ cho bản thân người dùng đó. Và mặc định các tác vụ do người dùng tạo ra sẽ hoạt động dưới danh nghĩa người dùng đó và không thể thay đổi.

2. Cron làm việc thế nào?

Một cron schedule đơn giản là một tập tin ASCII. Mỗi người dùng có một Cron riêng, thông thường nằm ở /var/spool/cron . Các Cron không cho phép người dùng tạo hoặc chỉnh sửa trực tiếp với bất kỳ trình biên tập tập tin nào, trừ phi họ dùng lệnh crontab. Một số lệnh thường dùng:

crontab -e: tạo hoặc chỉnh sửa file crontab
crontab -l: hiển thị file crontab
crontab -r: xóa file crontab

3. Cấu trúc của crontab

Một crontab file có 6 phân đoạn trong đó 5 phân đoạn đầu xác định thời gian, và đoạn cuối cùng là lệnh sẽ được chạy định kỳ mà chúng ta mong muốn. Mỗi phân đoạn của cú pháp crontab cách nhau bằng một dấu khoảng trắng nhưng đoạn cuối cùng có thể tồn tại trong nó nhiều khoảng trắng và điều chú ý là thời gian tham chiếu là từ máy local.

Read the rest of this entry

Bài 8: Cấu hình webserver trên Centos

HTTP là một giao thức cho phép trình duyệt Web Browser và servers có thể giao tiếp với nhau. Nó chuẩn hoá các thao tác cơ bản mà một Web Server phải làm được. HTTP bắt đầu là 1 giao thức đơn giản giống như với các giao thức chuẩn khác trên Internet, thông tin điều khiển được truyền dưới dạng văn bản thô thông qua kết nối TCP. Do đó, kết nối HTTP có thể thay thế bằng cách dùng lệnh “telnet” chuẩn.

  • Apache là một phần mềm có nhiều tính năng mạnh và linh hoạt dùng để làm Web Server .
  • Hỗ trợ đầy đủ những giao thức HTTP trước đây như HTTP/1.1
  • Có thể cấu hình và mở rộng với những module của công ty thứ ba
  • Cung cấp source code đầy đủ với license không hạn chế.
  • Chạy trên nhiều hệ điều hành như Windows NT/9x, Netware 5.x, OS/2 và trên hầu hết các hệ điều hành Unix.

1. Cài đặt Apache (httpd) + php:

Cú pháp lệnh như sau :

yum –y install httpd php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mhash gettext

Hoặc đơn giản là yum –y install httpd* php*

Cho dịch vụ ở chế độ auto start: Chkconfig httpd on
Start dịch vụ httpd: Service httpd start

Read the rest of this entry

Bài 7 Cấu hình DNS trên Centos

Giới thiệu
DNS (Domain Name System) là một hệ cơ sở dữ liệu phân tán dùng để ánh xạ giữa các tên miền vê các địa chỉ IP. DNS đưa ra một phương pháp đặc biệt để duy trì vê liên kết các ánh xạ nêy trong một thể thống nhất.

BIND (Berkeley Internet Name Distributed) là phần mềm DNS Server được sử dụng nhiều nhất hiện nay trên thế giới. Một chương trình phục vụ DNS trên nền các hệ thống AIX/BSD/HP-UX/Unix/Linux…
Bind chạy nhanh, hiệu suất cao, đáp ứng được số lượng user lớn, cấu hình linh hoạt, …

Phân loại:

  • Máy chủ DNS chính (Primary Name Server): Mỗi một máy chủ tên miền có một tên miền riêng. Tên miền riêng này được đăng ký trên Internet.
  • Máy chủ DNS dự phòng – tên miền thứ hai (Secondary name server): đây là một DNS Server được sử dụng để thay thế cho Primary name server DNS Server  bằng cách sao lưu lại tất cả những bản ghi dữ liệu trên Primary name Server và nếu Primary Name Server bị gián đoạn thì nó sẽ đảm nhận việc phân giải và ánh xạ tên miền và địa chỉ IP.
  • Caching Name Server: Đây là một Server đảm nhiệm việc lưu trữ tất cả những tên miền, địa chỉ IP đã được phân giải và ánh xạ thành công. Nó được sử dụng trong những trường hợp sau:
  • Làm tăng tốc độ phân giải bằng cách sử dụng cache
  • Giảm bớt gánh nặng phân giải tên máy cho các DNS Server
  • Giảm lưu lượng tham gia vào mạng và giảm độ trễ trên mạng (rất quan trọng).

Kiểm tra và cài các package sau:

  • #bind
  • #bind-chroot

1. Demo “DNS SERVER – MASTER”

Xây dựng DNS Server chịu trách nhiệm phân giải cho domain tonphat.info

Read the rest of this entry

Thay đổi thuật toán băm mặc định trên Linux

Có bao giờ bạn đã từng xem xét xem thuật toán băm passqord mặc định trong /etc/shadow là MD5 hay chưa. Và thay đổi những thứ mặc định luôn mang đến một mức độ an toàn nào đó đối với cái kẻ soi mói khác nâng bảo mật của hệ thống thêm một mức độ nào đó. Và ở đây đặt ra là chúng ta có thể thay đổi thuật toán khác mạnh mẽ hơn hay không lúc này chắc chắn không thể nghĩ ra thuật toán băm nào khác ngoài SHA (256 or 512).

Nhờ vào cú pháp lệnh authconfig cho phép chúng ta thiết lập lại thuật toán băm mạc định là Md5 thành SHA.

Xem thuật toán hiện tại đang được sử dụng trên hệ thống

authconfig –test | grep hashing

kết quả:

password hashing alogrithm is md5

Cấu hình sử dụng thuật toán SHA-512

Cú pháp sử dụng:

authconfig –passalgo=sha512 –update

Chú ý: những người dùng cần thay đổi password của họ để tạo ra các chuỗi băm password mới theo SHA-512

Chúng ta có thể ép buộc người dùng thay đổi vào lần đăng nhập kế tiếp theo cú pháp

chage -d 0 <userName>

Bài 6: Cấu hình DHCP trên Centos

1. Giới thiệu

Dịch vụ cung cấp địa chỉ IP động DHCP (Dynamic Host Configuration Protocol ).
Không những cung cấp được IP mà dịch vụ trên còn đưa ra cho chúng ta nhiều tính năng để cung cấp những yếu tố khác cho các máy client, ví dụ như cung cấp địa chỉ của máy tính dùng để phân giải tên miền DNS, địa chỉ của một Gateway router, địa chỉ máy WINS…

Một DHCP server bao gồm bốn mục chính sau:

  • Options: Dùng để cung cấp các yếu tố cho phía client như địa chỉ IP, địa chỉ subnet mask, địa chỉ Gateway, địa chỉ DNS .v.v…
  • Scope: Một đoạn địa chỉ được quy định trước trên DHCP server mà chúng ta sẽ dùng để gán cho các máy client.
  • Reservation: Là những đoạn địa chỉ dùng để “để dành” trong một scope mà chúng ta đã quy định ở trên.
  • Lease: Thời gian “cho thuê” địa chỉ IP đối với mỗi client.

2. Cài đặt và cấu hình DHCP server

Thường thì dịch vụ này đã được setup khi ta cài đặt OS linux theo chuẩn server.
Nếu máy tính của bạn chưa cài đặt dịch vụ DHCP thì bạn download gói cài đặt rpm về sử dụng. Thường ta sử dụng gói có sẵn trong đĩa cài đặt thư mục Centos version dhcp-3.0.1rc14-1.i386.rpm.

Read the rest of this entry

Bài 5 Hệ thống thư mục và tập tin

Hệ thống tập tin của Linux và Unix được tổ chức theo một hệ thống phân bậc tương tự cấu trúc của một cây phân cấp. Bậc cao nhất của hệ thống tập tin là thư mục gốc, được ký hiệu bằng gạch chéo “/” (root directory). Đối với các hệ điều hành Unix và Linux tất các thiết bị kết nối vào máy tính đều được nhận dạng như các tập tin, kể cả những linh kiện thiết bị như ổ đĩa cứng, các phân vùng đĩa cứng và các ổ USB. Điều này có nghĩa là tất cả các tập tin và thư mục đều nằm dưới thư mục gốc, ngay cả những tập tin biểu tượng cho các ổ đĩa cứng.

Nằm dưới thư mục gốc (/) có một loạt các thư mục quan trọng của hệ thống tập tin được công nhận ở tất cả các bản phân phối Linux khác nhau. Sau đây là danh sách các thư mục thông thường được nhìn thấy dưới thư mục gốc (/) :

  • /bin – chứa các ứng dụng quan trọng (binary applications),
  • /boot – các tập tin cấu hình cho quá trình khởi động hệ thống (boot configuration files),
  • /dev – chứa các tập tin là chứng nhận cho các thiết bị của hệ thống (device files)
  • /etc – chứa các tập tin cấu hình của hệ thống, các tập tin lệnh để khởi động các dịch vụ của hệ thống…
  • /home – thư mục này chứa các thư mục cá nhân của những người có quyền truy cập vào hệ thống (local users’ home directories),
  • /lib – thư mục này lưu các thư viện chia sẻ của hệ thống (system libraries)
  • /lost+found – thư mục này được dùng để lưu các tập tin không có thư mục mẹ mà được tìm thấy dưới thư mục gốc (/) sau khi thực hiện lệnh kiểm tra hệ thống tập tin (fsck).
  • /media – thư mục này được dùng để tạo ra các tập tin gắn (loaded) tạm thời được hệ thống tạo ra khi một thiết bị lưu động (removable media) được cắm vào như đĩa CDs, máy ảnh kỹ thuật số…
  • /mnt – thư mục này được dùng để gắn các hệ thống tập tin tạm thời (mounted filesystems),
  • /opt – thư mục dùng dể chứa các phần mềm ứng dụng (optional applications) đã được cài đặt thêm,
  • /proc – đây là một thư mục đặc biệt linh động để lưu các thông tin về tình trạng của hệ thống, đặc biệt về các tiến trình (processes) đang hoạt động,
  • /root – đây là thư mục nhà của người quản trị hệ thống (root),
  • /sbin – thư mục này lưu lại các tập tin thực thi của hệ thống (system binaries)
  • /sys – thư mục này lưu các tập tin của hệ thống (system files),
  • /tmp – thư mục này lưu lại các tập tin được tạo ra tạm thời (temporary files),
  • /usr – thư mục này lưu và chứa những tập tin của các ứng dụng chính đã được cài đặt cho mọi người dùng (all users),
  • /var – thư mục này lưu lại tập tin ghi các số liệu biến đổi (variable files) như các tập tin dữ liệu và tập tin bản ghi (logs and databases).

image

Read the rest of this entry

Bài 4: Quản lý nhóm và người dùng

Thông tin người dùng trong hệ thống

1/ Tập tin /etc/passwd

Cơ sở dữ liệu / danh sách các tài khoản người dùng trong hệ thống dưới dạng tập tin văn bản thông thường

clip_image002

Xem đơn giản bằng lệnh

Cat /etc/passwd

Mỗi một dòng trong tập tin là thông tin tương ứng cho một user trong hệ thống. Một trường có tất cả 7 phần thông tin mỗi phần ngăn cách nhau bởi dấu “:”. Ý nghĩa của 7 phần đó như sau:

Read the rest of this entry

Bài 3: Cài đặt ứng dụng dùng RPM

clip_image002

RPM là viết tắt của chữ ‘Red Hat Package Management’ . Đây là một trong những dạng gói phần mềm dễ dùng nhất. Một tập tin RPM là một file chứa các chương trình thực thi, các scripts, document và một số file cần thiết khác và các tập tin RPM thường có kết thúc bằng ‘.rpm’. Trong các bản Red Hat Linux, tên tập tin RPM thường tuân theo dạng sau:

<tên gói><phiên bản><số hiệu patch>.<hệ máy>.rpm

Example 1.1. Tên gói emacs-21.2-1.i386.rpm
Một số gói dùng để phát triển phần mềm có dạng:

<tên gói>-devel-<phiên bản>-<số hiệu patch>.<hệ máy>.rpm

Các gói dạng này thường chứa các tập tin thư viện và tập tin header, chỉ cần thiết để biên dịch chương trình

Read the rest of this entry