SỬ DỤNG HỆ ĐIỀU HÀNH LINUX
III. QUẢN TRỊ TÀI KHOẢN, QUẢN TRỊ HỆ THỐNG
1) Quản trị tài khoản:
Để truy cập vào hệ thống, người sử dụng phải có một tài khoản người dùng (user account) và một mật khẩu (password). Người dùng có quyền quản trị hệ thống cao nhất trong Linux có tên là root. Khi thực hiện tạo một tài khoản người dùng, mặc định Linux tạo một thư mục có tên trùng với tên tài khoản người dùng và đặt vào trong thư mục /home/. Thư mục được tạo này được gọi là home-directory (thư mục chủ) của người dùng. Tuy nhiên ta có thể chọn home-directory khác cho người dùng thông qua lệnh useradd hoặc usermod.
a) Tạo tài khoản người dùng:
Để tạo một tài khoản người dùng mới, ta sử dụng lệnh useradd.
Cú pháp: useradd [-c lời-mô-tả-về-người-dùng] [-d tên-thư-mục-home- directory] [-g nhóm-của-người-dùng] [-e expire-date] [-s shell] [-u mã-nhận- diên-người-dùng] tên-tài-khoản
Trong đó:
expire-date: ngày tháng hết hạn của tài khoản, theo định dạng YYYY-MM- DD.
shell: tên shell đăng nhập của người dùng. Nếu không chọn shell thì Linux sẽ tự động chọn shell mặc định cho người dùng.
mã-nhận-diện-người-dùng: là một con số (UID) để nhận diện người dùng, có giá trị lớn hơn 99. Vì từ 0-99 là các UID của hệ thống.
Ví dụ: tạo một tài khoản người dùng mới có tên là alan có UID=503 và là thành viên của nhóm sales:
#useradd -u 503 -g sales alan
sau khi tài khoản người dùng alan được tạo ra thì ta dùng lệnh #passwd alan để tạo password cho alan. Password có độ dài tối thiểu 6 ký tự.
b) Thay đổi mật khẩu đăng nhập của tài khoản người dùng:
Cú pháp: passwd [options] [username]
Trong đó username là tên tài khoản muốn thay đổi mật mã. Nếu không có username thì lệnh này sẽ thực hiện việc thay đổi mật mã cho tài khoản hiện hành.
Một số option của lệnh này:
-l: tùy chọn này cho phép khóa tài khoản.
-u hoặc -f: dùng để mở khóa một tài khoản đã bị khóa. –u sẽ không mở khóa tài khoản nào không có password, nhưng –f cho phép mở khóa các tài khoản không sử dụng password.
-d: xóa password của tài khoản người dùng.
Ví dụ:
#passwd -d alan
removing password for user alan
#passwd -l alan
#passwd -uf alan
unlocking password for user alan c) Xóa bỏ tài khoản người dùng:
Lệnh userdel dùng để xóa tài khoản người dùng và các tập tin liên quan đến người dùng đó.
Cú pháp: userdel [-r] tên-user
Mặc định, khi xóa bỏ tài khoản người dùng thì hệ thống không xóa bỏ các tập tin liên quan đến người dùng. Muốn xóa bỏ các tập tin liên quan ta dùng tùy chọn –r
d) Thay đổi thông tin về tài khoản người dùng:
Lệnh usermod dùng để thay đổi thông tin về tài khoản người dùng Cú pháp: usermod [options] tên-user
Một số option của lệnh này:
-L: khóa tài khoản người dùng.
-U: Mở khóa một tài khoản đã bị khóa.
-l tên-user-mới: đổi tên người dùng thành tên mới.
-u UID-mới: thay đổi mả nhận diện của người dùng.
-g: thay đổi nhóm của người dùng.
Ví dụ: lệnh sau đây thay đổi tài khoản alan thành tên mới là smith với UID mới là 555 thuộc nhóm super
#usermode -u 555 -g super -l smith e) Thêm tài khoản nhóm người dùng
Lệnh groupadd cho phép tạo một nhóm người dùng Cú pháp: groupadd [-g GID] tên-nhóm
Trong đó: GID là mã nhận diện của nhóm, là một con số lớn hơn 499. Vì từ 0- 499 là GID của các nhóm hệ thống.
f) Xóa bỏ tài khoản nhóm người dùng
Lệnh groupdel cho phép ta xóa tài khoản nhóm người dùng cùng các tập tin liên quan. Ta không thể xóa tài khoản nhóm còn chứa các tài khoản người dùng.
Cú pháp: groupdel tên-group
g) Thay đổi thông tin về tài khoản nhóm người dùng
Khi muốn thực hiện thay đổi thông tin về nhóm người dùng ta dùng lệnh groupmod, với cú pháp như sau:
Cú pháp: groupmod [options] tên-group Một số tùy chọn của lệnh này:
-g GID-mới: thay mã nhận diện mới.
-n tên-mới-của-nhóm: thay tên nhóm thành tên mới.
Ví dụ: thay đổi nhóm sales thành nhóm marketing:
#groupmod -n marketing sales
h) Cho biết thông tin về người dùng
Lệnh sau cho phép xem thông tin về người dùng:
Cú pháp: id [options] tên-người-dùng Một số option của lệnh này:
-g: chỉ hiện thị số GID của nhóm chứa người dùng -u: chỉ hiển thị số UID của tài khoản người dùng.
-G: hiển thị tất cả các nhóm mà người dùng là thành viên.
i) Truy cập với quyền người dùng khác
Để tạm thời trở thành người dùng khác, tức là đăng nhập vào hệ thống với tài khoản người dùng khác mà không cần đăng xuất ra khỏi người dùnghiện hành, ta có thể sử dụng lênh su:
Cú pháp: su tên-người-dùng-cần-đăng-nhập
Nếu không có tên-người-dùng-cần-đăng-nhập thì ngầm định là chuyển sang người dùng root. Khi dùng lệnh su, hệ thống sẽ yêu cầu nhập password của tên- người-dùng-cần-đăng-nhập.
j) Lệnh who:
Lệnh who cho biết những người dùng nào đang có đăng nhập vào hệ thống.
2) Quản trị hệ thống:
a) Runlevel:
Runlevel được hiểu là các mức hoạt động của hệ thống.Ý tưởng của việc khởi động các dịch vụ khác nhau tại các mức hoạt động khác nhau nhằm giải quyết một thực tế rằng hệ thống có thể được sử dụng theo những cách thức khác nhau. Một số dịch vụ không thể sử dụng khi hệ thống đang ở một trạng thái hay chế độ nào đó. Ví dụ, khi sửa lỗi cho đĩa ta khởi động hệ thống ở mức một để không cho người dùng nào có thể đăng nhập trong quá trình ta sửa lỗi đĩa.
Red Hat Linux hỗ trợ 7 mức hoạt động như sau:
0 Ngừng thi hành hệ thống (shutdown) 1 Chế độ một người dùng
2 Không dùng (người dùng có thể định nghĩa) 3 Chế độ đa người dùng đầy dủ
4 Không dùng (người dùng có thể định nghĩa) 5 Chế độ đa người dùng trong môi trường giao
diện đồ họa
6 Khởi động lại máy
Thông thường Linux hoạt động ở runlevel 3 hoặc runlevel 5.
Để chuyển sang một runlevel mới ta dùng lệnh init Cú pháp: init runlevel-number
Ví dụ: muốn shutdown máy ta dùng lệnh: #init 0 b) Tiến trình (process):
Mỗi tiến trình trong Linux có các thuộc tính sau:
PID
Mã số nhận diện tiến trình. Đây là con số mà nhân hệ điều hành sử dụng để nhận diện tiến trình.
PPID Mã số nhận diện tiến trình cha, là tiến trình phát sinh ra tiến trình hiện hành.
UID và GID Mã nhận diện người dùng, nhóm người dùng đã tạo ra tiến trình.
Độ ưu tiên của tiến trình
Độ ưu tiên có giá trị từ -20 (độ ưu tiên cao nhất) cho đến +19 (độ ưu tiên thấp nhất)
Sử dụng lệnh ps –aux sau đây sẽ cho ta biết thông tin về các tiến trình đang chạy trong hệ thống. Các thông tin này bao gồm:
− Danh sách các tiến trình đang chạy.
− Chủ nhân (owner) của tiến trình.
− Mã số nhận dạng tiến trình PID.
− Thời gian sử dụng CPU (%CPU) của tiến trình.
− Mức độ chiếm dụng bộ nhớ của tiến trình (%MEM).
− Trạng thái tiến trình (STAT).
− Tên lệnh của bản thân tiến trình và các thông tin khác.
Nếu muốn biết thêm thông tin về tiến trình cha của tiến trình hiện hành thì dùng thêm tùy chọn –f.
Muốn kết thúc một tiến trình đang chạy ta sử dụng lệnh kill Cú pháp: kill [signal] PID-của-tiến-trình-cần-kết-thúc Các signal thường dùng của lệnh kill bao gồm:
Signal Giá trị Tác động
SIGHUP 1 Hangup-gọi lại tiến trình SIGINT 2 Ngắt từ bàn phím (Ctrl-C) SIGKILL 9 Diệt tiến trình
SIGTERM 15 Kết thúc tiến trình SIGTOP 17,19,23 Dừng tiến trình Ví dụ: diệt tiến trình có PID là 100
#kill 9 100
c) Một vài lệnh về mạng máy tính:
Đặt tên máy:
Lệnh hostname dùng để xem và đặt lại tên máy:
Ví dụ: xem tên máy: #hostname <gõ Enter>
Ví dụ: #hostname MailServer (máy được đổi thành tên mới là MailServer) Lệnh ifconfig:
Lệnh ifconfig là một 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. Có 2 chế độ hoạt động của chương trình ifconfig: chế độ thông báo, chế độ cấu hình.
Chế độ thông báo: chế độ này 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 trong hệ thống.
Cú pháp: ifconfig [interface]
interface là tên của card mạng. Khi không có đối số interface thì lệnh này sẽ hiển thị thông tin về tất cả các giao tiếp mạng được cấu hình trong hệ thống.
Ví dụ: để xem thông tin về card mạng đầu tiên ta dùng lệnh sau:
#ifconfig eth0
Chế độ cấu hình: cho phép ta thay đổi cấu hình các giao tiếp mạng
Ví dụ: lệnh sau đây cho phép ta gán địa chỉ IP và mặt nạ cho giao tiếp mạng thứ hai và kích hoạt ngay giao tiếp mạng với địa chỉ IP mới này:
#ifconfig eth1 192.168.200.1 netmask 255.255.255.0 up Ví dụ: để tắt giao tiếp mạng thứ nhất ta dùng lệnh:
#ifconfig eth0 down
Chú ý: Việc thay đổi địa chỉ IP bằng lệnh ifconfig chỉ có tính tạm thời.Vì khi thay đổi địa chỉ IP cho card mạng bằng lệnh ifconfig rồi nếu ta 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 theo các thông
số được khai báo trong tập tin cấu hình của giao tiếp mạng (trong thư mục /etc/sysconfig/network-scripts/) chứ không phải theo địa chỉ IP của lệnh ifconfig.
Dùng script để cấu hình giao tiếp mạng:
Mỗi giao tiếp mạng trong hệ thống đều có một script tương ứng được đặt trong thư mục /etc/sysconfig/network-scripts. Các script được đặt tên theo dạng ifcfg-têngiaotiếp. Ví dụ script của card mạng thứ nhất là ifcfg-eth0
Ví dụ: gán địa IP mới cho card mạng thứ nhất bằng cách sửa script của nó như sau:
#cat > /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0
IPADDR=192.168.33.113 NETMASK=255.255.255.0 (gõ xong nhấn Ctrl-D)
Sau khi có sự những thay đổi về cấu hình giao tiếp mạng trong script, ta cần thông báo cho nhân hệ điều hành biết những thay đổi này bằng cách cho thi hành script sau:
#/etc/rc.d/init.d/network restart
(restart: khởi động lại, start: khởi động mới, stop: ngừng thi hành) Tạo nhiều địa chỉ IP trên cùng một card mạng (NIC):
Trong Linux cho phép ta gán nhiều địa chỉ cho cùng một card mạng, các địa chỉ như vậy được gọi là một alias (tên hiệu). Các alias được xem như là một giao tiếp mạng độc lập. Ví dụ: tạo một alias thứ nhất cho card mạng thứ hai như sau:
#cat > /etc/sysconfig/network-scripts/ifcfg-eth1:0 DEVICE=eth1
IPADDR=192.168.33.203 NETMASK=255.255.255.0 (gõ xong nhấn Ctrl-D) sau đó khởi động lạidịch vụ mạng:
#/etc/rc.d/init.d/network restart
Tương tự, tạo giao tiếp thứ hai cho card mạng thứ hai:
#cat > /etc/sysconfig/network-scripts/ifcfg-eth1:1 Lệnh ping:
Dùng để kiểm tra kết nối đến một máy khác có địa chỉ IP được chỉ ra trong lệnh. Ví dụ: ping 192.168.33.113
d) Cài đặt phần mềm bằng rpm
RPM-RedHat Package Manager là một chương trình quản lý các gói phần mềm của Linux.
Quy ước đặt tên các gói phần mềm trong Linux như sau:
name-version-release.architecture.rpm trong đó:
name: tên phần mềm.
version: phiên bản phần mềm.
release: số lần đóng gói phiên bản này.
architecture: kiểu phần cứng máy mà phần mềm này hỗ trợ.
Ví dụ: phần mềm Midnight Commander: mc-4.5.55-12.i586.rpm