KHÔI PHỤC MẬT KHẨU CHO LINUX

KHÔI PHỤC MẬT KHẨU CHO LINUX

KHÔI PHỤC MẬT KHẨU CHO LINUX

- Chúng ta có quá nhiều mật khẩu: mail, forum, Windows, Linux...và đôi khi bạn quên mất password của root trong Linux thì sao ? Cài lại? Có thể nhưng bất tiện.

- Bạn có thể khôi phục password cho Linux dễ dàng mà không phải cài lại.

- Đối với Redhat:

+ sử dụng boot loader là GRUB:

Khi màn hình của GRUB xuất hiện chọn chọn mục khởi động vào Linux, bấm phím "e" để vào chức năng Edit, mành hình mới xuất hiện (thường sẽ có 3 mục) bạn dịch chuyển thanh chọn đến mục có chữ kernel, bấm phím "e" để edit tham số khởi động. Rồi nhập vào số 1 hoặc chữ single cũng được rồi enter, tiếp theo nhấn "b" để khởi động (phải chọn mục có chữ kernel vừa mới sửa tham số) . Mục đích là vào level 1 (single user).

Khi dấu nhắc lệnh xuất hiện bạn gõ lệnh passwd root để đổ password cho root. Khởi động lại máy là OK.

+ Sử dụng Lilo (hầu như không còn)
Khi dâu nhắc của Lilo xuất hiện, bạn gõ vào linux single. Sau khi khởi động xong,bạn gõ lệnh passwd root để đổi pass.
Các phiên bản khác:
vào www.toms.net/rb
để down về file ảnh cần thiết, sau đó làm đĩa mềm hoặc đĩa CD khởi động. Sau đó khởi độ̣ng với cái đĩa vừa tạo.
Sau khi khởi động thì ta đăng nhập vào hệ thống với account root.(không phải là root của Linux đang cài trên máy) mà là của cái đĩa mới khởi động.
Mở file /etc/shadow để xóa password hiện tại của root (root của linux của máy mình)
dùng lệnh vi /etc/shadow nhấn phím Insert để chuyển sang chế độ ghi, ở dòng đầu tiên sẽ là root:cái gì đó (pass đã mã hóa) rồi tới dấu : xóa các ký tự "lạ" nằm giữa 2 dấu này--> mục đích là tạo password trống (blank) cho root.
Nhấn ESC, gõ ":"
rồi lưu file với lệnh wq
Khởi động lại máy. Lúc này root không có password nữa muốn đổi gì mà không được.

MẠNG TCP/IP TRONG LINUX

MẠNG TCP/IP TRONG LINUX

MẠNG TCP/IP TRONG LINUX

  1. Tiến trình quản lý dịch vụ mạng – xinetd

Red Hat Linux sử dụng xinetd (Extended Internet Services Daemon) để quản lý nhiều dịch vụ mạng cơ sở như Finger, IMAP, Telnet, …
Tập tin cấu hình của xinetd là /etc/xinetd.conf.
Cấu hình cho mỗi dịch vụ mà xinetd quả lý được đặt trong các tập tin riêng lẻ ở trong thư mục /etc/xinetd.d
Để bật tắt một dịch vụ do xinetd quản lý, ta chỉ cần sửa tập tin cấu hình của nó trong thư mục /etc/xinetd.d/. Nếu thuộc tính Disable được gán bằng Yes, dịch vụ sẽ bị tắt và ngược lại.
Để bật tắt hay khởi động xinetd, ta sử dụng script khởi động trong thư mục /etc/rc.d/initd.d như sau:

/etc/ rc.d/initd.dxinetd restart | stop | start

  1. Các tập tin cấu hình cơ bản và khởi động dịch vụ mạng

Cấu hình một mạng TCP/IP trên hệ thống linux được thực hiện bằng cách sử dụng một tập hợp các tập tin cấu hình mạng nằm trong thư mục /etc/etc/sysconfig/. Những tập tin này xác định các thông tin về mạng như tên máy, tên miền, địa chỉ IP, …
RH sử dụng một số tập tin cấu hình cơ bản như:

/etc/sysconfig/network à có chứa các khai báo của hệ thống về một số thông tin cơ bản về trạng thái mạng, được khởi nạp khi hệ thống khởi động. bao gồm: tên máy, GW, …

/etc/sysconfig/network-scripts/ifcfg-eth0 à chứa tập tin khởi động giao tiếp mạng eth0.

/etc/sysconfig/static-routes à chứa thông tin về định tuyến cho các gói tin trên mạng.

Khởi nạp lại thông tin cấu hình mạng:

Sau khi đã có sự thay đổi trong các script, ta cần thông báo lại cho nhân hệ điều hành biết được những sự thay đổi này bằng cách thi hành script sau:

/etc/rc.d/init.d/network restart | start | stop

  1. Cấu hình giao tiếp mạng

*Cơ sở cài đặt phần cứng
RH Linux có các trình điều khiển thiết bị cho nhiều kiểu card mạng khác nhau, được lưu trong thư mục /lib/modules/2.4.20-8/kernel/drivers/net (trong đó 2.4.20-8 là phiên bản của kernel).

Để phát hiện và cấu hình một thiết bị phần cứng mới hay được thay đổi, ta sử dụng lệnh kudzu. Khi hệ thống khởi động, kudzu phát hiện các phần cứng hiện có và kiểm tra nó dựa trên cơ sở dữ liệu lưu trong tập tin /etc/sysconfig/hwconfig. Nếu tập tin /etc/sysconfig/hwconfig không tồn tại, kudzu thực hiện xác định những thiết bị nào đó đã được cấu hình, bằng cách đọc thông tin trong các tập tin /etc/modules.conf, /etc/sysconfig/network-script/

Tên của một số giao tiếp mạng trong RH linux được định nghĩa như sau:

lo: giao tiếp mạng looback
eth0, eth1, … : đây là tên của giao tiếp mạng, được sử dụng hầu hết cho các card mạng ethernet.

*Cấu hình giao tiếp mạng – lệnh ifconfig
Mỗi giao tiếp mạng được cấu hình trên hệ thống linux thường có 1 tập tin script khởi động nằm trong thư mục /etc/sysconfig/network-scripts/. Thí dụ: card mạng thứ nhất (eth0) có tập tin script tương ứng là ifcfg-eth0.

Lệnh ifconfig là chương trình tiện ích trong hệ thống linux, được sử dụng để hiện thị thông tin và cấu hình các giao tiếp mạng trên hệ thống linux.

Một số tham số trong lệnh ifconfig

Address địa chỉ ip gán cho giao tiếp mạng
Netmask khai báo subnet mask cho giao tiếp mạng
Up kích hoạt giao tiếp mạng interface được chỉ ra
Down tắt giao tiếp mạng interface được chỉ ra
Irq addr khai báo địa chỉ ngắt mà card mạng sử dụng
Io_addr addr khai báo địa chỉ cổng mà card mạng sử dụng

Có 2 chế độ hoạt động của lệnh ifconfig

- Chế độ thông báo: hiển thị các thông tin về tham số hoạt động của các thiết bị mạng đã được cài đặt và cấu hình.

Cú pháp: ifconfig [interface]

- Chế độ cấu hình:

Cú pháp: ifconfig interface [aftype] options | address …

Chú ý: trong trường hợp thay đổi địa chị card mạng bằng lệnh ifconfig thì khi khởi động lại máy hay khi khởi động lại dịch vụ mạng, địa chỉ card mạng sẽ được gán lại theo các thông số được khai báo trong tập tin cấu hình giao tiếp mạng. (trong thu mục /etc/sysconfig/network-scripts)

Vd: lệnh sau đây sẽ gán địa chỉ ip 192.168.1.56 cho giao tiếp mạng thứ hai (eth1) và kích hoạt card mạng này

# ifconfig eth1 192.168.1.56 netmask 255.255.255.0 up

Để tắt giao tiếp card mạng eth0, ta thực hiện

# ifconfig eth0 down

Để cấu hình cho card mạng eth0 sử dụng ngắt 9 cổng 310, ta thi hành lệnh:

# ifconfig eth0 irq 9 io_addr 0x310

*Script khởi động giao tiếp mạng

Các hệ thống linux đều có 1 thư mục /etc/sysconfig/ chứa đựng các tập tin cấu hình để khởi động mạng một cách tự động

Nội dung cơ bản của script này bao gồm các khai báo sau:

DEVICE=name Tên giao tiếp mạng
IPADDR=address Địa chỉ ip
NETMASK=mask Netmask của giao tiếp địa chỉ ip

GATEWAY=ip_address Địa chỉ gateway mà card mạng ket noi

ONBOOT=yes|no onboot= yes thì mỗi lần dịch vụ mạng khởi động, giao tiếp mạng sẽ được kích hoạt và ngược lại

BOOTPROTO=static|dhcp BOOTPROTO=static, giao tiếp mạng nhận ip, netmask của script. Nếu BOOTPROTO=dhcp thì giao tiếp mạng nhập ip từ dhcp server

Vd: một khai báo cho giao tiếp mạng đầu tiên, trong script của nó:

DEVICE=
IPADDR=
NETMASK=
GATEWAY=
ONBOOT=
BOOTPROTO=

*Khai báo nhiều ip cho 1 card mạng

Cú pháp:

# ifconfig interfacename:clonename

Vd:

# ifconfig eth0:0 192.168.1.2
# ifconfig eth0:1 192.168.1.200

  1. Định tuyến

*Default Gateway
Để chỉ ra default gateway, ta mở tập tin /etc/sysconfig/network và bổ sung thêm dòng.

GATEWAY=ip_address

Ta cũng có thể khai báo Default Gateway trong tập tin script khởi động giao tiếp mạng.

*Chuyển tiếp gói tin – ip forwarding

Trong trường hợp hệ thống ta có 2 card mạng trở lên ta cần bật chức năng chuyễn tiếp gói tin để các gói tin có thể được chuyển tiếp giữa các card mạng (mặc định hệ thống kh bật chức năng này). Thi hành một trong các cách sau để bật chức năng này:

Thi hành lệnh sau để bật chức năng:

echo 1 > /proc/sys/net/ipv4/ip_forward

Khai báo trong tập tin /etc/sysctl.conf mục từ sau (để có hiệu lực mỗi khi khởi động lại máy)

net.ipv4.ip_forward=1

*Định tuyến – routing

Để thiết lập đường dẫn tĩnh ta sử dụng lệnh route, hay khai báo trong tập tin /etc/sysconfig/static-routes. Việc thực hiện dẫn đường rất quan trọng trong trường hợp máy tính đóng vai trò là default gateway

Để xem bảng định tuyến ta sữ dụng lệnh route không tham số.
Dùng cú pháp lệnh sau để ta thêm hay delete trong bảng định tuyến.

Route add [-net|-host] target [netmask Nm] [gw Gw]

Route del [-net|-host] target [netmask Nm] [gw Gw]

Trong đó:

add bổ sung thêm tuyến đường vào bảng định tuyến
del xóa tuyến đường vào bảng định tuyến
-net khai báo định tuyến tới mạng đích
-host khai báo định tuyến tới máy đích
target là địa chỉ của mạng hay máy cần thực hiện định tuyến
netmask Nm khai báo netmask của mạng(target)/máy cần thực hiện định tuyến
gw Gw Ip của Gateway thực hiện xử lý chuyển tiếp các gói tin.

Vd: để thêm một đường dẫn chỉ ra các gói tin được chuyển đến mạng 192.168.10.0/24 sẽ đi qua gateway 172.16.10.1, ta thực hiện lệnh sau:

# route add –net 192.16.10.0 netmask 255.255.255.0 gw 172.16.10.1

Script quản lý các route là /etc/sysconfig/static-routes, mỗi dòng trong nó chứa một khai báo tuyến đường tĩnh với định dạng như sau:

Device net network netmask netmask gw gateway.

Chú ý: divice có thể là any, khi đó nó đại diện cho all các giao tiếp mạng

  1. Một số tiện ích theo dõi mạng và đăng nhập từ xa.

*ping: sử dụng giao thức ICMP, lệnh ping liên tục gởi 1 gói tin ICMP tới máy đích. Muốn dừng ta nhấn Ctrl+C.

Cú pháp: ping host (host – là địa chỉ ip hay tên máy)

*traceroute: Cho biết đường đi tới máy tính có thông hay không.

Cú pháp: traceroute host (host – là địa chỉ ip hay tên máy)

*netstat: là tập hợp của nhiều công cụ được kết hợp lại với nhau, cung cấp thông tin theo thời gian thực về trạng thái của các kết nối mạng.

Cú pháp:

netstat [options]

Các lựa chọn:

-t Hiển thị các thông tin các kết nối TCP socket
-u Hiển thị các thông tin các kết nối UCP socket
-i Hiển thị các thông tin tất cả các giao tiếp mạng
-a Hiển thị thông tin các kết nối của tất cả các internet socket
-r Hiển thị bảng dẫn đường
-n Không thực hiện chuyển đổi địa chỉ ip thành tên
-c Thực hiện cập nhật liên tục trạng thái.

Ví dụ:

*tcpdump: Nó có thể theo dõi tất cả các gói tin được gửi broadcast trên mạng.

Cú pháp:

tcpdump [options]

Các lựa chọn:

-i if Chỉ thu thập các giao tác đi qua giao tiếp mạng if. Nếu kh có option này, lệnh tcpdump sẽ lắng nghe trên all các giao tiếp mạng

host host Chỉ thực hiện thu thập các giao tác liên quan đến máy tính có ip/tên là host
net net Chỉ thực hiện thu thập các giao tác liên quan đến mạng có địa chỉ net
port port Chỉ thực hiện thu thập các giao tác được thực hiện trên cổng port
-t Không in ra nhãn thời gian tại mỗi dòng của kết quả xuất
-n Kh thực hiện chuyển đổi dc máy thành tên ở kết quả xuất
-N Kh thực hiện xuất ra tên miền đầy đủ của các tên máy.

Vd:

*Đăng nhập từ xa: Trên RH linux hổ trợ 2 chương trình (telnet và ssh) cho phép đăng nhập từ xa vào một máy khác để thi hành lệnh trên máy từ xa đó.

Cú pháp:

ssh username@hostname

vd:

*who, w, finger
Lệnh who, w, finger cung cấp thông tin về các người dùng đang đăng nhập hệ thống.

Đồng Hồ Trên Linux - Network Time Protocol ( NTP )

Đồng Hồ Trên Linux - Network Time Protocol ( NTP )

Đồng Hồ Trên Linux - Network Time Protocol ( NTP )

Chỉnh đồng hồ

Câu lệnh date được dùng để truy cập và thiết lập đồng hồ hệ thống

[root@centos ~]# date
Mon Jun 23 16:47:43 ICT 2008

Chúng ta có thể thiết lập định dạng thời gian cho câu lệnh date với tùy chọn "+"

[root@centos ~]# date '+%D %T'
06/23/08 16:48:19
[root@centos ~]# date '+%H:%M:%S %d/%m/%y'
16:49:16 23/06/08

Ngoài ra, ta cũng có thể hiển thị các ngày khác với ngày hiện thời

[root@centos ~]# date -d 'yesterday'
Sun Jun 22 16:49:41 ICT 2008
[root@centos ~]# date -d '3 months ago'
Sun Mar 23 16:50:02 ICT 2008

date cũng có thể được dùng để hiển thị ngày cuủ một file cụ thể:

[root@centos ~]# date -r /etc/ntp.conf
Sat Nov 10 19:34:05 ICT 2007

hwclock là câu lệnh dùng để kiểm soat đông hồ phần cứng do BIOS quản lý. Khi dùng date để thay đổi giờ thì đồng hồ phần cứng sẽ không bị ảnh hưởng, do đó tại lần khởi động máy kế tiếp, hệ thống sẽ lấy thông tin thời gian từ đồng hồ phần cứng. Để dùng câu lệnh hwclock, ta phải dùng account root.

foo:~ # hwclock
Fri 27 Jun 2003 14:01:24 SAST -0.462635 seconds

Đồng hồ phần cứng có thể được thiết lập theo thời gian của vùng bạn ở hay theo UTC. Khi hệ thống khởi động, đồng hồ hệ thống sẽ lấy giá trị từ đông hồ phần cứng bằng một trong hai câu lệnh sau:

hwclock --hctosys --utc        # BIOS clock is UTC
hwclock --hctosys --localtime
# BIOS clock is local time

Thiết lập giờ hiện tại và giờ hệ thống (BIOS)

hwclock –-hctosys // set đồng hồ hệ thống (BIOS) cho đồng hồ hiện tại
hwclock --systohc // ngược với hctosys

Tùy theo phiên bản Linux, ta cần thay đổi một trong những file sau để thiết lập thời gian, tìm ra timezone của hệ thống.

/etc/sysconfig/clock   # Redhat, newer SuSE – HWCLOCK value
/etc/rc.config
# SuSE – GMT value
/etc/defaults/rcS
# Debian – UTC value

/etc/localtime là một symbolic link hoặc là một bản sao của /usr/share/zoneinfo. Điều này được thiết lập lúc cài đặt hệ thống.

Câu lệnh zic dùng để thiết lập nội dung file /etc/localtime. Ví dụ

% zic -l "Africa/Johannesburg"

Network Time Protocol (NTP)

The Network Time Protocol (NTP) is a protocol used to help synchronize your Linux system's clock with an accurate time source. There are that allow the general public to synchronize with them.

  • Stratum 1: NTP sites using an atomic clock for timing.
  • Stratum 2: NTP sites with slightly less accurate time sources.

NTP cho phép đồng bộ đồng hồ của hệ thống với UTC (Universal Coordinate Time) thông qua một máy chủ thời gian. Cách dùng NTP đơn giản nhất là truy vấn thời gian của máy chủ bằng câu lệnh ntpdate. Câu lệnh này sẽ lấy thời gian từ máy chủ và cập nhật đồng hồ hệ thống.

Kiểm tra, cài đặt NTP:

Kiểm tra xem ntp có chạy không:

$ ps -ef | grep ntp
root 3275 3112 0 16:07 pts/2 00:00:00 vi /etc/ntp.conf
ntp 3557 1 0 17:27 ? 00:00:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root 3563 3402 0 17:27 pts/3 00:00:00 grep ntp

Kiểm tra xem trên Server đã cài ntp chưa:

[root@centos ~]# rpm -qa | grep ntp
chkfontpath-1.10.1-1.1
ntp-4.2.2p1-7.el5

Nếu chưa có thì cài nó lên.

# yum -y install ntp

Sau đó cấu hình cho ntpd start khi hệ thống khởi động:

$ chkconfig ntpd on

Làm việc với ntpd bằng các lệnh:

$ service ntpd stop
$ service ntpd start
$ service ntpd restart
$ service ntpd status

File cấu hình mặc định:

$ /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

Kiểm tra ntp làm việc

[root@centos ~]# ntpq -p

remote refid st t when poll reach delay offset jitter
=================================================
ips61.reverse.n 132.239.1.6 2 u 28 64 3 10.472 148790. 8.879
LOCAL(0) .LOCL. 10 l 26 64 3 0.000 0.000 0.001

Cập nhật thời gian tại một server khác:

ntpdate –q <địa chỉ time_server>

Một số phím tắt hữu ích khi sử dụng Linux

Một số phím tắt hữu ích khi sử dụng Linux

Dưới đây là một số tổ hợp phím tắt hữu ích mà cheva thu thập được trong quá trình sử dụng Linux, danh sách này sẽ được bổ sung dần dần:

1. Trong terminal

  • + L: xoá toàn bộ màn hình, giống lệnh clear
  • + D: exit session, giống lệnh exit
  • + R: tìm một lệnh đã chạy trước đây, nhấn + R sau đó bắt đầu gõ một phần của câu lệnh, hệ thống sẽ tự hoàn tất phần còn lại dựa trên các câu lệnh đã được thực hiện trước đó
  • : tự động hoàn tất câu lệnh
  • + : dán (paste) nội dung đã copy vào terminal
  • + PageUp: cuộn màn hình lên trên một trang
  • + + F2 ( + F2> nếu đang ở chế độ console): chuyển sang virtual terminal thứ 2, tương tự với F3, F4 ...

2. Trong GNOME

  • + + D: hiển thị desktop, giống + D trong Windows
  • + + : chuyển sang workspace trước/kế tiếp
  • + W: đóng cửa sổ hiện thời
  • + Q: thoát khỏi chương trình hiện thời
  • + F1: Hiển thị main menu
  • + F2: Hiển thị hộp thoại chạy dòng lệnh, giống + R trong Windows
  • + F5: Bỏ phóng to cửa sổ hiện thời
  • + F9: Thu nhỏ cửa sổ hiện thời
  • + F10: Phóng to cửa sổ hiện thời

3. Trong OpenOffice:

  • + + B: chuyển font sang dạng subscript, giống + '+' trong MS Word
  • + + P: chuyển font sang dạng supperscript, giống + + '+' trong MS Word
  • + 1: Single line spacing
  • + 2: Double line spacing
  • + 5: 1.5 line spacing
Xem danh sách chi tiết các phím tắt của OpenOffice tại http://www.entropy.ch/software/macosx/docs/openoffice-mac/shortcuts.html

4. Trong vi (vim)

Các phím sau đây được sử dụng trong chế độ nhập lệnh (không phải chế độ nhập văn bản). Để viết về vi thì cần một bài riêng, nên ở đây cheva chỉ nêu ra một số phím/lệnh chính, chú ý các phím/lệnh sau đây có phân biệt chữ hoa và chữ thường:

  • G: tới cuối file
  • #G: tới dòng thứ # (ví dụ 10G, 100G)
  • H: tới đầu trang
  • dd: xóa dòng hiện thời
  • yy: copy dòng hiện thời
  • p: dán xuống dòng dưới dòng hiện thời
  • P: dán vào trước vị trí con trỏ
  • /: bắt đầu tìm kiếm
  • ^: tới đầu dòng
  • $: tới cuối dòng
  • %: tới dấu đóng (mở) ngoặc tương ứng
  • %s/old_text/new_text/g: thay thế tất cả các old_text bằng new_text
  • Ở chế độ nhập văn bản, gõ + P để sử dụng auto text completion
cheva

Hệ thống tập tin và thư mục trên Linux

Các thư mục và hệ thống 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 vạ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 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.

Ví dụ, /home/User//linux/arp.doc chỉ toàn bộ đường dẫn đến tập tin arp.doc có trong thư mục User là thư mục phụ nằm trong thư mục home, ngay dưới thư mục gốc (/).

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).

Ổ đĩa và các Partition

  • /dev/hda Ổ đĩa cứng IDE đầu tiên (chính)
  • /dev/hdb Ổ đĩa cứng IDE thứ hai (thứ cấp)
  • /dev/sda Ổ đĩa cứng SCSI đầu tiên
  • /dev/sdb Ổ đĩa cứng SCSI thứ hai
  • /dev/fd0 Ổ đĩa mềm đầu tiên
  • /dev/fd1 Ổ đĩa mềm thứ hai

Ví dụ chúng ta chạy lệnh ls –l firstdoc.txt thấy kết quả như sau:

-rwxrw-r-- 1 User1 Testers 512 Oct 24 19:42 firstdoc.txt

Ý nghĩa của các field là:

  • File Access Permission: -rwxrw-r--
  • Số liên kết: 1
  • File Owner: User1
  • Group: Testers
  • File Size (bytes): 512
  • Lần hiệu chỉnh cuối: Oct 24
  • Last Modification Time: 19:42
  • File name: firstdoc.txt

Ngoài ra, qua lệnh ls –l chúng ta sẽ biết được firstdoc.txt là tập tin hay thư mục dựa theo:

  • Nếu kí tự đầu tiên là (-), thì đây là tập tin.
  • Nếu kí tự đầu tiên là d, thì đối tượng là thư mục.
  • Nếu kí tự đầu tiên là l, thì đầy là một liên kết (symbolic link) trỏ đến một file khác (gần giống với shortcut trên Windows OS).
  • Nếu kí tự đầu tiên là b, đối tượng là block device ví dụ như disk drive.
  • Nếu kí tự đầu tiên là c, đối tượng là character device như serial port.

Object Ownership

Trong ví dụ trên chúng ta thấy các tập tin đều có một group owner và file owner. Trong trường hợp muốn thay đổi ownership cho group hay user khác hãy đăng nhập với quyền root và thự hiện lệnh sau để đổi quyền ownership đối với tập tin payroll.doc cho người dùng vp_finance

chown vp_finance payroll.doc

Nếu muốn đổi quyền ownership cho group accounting hãy thực hiện lệnh

chown vp_finance.accounting payroll.doc

Trong trường hợp muốn chuyển quyền ownership toàn bộ thư mục và các tập tin bên trong thì thự hiện lệnh chown với tùy chọn –R:

chown -R vp_marketing.marketing /marketing/June
chown -R .marketing /marketing/June

Ngoài ra, nếu muốn chuyển quyền ownership mà không có quyền root thì có thể dùng lệnh chgrp nhưng lúc này bạn phải thuộc group có quyền ownership và group muốn chuyển quyền này.

Xem thông tin sử dụng đĩa cứng dùng lệnh df -h:

Mounting thiết bị, ổ đĩa

Để có thể sử dụng các ổ đĩa như CDROM, FDD.. chúng ta cần mount các ổ đĩa này bằng lệnh mount như:

# mount /dev/cdrom /mnt/cdrom

Kết quả lệnh sẽ là:

Mount: block device /dev/cdrom is write-protected. mounting
read-only

Tuy nhiên, đối với các phiên bản Linux mới thì việc sử dụng CDROM đa số được hệ thống mount tự động. Ngoài ra, chúng ta có thể mount cdrom hay các ổ usb, fdd đến các thư mục do chúng ta tạo ra như:

mkdir /cdrom
mount /dev/cdrom /cdrom

Và sau khi sử dụng xong chúng ta có thể sử dụng lệnh umount trước khi lấy đĩa ra (có nhiều trường hợp phải lấy CD ra bằng cách tắt nguồn)

Các quyền truy cập

Tất cả các tập tin của một hệ thống tâp tin Linux được gắn các quyền truy cập khác nhau theo từng người dùng của hệ thống, liên quan đến các phép đọc, viết và thực hiện. Người quản trị hệ thống (super user "root") có phép truy cập bất kỳ tập tin của hệ thống. Mỗi tập tin là sở hữu của một người nhất định và được gắn những hạn chế truy cập tùy theo người dùng và được gắn một nhóm người dùng.

Vậy mỗi tập tin được bảo đảm an toàn bởi 3 bộ quyền truy cập được gắn theo 3 nhóm người dùng như sau, theo thứ tự từ cao đến thấp:

  • user (người dùng) những quyền truy cập của nhóm này áp dụng cho người sở hữu tập tin,
  • group (nhóm người dùng) những quyền truy cập của nhóm này áp dụng cho nhóm đã được gắn với tập tin,
  • other (những người khác) những quyền truy cập của nhóm này áp dụng cho tất cả những người còn lại.

Mỗi bộ quyền truy cập sẽ xác định cụ thể các quyền truy cập thực tế đối với các tập tin và các thư mục như sau:

  • read (đọc)
    quyền xem nội dung tập tin hoặc mở tập tin
    quyền xem nội dung của tập tin thư mục
  • write (ghi, viết)
    quyền ghi và sửa lại nội dung tập tin hoặc xoá tập tin
    quyền sửa lại nội dung của tập tin thư mục
  • execute (thực thi)
    quyền này được gắn với các tập tin lệnh, nhóm người dùng đã nhận được quyền này có thể thực hiện các tập tin lệnh, quyền vào các thư mục.

Các quyền trên hệ thống Linux có thể được mô tả qua các số từ 0 đến 7 trong hệ thập phân. Ví dụ một user hay group có quyền R (read), W (write), E (execute) đối với 1 file/folder thì được kí hiệu là 1, ngược lại là 0 nếu không có quyền tương ứng (-). Và với phép chuyển từ số nhị phân sang thập phân chúng ta có bảng giá trị sau:


Vậy nếu một user/group có quyền đối với file/folder nào đó thì tương ứng với xác lập 111 ở hệ nhị phân hay 7 trong hệ thập phân, vậy quyền 777 là cho phép RWE đối với tất cả.


Người dùng và nhóm người dùng

Muốn bổ sung thêm người dùng, hoặc nhóm người dùng, cho hệ thống, bạn có thể dùng chương trình Users And Groups, trong thực đơn System -> Administration -> Users and Groups.

Để bổ sung một người dùng mới, ấn chuột vào Add user, điền các thông tin cần thiết rồi ấn chuột vào nút ghi OK. Để chỉnh lại các thuộc tính của từng người dùng, bạn có thể ấn chuột vào nút ghi Properties có trong cửa sổ chính của Users.

Để bổ sung một nhóm người dùng mới, chọn tab Groups tab và ấn chuột vào Add group. Xác định tên của nhóm mới và nếu muốn có thể thay đổi số ấn định cho nhóm (Group ID). Nếu bạn định dùng một số Group ID đã dùng rồi, hệ thống sẽ có thông báo.

Để bổ sung người dùng cho nhóm vừa mới được tạo ra, chỉ cần chọn một người dùng từ danh sách bên trái và ấn vào nút ghi Add. Muốn loại trừ một người dùng ra khỏi một nhóm cũng đơn giản bằng việc bổ sung: sau khi đã chọn tên người dùng trong cửa sổ bên phải, ấn chuột vào nút đã ghi.

Remove. Khi nào xong, ấn vào nút OK để kết thúc và thực sự tạo ra nhóm người dùng mới, cùng những người dùng thuộc nhóm đó.

Muốn sửa lại các thuộc tính của một nhóm người dùng, chọn tên của một nhóm trong cửa sổ Groups và ấn chuột vào nút đã ghi Properties.

Để xoá hoàn toàn một người dùng, hoặc một nhóm người dùng, từ hệ thống, chọn tên người dùng hoặc tên nhóm người dùng muốn xoá và ấn chuột vào nút đã ghi Delete.

Tương tự hệ thống Windows, khi cài đặt Linux (FC Core) sẽ tạo ra một tài khoản có quyền quản trị hệ thống và có thể dùng để tạo ra các tài khoản khác, đây là tài khoản cao cấp nhất có tên gọi là root. Để cấp quyền truy cập hệ thống chúng ta cần tạo ra các tài khoản người dùng, và mỗi tài khoản người dùng được gán một UID. Các tài khoản có chung thuộc tính sẽ được xếp vào các nhóm như trên hệ thống Windows và mỗi nhóm sẽ có các GID riêng.

Trên hệ thống Linux chúng ta có thể xem các User hiện có thông qua nội dung của tập tin /etc/passwd :

Trong tập tin passwd này chúng ta thấy có nhiều record với các filed khác nhau như:

  • User Account Name: login name của tài khoản người dùng.
  • Password: login password của tài khoản người dùng. Nếu chỉ thấy kí tự x trong ô này thì mật mã đã được mã hóa và bảo vệ trong tập tin shadow password.
  • User ID: số hiệu của user (UID)
  • Group ID: số hiệu Grioup mà người dùng này là thành viên (GID).
  • Full Name: tên đầy đủ của người dùng.
  • Home Directory: thư mục chủ của người dùng sau khi đăng nhập.
  • Shell: trình diễn dịch lệnh, ví dụ bash.

Khi một tài khoản mới được tạo nó sẽ được gán 1 UID, bắt đầu từ 500 trở đi và tăng dần khi các tài khoản mới được tạo ra.

Cũng như trên hệ điều hành Windows, sau khi cài đặt một số tài khoản và group mặc định sẽ được tạo như:


Tìm lại menu "Install new font" bị mất

Tìm lại menu "Install new font" bị mất

Tìm lại menu "Install new font" bị mất

Ðôi khi cài xong Windows và các trình ứng dụng, đến lúc cài đặt font chữ tiếng Việt từ Control Panel\ Fonts, dòng menu Install new font lại bị mất. Sau đây là một số cách giúp bạn tìm lại menu này.

Cách 1: Bạn dùng Windows Explorer copy trực tiếp các font cần sử dụng vào thư mục C:\Windows\Fonts , sau đó khởi động lại máy .

Cách 2: Bạn khởi động máy ở chế độ DOS và gõ lệnh sau : Attrib +S C:\Windows\Fonts. Sau đó bạn dùng NC mở tâp tin desktop.ini trong thư mục C:\Windows\Fonts xóa hết nội dung trong đó và gõ các dòng lệnh sau :

[.ShellClassInfo]
UICLSID={BD84B380-8CA2-1069-AB1D-08000948F534}

Sau đó bạn lưu lại và trở về Windows. menu Install new font đã xuất hiện trở lại trong Control Panel\ Fonts