GIT – Thư mục /proc, reboot – halt – poweroff và shutdown, Ngăn không cho kết nối tới servers với , Tuỳ chỉnh ssh client, Quản lý công việc với at, Làm việc với dd, Khôi phục lại GRUB, Xoá tất cả các file ngoại trừ 1 kiểu file nào đó, /etc/hosts.allow và /etc/hosts.deny.

1.Thư mục /proc. 

-Có một cách rất nhanh và rõ ràng để biết thông tin về hệ thống của bạn là xem những tập tin trong thư mục /proc. Sử dụng thử ls /proc bạn sẽ nhận được một danh sách các tập tin và dùng lệnh cat để xem thông tin về hệ thống của bạn.

Một vài ví dụ

-Thông tin về CPU:

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 10
cpu MHz : 1004.884
cache size : 256 KB
...

-Thông tin về bộ nhớ:

$ cat /proc/meminfo
MemTotal: 516364 kB
MemFree: 7480 kB
Buffers: 3616 kB
Cached: 155428 kB
SwapCached: 16700 kB
...

-Thông tin về hệ thống tập tin:

$ cat /proc/filesystems

-Bạn có thể tự tìm hiểu thêm bằng lệnh man proc.

2. Reboot, halt, poweroff và shutdown

-Sử dụng GUI là một phần tất yếu của enduser. Vì vậy việc tắt hay khởi động lại máy không có gì là phức tạp chỉ việc click vài lần là xong. Tuy nhiên nếu bạn muốn hẹn giờ tắt máy thì việc sử dụng dòng lệnh là bắt buộc (tất nhiên trừ khi bạn tự code một cái GUI có tuỳ chọn hẹn giờ), nhưng việc đó không cần thiết bởi đem mọi thứ đến cho bạn.
-Trước hết lệnh reboot dùng để khởi động lại máy, để kết thúc công việc chúng ta dùng halt và poweroff. Với lệnh halt hệ thống được kết thúc tuy nhiên nguồn vẫn hoạt động, lệnh này dành cho những hệ thống cũ không hỗ trợ tắt nguồn. Với những hệ thống ngày nay để kết thúc công việc hay dùng poweroff, nguồn sẽ được tắt tự động.
-Một lệnh nên biết nhất đó là shutdown – với lệnh này chúng ta có thể đặt thời gian tắt hay khởi động lại máy.

Xem một vài ví dụ với shutdown:

-Tắt hệ thống lúc 19h30.

# shutdown -h 19:30 [thông báo]

thông báo có thể không cần thiết.
-Nếu bạn muốn tắt máy ngay bây giờ.

# shutdown -h now

-Nếu bạn muốn khởi động lại máy bây giờ.

# shutdown -г now

-Nếu bạn muốn tắt máy tính sau 120 phút nữa.

# shutdown -h 120

3.Ngăn không cho kết nối tới servers với iptables.

-Nếu bạn muốn ngăn không cho người dùng kết nối tới một server nào đó có thể làm như sau:

# iptables -A INPUT -i eth0 -s IP_ADDRESS -j DROP
# iptables -A OUTPUT -d IP_ADDRESS -j DROP

với câu lệnh như trên địa chỉ mà bạn muốn block sẽ không thể kết nối được qua card mạng eth0.
-Nếu muốn xoá sạch các kênh bị block:

# iptables -F

4.Tuỳ chỉnh ssh client.

-Nếu bạn đã từng đọc bài viết về kết nối từ xa sử dụng ssh thì có lẽ sẽ không cần nói nhiều nữa về ssh. Còn nếu chưa đọc và chưa biết cách sử dụng ssh thì nên đọc nó trước khi tiếp tục đọc bài này. Ở trong bài viết này tôi chỉ muốn bổ xung thêm một vài thủ thuật cho ssh client.

Kết nối tới server:

$ ssh user@server.gocit.vn

trên đây là câu lệnh mà client cần thực hiện mỗi khi muốn kết nối tới server, để giảm bớt việc gõ bàn phím có thể cấu hình file ~/.ssh/config như sau:

Host server
Hostname server.gocit.vn
User user

sau đó khi cần kết nối tới server trên máy client chỉ cần run:

$ ssh server

-Để sử dụng ssh không mật khẩu (ví dụ với dsa) cần phải xác định cho từng server nếu bạn có nhiều key khác nhau:
$ ssh -i ~/.ssh/id_dsa_server1 user1@server1.gocit.vn

sau đó sửa nội dung file ~/.ssh/config như sau:

Host server1
Hostname server1.gocit.vn
User user1
IdentityFile ~/.ssh/id_dsa_server1

để kết nối tới server thường chạy:

$ ssh server1

-Cuối cùng :

$ man ssh_config

5.Quản lý công việc với at.

at là một tiện ích để quản lý công việc, nói đơn giản nếu bạn muốn thực thi một lệnh nào đó vào thời gian định trước hãy sử dụng at.
at và crontab đều dùng để thiết lập lịch trình thực thi công việc. Tuy nhiên nếu crontab thường được dùng để thực thi một công việc theo chu kỳ nhất định thì at dùng để thực hiện công việc tại một thời điểm xác định. Dạng sử dụng:

at [-V] [-q queue] [-f file] [-mldbv] TIME
at -c job [job...]

để biết chi tiết các tuỳ chọn sử dụng : man at

Xem một vài ví dụ

$ at 21:00 tomorrow
at> ls > output
at> mail debian < output
at> <EOT>
job 1 at Tue Nov 11 21:14:00 2008

với cách sử dụng như trên công việc được thực thi lúc 21h ngày mai (so với khi thực hiện at).

$ at 6:00 am tomorrow < scriptfile

những lệnh trong file scriptfile sẽ được thực thi lúc 6h ngày mai.
-Thêm một vài ví dụ về cách đặt thời gian.

$ at 2122 December 9
$ at 9:22pm Dec 9
$ at 5 am Saturday
$ at now + 2 hours

trong những trường hợp trên thì 2 trường hợp đầu là như nhau.
-Ngoài ra có thể sử dụng file /etc/at.allow và /etc/at.deny để thiết lập danh sách người dùng có thể hay không thể sử dụng at.
-Để liệt kê các công việc tạo ra bởi at chúng ta dùng at -l hoặc atq.
-Để xoá một công việc nào đó sử dụng: atrm jobs_number

7. Làm việc với dd.

-dd dùng để copy các phân vùng và đĩa cứng… dd đọc theo từng block, theo mật định là 512 bytes.
Dạng sử dụng:

dd if="source" of="target" bs="byte size" conv="conversion"

Sử dụng dd

-copy đĩa cứng:

# dd if=/dev/hda of=/dev/hdc bs=4096

-Backup:

# dd if=/dev/hda1 of=/home/.img bs=4096 conv=notrunc,noerror

-Restore:

# dd if=/home/root.img of=/dev/hda1 bs=4096 conv=notrunc,noerror

-Backup + nén:

# dd bs=1M if=/dev/hda1 | gzip -c > root.gz

-Restore với bản nén:

# gunzip -dc root.gz | dd of=/dev/hda1 bs=1M

-Backup + nén tới remote host:

# dd bs=1M if=/dev/hda1 | gzip | ssh user@host 'dd of=root.gz'

-Kiểm tra bad blocks:

# dd if=/dev/hda of=/dev/null bs=1M

-Xoá toàn bộ ổ cứng:

# dd if=/dev/zero of=/dev/hda

-Backup MBR:

# dd if=/dev/hda of=/mbr_hda-old bs=512 count=1

-Xoá MBR và bảng phân vùng đĩa cứng:

# dd if=/dev/zero of=/dev/hda bs=512 count=1

8.Khôi phục lại GRUB.

-Đây dường như là vấn đề thường gặp phải đối với người mới bắt đầu cài đặt và sử dụng Linux.
-GRUB là một Multiboot boot loader. Bạn có thể sử dụng GRUB khởi động Linux/*BSD/Windows. GRUB cung cấp cho người dùng rất nhiều tuỳ biến hữu dụng, ví dụ như có thể cấu hình GRUB để load kernel qua mạng, nó hữu ích cho các server để phòng tránh hacker táy máy nghịch phá kernel.
-Việc khôi phục GRUB thường xảy ra trong trường hợp bạn cài lại Windows (trên máy có một số HĐH), khi đó boot loader của Windows sẽ tự động cài lên MBR của đĩa cứng thứ 1, và dĩ nhiên khi bật máy sẽ không thể chọn HĐH mà bạn muốn sử dụng. Để khôi phục lại GRUB như trước khi cài lại Windows hãy sử dụng LiveCD. Tôi dùng Gentoo LiveCD.
-Cho LiveCD vào ổ CD-ROM, khởi động lại máy và chạy nó.
-Sau khi khởi động xong LiveCD, hãy bật terminal và làm như sau:

$ sudo grub
grub>

tại grub prompt:

grub> find /boot/grub/stage1
find /boot/grub/stage1
(hd0,5)
grub>

grub> root (hd0,5)
grub> setup (hd0)
grub> quit
quit

như vậy GRUB của bạn đã được khôi phục lại như khi chưa cài lại Windows.

9.Xoá tất cả các file ngoại trừ 1 kiểu file nào đó.

-Nếu bạn chỉ muốn giữ lại những file .png trong một thư mục chứa một đống file linh tinh:

$ ls |grep -v \.sh|xargs rm --

10. /etc/hosts.allow và /etc/hosts.deny.

Cho phép và cấm các host

-Với việc sử dụng /etc/hosts.allow và /etc/hosts.deny chúng ta có thể dễ dàng thiết lập danh sách các host được phép và các host bị chặn tới server.
-Sử dụng hai file này rất rõ ràng bởi các dịch vụ muốn tổ chức quản lý đều phải chỉ rõ, dạng:
dich_vu: host
cấu trúc trên chia làm hai phần, phần một là tên của dịch vụ, phần hai là địa chỉ của host, nếu có một vài host thì chúng được ngăn cách nhau bằng dấu phảy (,). Ngoài ra có thể sử dụng khoá từ ALL cho mọi dịch vụ hay mọi host.

Xem xét một ví dụ

/etc/hosts.allow: cho phép
/etc/hosts.deny: ngăn cấm
-Giả sử bạn muốn ngăn cấm tất cả mọi người với tất cả các dịch vụ thì thêm ALL: ALL vào file /etc/hosts.deny.
-Bây giờ cấu hình file /etc/hosts.allow để:

  • cho phép máy tính với địa chỉ 192.168.1.1 được phép kết nối tới tất cả các dịch vụ
  • cho phép máy tính với địa chỉ: 192.168.1.2 và 192.168.1.3 được phép kết nối tới proftpd

để thực hiện việc này chỉ cần thêm 2 dòng sau vào /etc/hosts.allow:

ALL: 192.168.1.1
proftpd: 192.168.1.2, 192.168.1.3

ngoài ra bạn cũng có thể sử dụng cấu trúc dạng proftpd: 192.168.1. để cho phép tất cả các máy tính có địa chỉ dạng 192.168.1.x kết nối tới ftp-server.

Thảo luận bài viết tại forum : http://forum.gocit.vn/threads/mot-so-thu-thuat-tren-linux.537/

Bài viết này nằm trong dự án  website : www.gocit.vn, forum hổ trợ forum.gocit.vn , xem thêm tại link http://www.gocit.vn/du-an-linux-toan-tap/
Print Friendly

Comments

comments

Bài viết liên quan