1. CHƯƠNG 3: QUẢN LÝ TÀI KHOẢN ADMINISTRATOR
Nội dung:
v Quản lý người dùng (user) trong Linux.
v Quản lý nhóm (group) trong Linux
v Thiết lập quyền hạn của người dùng lên file, chuyển đổi chủ sở hữu, nhóm sở hữu,…
v Quản lý người dùng và nhóm (user, group) bằng giao diện đồ họa.
v Làm quen với cơ chế tổ chức filesystem, các tập lệnh liên quan, quyền hạn truy cập file, quản lý filesystem.
v Làm quen với trình tiện ích quản lý phân vùng đĩa, sử dụng các thiết bị lưu trữ
TÓM TẮT
- Phần 3.1: Giới thiệu cách thức quản lý tài khoản người dùng trên Linux như: xem thông tin tài khoản người dùng, các thao tác quản trị người dùng và cách thiết lập quyền cho tài khoản người dùng.
- Phần 3.2: Giới thiệu và quản trị hệ thống Linux ở chế độ dòng lệnh với các thao tác lệnh cơ bản và cách thức quản trị các Run Level
- Phần 3.3: Giới thiệu và quản trị filesystem như mô tả chức năng và cấu trúc filesystem, các thao tác cơ bản trên filesystem, các thao tác trên thư mục và tập tin
- Phần 3.4: Quản trị đóng tắt hệ thống với các thao tác: các bước khởi động hệ thống, phục hồi mật khẩu cho tài khoản quản trị.
- Phần 3.5: Quản trị dịch vụ System Services như dịch vụ Xinetd, dịch vụ Telnet và bảo mật Telnet, dịch vụ SSH.
1.1. QUẢN LÝ NGƯỜI DÙNG
Trong hệ thống Linux, tài khoản này có tên là root. Đây là tài khoản có quyền cao nhất được sử dụng bởi người quản trị, giám sát hệ thống. Tuy nhiên chúng ta chỉ sử dụng tài khoản này vào các mục đích cấu hình, bảo trì hệ thống chứ không nên sử dụng vào mục đích hằng ngày.Cần tạo các tài khoản (account) cho người sử dụng thường nhất có thể được (đầu tiên là cho bản thân ). Với những server quan trọng và có nhiều dịch vụ khác nhau,có thể tạo ra các superuser thích hợp cho từng dịch vụ để tránh dùng root cho các việc này. Ví dụ như superuser cho công tác backup chỉ cần chức năng đọc (read-only) mà không cần chức năng ghi.
Trong Linux, chúng ta có thể tạo tài khoản có tên khác nhưng có quyền của root, bằng cách tạo user có UserID bằng 0. Cần phân biệtđang login như root hay người sử dụng thường thông qua dấu nhắc của shell.
login: cntt
Password:******
Last login: Wed Mar 13 19:00:42 2002 from 172.29.8.3
[tdnhon@NetGroup tdnhon]$ su -
Password: ****
Dòng thứ tư với dấu $ cho thấyđang kết nối như một người sử dụng thường (cntt). Dòng cuối cùng với dấu # cho thấyđang thực hiện các lệnh với root.
1.1.1. THÔNG TIN VỀ NGƯỜI DÙNG
Mỗi tài khoản người dùng phải có một tên sử dụng (username) và mật khẩu (password) riêng. Tập tin /etc/passwd là tập tin chứa các thông tin về tài khoản người dùng của hệ thống.
Tên người dùng là chuỗi ký tự xác định duy nhất một người dùng. Người dùng sử dụng tên này khi đăng nhập cũng như truy xuất tài nguyên. Trong Linux tên người dùng có sự phân biệt giữa chữ hoa và thường. Thông thường, tên người dùng thường sử dụng chữ thường. Để dễ dàng trong việc quản lý người dùng, ngoài tên người dùng Linux còn sử dụng khái niệm định danh người dùng (user _ID). Mỗi người dùng có một con số định danh riêng.
Linux sử dụng số định danh để kiểm soát hoạt động của người dùng. Theo qui định chung, những người dùng có định danh là 0 là người dùng quản trị (root). Các số định danh từ 1- 99 sử dụng cho các tài khoản hệ thống, định danh của người dùng bình thường sử dụng giá trị bắt đầu từ 100
Tập tin /etc/passwd
Tập tin /etc/passwd đóng vai trò sống còn đối với một hệ thống Unix, Linux. Nó là cơ sở dữ liệu các tài khoản người dùng trên Linux và được lưu dưới dạng tập tin văn bản. Chúng ta thử xem qua nội dung của tập tin passwd:#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
ftp:x:14:50:FTP User:/var/ftp:
nobody:x:99:99:Nobody:/:
nscd:x:28:28:NSCD Daemon:/:/bin/false
mailnull:x:47:47::/var/spool/mqueue:/dev/null
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/bin/false
xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false
nthung:x:525:526:nguyen tien hung:/home/nthung:/bin/bash
natan:x:526:527::/home/natan:/bin/bash
Mỗi tài khoản được lưu trong một dòng gồm 7 cột:
- Cột 1: Tên người sử dụng.
- Cột 2: Mã liên quan đến mật khẩu của tài khoản và “x” đối với Linux. Linux lưu mã này trong một tập tinkhác /etc/shadow mà chỉ có root mới có quyền đọc.
- Cột 3:4: Mã định danh tài khoản (user ID) và mã định danh nhóm (group ID).
- Cột 5: Tên đầy đủ của người sử dụng. Một số phần mềm phá password sử dụng dữ liệu của cột này đểthử đoán password.
- Cột 6: thư mục cá nhân (Home Directory)
- Cột 7: Chương trình sẽ chạy đầu tiên sau khi người dùng đăng nhập vào hệ thống.
Tập tin /etc/shadow
- Là nơi lưu trữ mật khẩu đã được mã hóa
- Cấu trúc tập tin /etc/shadow như sau:#cat /etc/shadow
· Tên tài khoản
· Mật khẩu đã mã hóa:
o Bắt đầu bằng * biểu thị tài khoản đã bị vô hiệu hóa (disable)
o Bắt đầu bằng !!, tài khoản tạm thời bị khóa (locked)
· Ngày đổi mật khẩu (tính từ 1/1/1970)
· Ngày có thể đổi mật khẩu (0 = bất kỳ lúc nào)
· Ngày phải đổi mật khẩu
· Ngày báo mật khẩu sắp hết hạn
· Số ngày sẽ vô hiệu hóa tài khoản nếu không đổi mật khẩu đúng hạn
· Ngày sẽ tự động vô hiệu hóa tài khoản
· Dự trữ để sử dụng sau này
1.1.2. CÁC THAO TÁC QUẢN TRỊ NGƯỜI DÙNG
Tạo tài khoản người dùng
a) Lệnh trợ giúp man
- Cú pháp lệnh: #man <lệnh>
- Ví dụ:#man useradd
USERADD(8) System Management Commands USERADD(8)
NAME
useradd - create a new user or update default new user
information
SYNOPSIS
useradd [options] LOGIN
useradd -D
useradd -D [options]
DESCRIPTION
When invoked without the -D option, the useradd command creates
a new user account using the values specified on the command
line plus the default values from the system. Depending on
command line options, the useradd command will update system
files and may also create the new user´s home directory and copy
initial files.
By default, a group will also be created for the new user (see
-g, -N, -U, and USERGROUPS_ENAB).
OPTIONS
:
b) Tạo tài khoản người dùng
- Cú pháp:#useradd [-c lời_mô_tả_về_người_dùng] [-d thư_mục_cá_nhân] [-m] [-g nhóm_của_người_dùng] [tên_tài_khoản]
Trong đó: Tham số –m được sử dụng để tạo thư mục cá nhân nếu nó chưa tồn tại; và chỉ có root được phép sử dụng lệnh này
- Kiểm tra hocvien trong /etc/passwd:
[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
……………………………………………………………………………………..
named:x:25:25:Named:/var/named:/sbin/nologin
hocvien:x:501:501::/home/hocvien:/bin/bash
- Kiểm tra hocvien trong /etc/shadow
[root@localhost ~]# vi /etc/shadow
root:$6$TJbnN.B1u2MnUkxE$axmsOdkqonFy.CbiJ6SsDwqXMp74J3oJ2/RGJ.eM/G3ww23ACJJ67.LwYVBN6lFw6KF8x5rQ5J92NZJ1ZZUok0:15320:0:99999:7:::
……………………………………………………………………………
named:!!:15325::::::
hocvien:!!:15326:0:99999:7:::
Tài khoản hocvien dang bi tạm khóa do chua đặt mật khẩu.
- Kiểm tra hocvien trong /etc/group
[root@localhost ~]# vi /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
……………………………………
gdm:x:42:
lhu:x:500:
named:x:25:
hocvien:x:501:
Đặt mật khẩu người dùng
- Cú pháp: #passwd <username>
- Ví dụ 3.1.2# passwd hocvien
[root@localhost ~]# passwd hocvien
Changing password for user hocvien.
New password:
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
Vì vấn đề an ninh cho máy Linux và sự an toàn của toàn hệ thống mạng, việc chọn đúng password là rất quan trọng. Một password gọi là tốt nếu:
Có độ dài tối thiểu 6 ký tự.
Phối hợp giữa chữ thường, chữ hoa, số và các ký tự đặc biệt.
Không liên quan đến tên tuổi, ngày sinh … của bạn và người thân.
- Kiểm tra hocvien trong /etc/showdow
[root@localhost ~]# vi /etc/shadow
root:$6$TJbnN.B1u2MnUkxE$axmsOdkqonFy.CbiJ6SsDwqXMp74J3oJ2/RGJ.eM/G3ww23ACJJ67.LwYVBN6lFw6KF8x5rQ5J92NZJ1ZZUok0:15320:0:99999:7:::
bin:*:14924:0:99999:7:::
……………………………………………………………..
named:!!:15325::::::
hocvien:$6$NQq/CPOt$yg6Y5E1ly3ES/ZfgImmG6vZNwVb6ZUbgbN/sVh8M2wviDh8aVJUTV0WB80OB/phCEuMIqFJFBJYVf.qbwriaL1:15326:0:99999:7:::
Tài khoản hocvien đã được active và mật khẩu đã được mã hóa.
- Ví dụ 3.1.3: tạo user sv có home directory là /tmp/sv và có dòng mô tả “day la tai khoan dung de test”:
- Tạo tài khoản sinhvien: #useradd –c “day la tai khoan dung de test” –d /tmp/sv sv
- Kiểm tra user sv vừa tạo:
[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
……………………………………………………………………
named:x:25:25:Named:/var/named:/sbin/nologin
hocvien:x:501:501::/home/hocvien:/bin/bash
sv:x:502:502:day la tai khoan dung de test:/tmp/sv:/bin/bash
- Ví dụ 3.1.4: Tạo tài khoản hv1 có home directory là /tmp/hv1 và thuộc nhóm hocvien:
- Tạo tài khoản hv1:#useradd –d /tmp/hv1 –g hocvien hv1
- Kiểm tra hv1 trong /etc/passwd
[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
…………………………………………………………………..
hocvien:x:501:501::/home/hocvien:/bin/bash
sv:x:502:502:day la tai khoan dung de test:/tmp/sv:/bin/bash
test:x:503:503:day la tai khoan dung de test:/tmp/test:/bin/bash
hv1:x:504:501::/tmp/hv1:/bin/bash
[root@localhost ~]# vi /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
……………………………………………….
hocvien:x:501:
sv:x:502:
test:x:503:
Thay đổi mật khẩu tài khoản người dùng
c) Thay đổi mật khẩu tài khoản root
[root@localhost ~]# passwd root
Changing password for user root.
New password:
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
- Làm tương tự cho việc thay đổi mật khẩu các tài khoản khác như hocvien, hv1.
Thay đổi thông tin của tài khoản
- Xem cú pháp lệnh usermod
[root@localhost ~]# man usermod
USERMOD(8) System Management Commands USERMOD(8)
NAME
usermod - modify a user account
SYNOPSIS
usermod [options] LOGIN
DESCRIPTION
The usermod command modifies the system account files to reflect
the changes that are specified on the command line.
OPTIONS
The options which apply to the usermod command are:
-a, --append
Add the user to the supplementary group(s). Use only with
the -G option.
-c, --comment COMMENT
The new value of the user´s password file comment field. It
is normally modified using the chfn(1) utility.
-d, --home HOME_DIR
The user´s new login directory.
- Cú pháp:#usermod [-c mô_tả_thông_tin_người_dùng] [-d thư_mục_cá_nhân] [-m] [-g nhóm_của_người_dùng] [tên_tài_khoản
o #usermod –g admin nvb
- Thay đổi home directory của hv1 là /home/hv1: #usermod –d /home/hv1 hv1
- Kiểm tra hv1 trong /etc/passwd
[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
………………………………………………………………………………….
test:x:503:503:day la tai khoan dung de test:/tmp/test:/bin/bash
hv1:x:504:501::/home/hv1/:/bin/bash
[root@localhost ~]# usermod -g nhanvien hv1
[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
……………………………………………………………………………………….
test:x:503:503:day la tai khoan dung de test:/tmp/test:/bin/bash
hv1:x:504:504::/home/hv1/:/bin/bash
Tạm khóa tài khoản người dùng
- Khoá hv1: passwd -l hv1 (hay dùng lệnh usermod -L hv1)
[root@localhost ~]# passwd -l hv1
Locking password for user hv1.
passwd: Success
[root@localhost ~]#
- Kiểm tra hv1 trong /etc/shadow
[root@localhost ~]# vi /etc/shadow
root:$6$TJbnN.B1u2MnUkxE$axmsOdkqonFy.CbiJ6SsDwqXMp74J3oJ2/RGJ.eM/G3ww23ACJJ67.LwYVBN6lFw6KF8x5rQ5J92NZJ1ZZUok0:15320:0:99999:7:::
bin:*:14924:0:99999:7:::
………………………………………………………………….
test:!!:15326:0:99999:7:::
hv1:!!:15326:0:99999:7:::
- Mở khóa hv1: pass -u hv1 (hay dùng lệnh usermod -U hv1)
[root@localhost ~]# passwd -u hv1
Unlocking password for user hv1.
passwd: Success
[root@localhost ~]#
- Kiểm tra hv1 trong /etc/shadow
[root@localhost ~]# vi /etc/shadow
root:$6$TJbnN.B1u2MnUkxE$axmsOdkqonFy.CbiJ6SsDwqXMp74J3oJ2/RGJ.eM/G3ww23ACJJ67.LwYVBN6lFw6KF8x5rQ5J92NZJ1ZZUok0:15320:0:99999:7:::
bin:*:14924:0:99999:7:::
…………………………………………………………………
test:!!:15326:0:99999:7:::
hv1::15326:0:99999:7:::
Hủy tài khoản
- Cú pháp:#userdel <option> [username]
#userdel –r hocvien
1.1.3. QUẢN LÝ NHÓM NGƯỜI DÙNG
Thiết lập những người dùng có chung một số đặc điểm nào đó hay có chung quyền hạn trên tài nguyên vào chung một nhóm. Mỗi nhóm có một tên riêng và một định danh nhóm, một nhóm có thể có nhiều người dùng và người dùng có thể là thành viên của nhiều nhóm khác nhau. Tuy nhiên tại một thời điểm, một người dùng chỉ có thể là thành viên của một nhóm duy nhất.Thông tin về nhóm lưu tại tập tin /etc/group. Mỗi dòng định nghĩa một nhóm, các trường trên dòng cách nhau bằng dấu hai chấm “:”. Nội dung của một dòng theo cú pháp sau:<tên-nhóm>:<password-của-nhóm>:<định-danh-nhóm>:<các-user-thuộc-nhóm>
Tạo nhóm người dùng
- Cú pháp của lệnh:#groupadd [tên-nhóm]
- Xem cú pháp lệnh:#man groupadd
[root@localhost ~]# man groupadd
GROUPADD(8) System Management Commands GROUPADD(8)
NAME
groupadd - create a new group
SYNOPSIS
groupadd [options] group
DESCRIPTION
The groupadd command creates a new group account using the
values specified on the command line plus the default values
from the system. The new group will be entered into the system
files as needed.
OPTIONS
The options which apply to the groupadd command are:
-f, --force
This option causes the command to simply exit with success
status if the specified group already exists. When used with
-g, and the specified GID already exists, another (unique)
GID is chosen (i.e. -g is turned off).
-g, --gid GID
The numerical value of the group´s ID. This value must be
:
- Ví dụ 3.1.7: Tạo nhóm có tên sinhvien:
#[root@localhost~]# groupadd sinhvien
- Kiểm tra nhóm sinhvien trong /etc/group
[root@localhost ~]# vi /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
……………………………………………..
sinhvien:x:505:
Thay đổi thông tin nhóm
- Cú pháp:usermod –g [tên-nhóm tên-tài-khoản]
- Xem cú pháp lệnh: man groupmod
[root@localhost ~]# man groupmod
GROUPMOD(8) System Management Commands GROUPMOD(8)
NAME
groupmod - modify a group definition on the system
SYNOPSIS
groupmod [options] GROUP
DESCRIPTION
The groupmod command modifies the definition of the specified
GROUP by modifying the appropriate entry in the group database.
OPTIONS
The options which apply to the groupmod command are:
-g, --gid GID
The group ID of the given GROUP will be changed to GID.
The value of GID must be a non-negative decimal integer.
This value must be unique, unless the -o option is used.
Values between 0 and 999 are typically reserved for system
groups.
Any files that have the old group ID and must continue to
belong to GROUP, must have their group ID changed manually.
:
- Thay đổi tên nhóm sinhvien thanh nhóm nhom1
[root@localhost ~]# groupmod -n nhom1 sinhvien
- Kiểm tra nhom1 trong /etc/group
[root@localhost ~]# vi /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
………………………….
nhom1:x:505:
- Đổi ID của nhóm nhom1 thành 600
[root@localhost ~]# groupmod -g 600 nhom1
- Kiểm tra nhóm nhom1 trong /etc/group
[root@localhost ~]# vi /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
………………………….
nhom1:x:600:
Thêm người dùng vào nhóm
- Cú pháp: #usermod -g <users> <nhóm>
- Ví dụ 3.1.8: #usermod -g sinhvien nhom1
Hủy nhóm
- Cú pháp:#groupdel [ tên-nhóm]
- Ví dụ 3.1.9 #groupdel sinhvien
1.1.4. CÁC THAO TÁC LOGIN VÀ LOGOUT
- Từ root đăng nhập vào hv1: #su – hv1
- Từ hv1 đăng nhập vào hocvien: $su – hocvien
- Thoát khỏi hocvien:$exit
- Thoát khỏi hv1:$exit
- Thoát khỏi root:#exit
[root@localhost ~]# su - hv1
[hv1@localhost ~]$ su - hocvien
Password:
[hocvien@localhost ~]$ exit
logout
[hv@localhost ~]$ exit
logout
[root@localhost ~]# su - hocvien
[hocvien@localhost ~]$ exit
logout
[root@localhost ~]# exit
1.2. GIAO DIỆN DÒNG LỆNH
1.2.1. ĐĂNG NHẬP VỚI GIAO DIỆN DÒNG LỆNH
Giao diện dòng lệnh (text) chủ yếu để cung cấp cho người dùng quản trị. Điểm mạnh của hệ thống Linux là ở đặc điểm này, ở giao diện text cho phép người quản trị có toàn quyền quản trị hệ thống, thực hiện bất kỳ tác vụ nào, giao diện text cung cấp nhiều thuận lợi cho người quản trị, giúp quản trị hệ thống hiệu quả hơn, nhanh hơn, và an toàn hơn.
Nhập username và mật khẩu để đăng nhập giao diện Text.
Có hai chế độ dấu nhắc lệnh:
- Dấu nhắc $ dùng cho người dùng thông thường
- Dấu nhắc # dùng cho người dùng quản trị (root)
- Cách sử dụng lệnh trên giao diện Text theo cấu trúc:<command prompt> command <option><parameter>
Trong đó:
- Command prompt là dấu nhắc lệnh
- Command là tên lệnh
- Option là các tùy chọn của lệnh
- Parameter là tham số dòng lệnh
Ví dụ 3.2.1[root@localhost ~]# ls -a -l /etc
[root@localhost ~]# ls -a -l /etc
total 4008
drwxr-xr-x 105 root root 12288 Dec 10 08:29 .
drwxr-xr-x 23 root root 4096 Dec 10 07:22 ..
-rw-r--r-- 1 root root 15288 May 25 2008 a2ps.cfg
-rw-r--r-- 1 root root 2562 May 25 2008 a2ps-site.cfg
drwxr-xr-x 4 root root 4096 Oct 15 02:02 acpi
-rw-r--r-- 1 root root 45 Dec 7 03:13 adjtime
drwxr-xr-x 4 root root 4096 Oct 15 01:59 alchemist
-rw-r--r-- 1 root root 1512 Apr 25 2005 aliases
-rw-r----- 1 root smmsp 12288 Dec 10 07:22 aliases.db
…………………………………………………………………………………
1.2.2. CÁC LỆNH CƠ BẢN
Xem danh sách các xử lý của hệ thống
[root@localhost ~]# top
top - 19:55:56 up 8 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 103 total, 1 running, 102 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 511572k total, 188724k used, 322848k free, 19364k buffers
Swap: 1048568k total, 0k used, 1048568k free, 85216k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2088 root 20 0 11144 3160 2544 S 0.3 0.6 0:00.10 sshd
2122 root 20 0 2632 1108 880 R 0.3 0.2 0:00.06 top
1 root 20 0 2828 1376 1184 S 0.0 0.3 0:01.77 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
Xem danh sách các xử lý của hệ thống, thực hiện ở chế độ background:
[root@localhost ~]# top &
[1] 2124
Điều khiển job
a) Liệt kê những jobs đang chạy
[root@localhost ~]# jobs
[1]+ Stopped top
b) Chuyển một job đang chạy từ chế độ foreground sang chế độ background
[root@localhost ~]# bg 1
[1]+ top &
[1]+ Stopped top
c) Chuyển một job đang chạy từ chế độ background sang chế độ foreground
[root@localhost ~]# fg 1
top
top - 19:58:01 up 10 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 103 total, 1 running, 102 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 511572k total, 188840k used, 322732k free, 19412k buffers
Swap: 1048568k total, 0k used, 1048568k free, 85216k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 2828 1376 1184 S 0.0 0.3 0:01.77 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuset
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
Lệnh về biến môi trường
a) Xem danh sách các biến môi trường: end (hay printenv)
[root@localhost ~]# env
HOSTNAME=localhost.localdomain
SELINUX_ROLE_REQUESTED=
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=172.16.29.165 49423 22
SELINUX_USE_CURRENT_RANGE=
QTDIR=/usr/lib/qt-3.3
QTINC=/usr/lib/qt-3.3/include
SSH_TTY=/dev/pts/0
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30; c=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/root
PATH=/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=en_US.UTF-8
SELINUX_LEVEL_REQUESTED=
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
QTLIB=/usr/lib/qt-3.3/lib
CVS_RSH=ssh
SSH_CONNECTION=172.16.29.165 49423 172.16.29.151 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env
b) Cài đặt biến môi trường rpm=”Redhat Package Manager”:
[root@localhost~]#export rpm=” Redhat Package Manager”
c) Kiểm tra biến môi trường vừa đặt
[root@localhost ~]# env
HOSTNAME=localhost.localdomain
SELINUX_ROLE_REQUESTED=
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=172.16.29.165 49423 22
SELINUX_USE_CURRENT_RANGE=
QTDIR=/usr/lib/qt-3.3
QTINC=/usr/lib/qt-3.3/include
SSH_TTY=/dev/pts/0
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30; c=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/root
PATH=/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
rpm= Redhat Package Manager
d) Gỡ bỏ biến môi trường rpm:
[root@localhost ~]#unset rpm
e) Một số lệnh thường dùng khác trong Linux
Tên lệnh
|
Cú pháp
|
Ý nghĩa
|
Date
|
$date
|
Hiển thị ngày hệ thống
|
who
|
#who
|
Hiển thị danh sách các tài khoản đang đặp nhập vào hệ thống
|
tty
|
#tty
|
Xác đinh tập tin tty mà mình đang login vào
|
cal
|
$cal
|
Xem lịch hệ thống
|
head
|
$head <filename>
|
Xem nội dung tập tin đầu tập tin
|
tail
|
$tail <filename>
|
Xem nội dung cuối tập tin
|
hostname
|
$hostname
|
Xem và đổi tên máy
|
passwd
|
$passwd <username>
|
Đổi mật khẩu của user
|
ls
|
ls <filename>
|
Liệt kê thuộc tính của file và thư mục
|
cd
|
cd <directory>
|
Di chuyển thư mục
|
man
|
$man <lệnh>
|
Trợ giúp
|
1.2.3. CÁC RUN LEVEL
Sau khi khởi động, hệ thống tự động nạp chương trình /sbin/init để kiểm tra hệ thống tập tin. Sau đó đọc file /etc/inittab để xác định mức hoạt động (runlevel). Các Linux runlevel nhu sau:
Runlevel
|
Thư mục lưu script
|
Mô tả module hoạt động
|
0
|
/etc/rc.d/rc0.d
|
Chế độ tắt hệ thống
|
1
|
/etc/rc.d/rc1.d
|
Chế độ đơn người dùng, cho phép hiệu quả chỉnh sự cố hệ thống
|
2
|
/etc/rc.d/rc2.d
|
Chế độ text cho đa người dùng không hỗ trợ NFS
|
3
|
/etc/rc.d/rc3.d
|
Chế độ text cho đa người dùng, hỗ trợ đầy đủ
|
4
|
/etc/rc.d/rc4.d
|
Không sử dụng
|
5
|
/etc/rc.d/rc5.d
|
Sử dụng cho nhiều người dùng, cung cấp giao diện đồ họa
|
6
|
/etc/rc.d/rc6.d
|
Reboot hệ thống
|
Để thay đổi mức run level bằng cách cấu hình tập tin /etc/inittab, thay đổi thông số runlevel một trong các giá trị từ 0 đến 6 như trong bản trên hoặc dùng lệnh $init<runlevel>
1.3. HỆ THỐNG TẬP TIN
Linux hỗ trợ rất nhiều loại hệ thống tập tin như: ext2, ext3, MS-DOS, proc. Hệ thống tập tin cơ bản của Linux là ext2 và ext3 (hiện tại là ext4).Bên cạnh đó, Linux còn hỗ trợ vfat cho phép đặt tên tập tin dài đối với những tập tin MS-DOS và những partition FAT32. Proc là một hệ thống tập tin ảo (/proc) nghĩa là không dành dung lượng đĩa phân phối cho nó. Ngoài ra còn có những hệ thống tập tin khác như iso9660, UMSDOS, Network File System (NFS).
1.3.1. CẤU TRÚC THƯ MỤC HỆ THỐNG
Khái niệm tập tin trong Linux được chia làm 3 loại chính:
- Tập tin chứa dữ liệu bình thường.
- Tập tin thư mục.
- Tập tin thiết bị.
Ngoài ra Linux còn dùng các Link và Pipe như là các tập tin đặc biệt. Xem cấu trúc tập tin hệ thống:
[root@localhost ~]# ls -l /
total 98
dr-xr-xr-x. 2 root root 4096 Dec 12 18:40 bin
dr-xr-xr-x. 5 root root 1024 Dec 11 19:54 boot
drwxr-xr-x. 2 root root 4096 Nov 11 2010 cgroup
drwxr-xr-x. 18 root root 3680 Dec 18 19:47 dev
drwxr-xr-x. 115 root root 12288 Dec 18 19:47 etc
drwxr-xr-x. 8 root root 4096 Dec 13 15:09 home
dr-xr-xr-x. 18 root root 12288 Dec 18 14:18 lib
drwx------. 2 root root 16384 Dec 11 19:37 lost+found
drwxr-xr-x. 3 root root 4096 Dec 13 15:19 media
drwxr-xr-x. 2 root root 0 Dec 18 19:47 misc
drwxr-xr-x. 2 root root 4096 Nov 11 2010 mnt
drwxr-xr-x. 2 root root 0 Dec 18 19:47 net
drwxr-xr-x. 2 root root 4096 Nov 11 2010 opt
dr-xr-xr-x. 116 root root 0 Dec 18 19:47 proc
dr-xr-x---. 5 root root 4096 Dec 13 17:11 root
dr-xr-xr-x. 2 root root 12288 Dec 13 15:24 sbin
drwxr-xr-x. 7 root root 0 Dec 18 19:47 selinux
drwxr-xr-x. 2 root root 4096 Nov 11 2010 srv
drwxr-xr-x. 13 root root 0 Dec 18 19:47 sys
drwxrwxrwt. 8 root root 4096 Dec 18 19:47 tmp
drwxr-xr-x. 12 root root 4096 Dec 11 19:38 usr
drwxr-xr-x. 23 root root 4096 Dec 11 19:53 var
Đối với Linux, không có khái niệm các ổ đĩa. Toàn bộ các thư mục và tập tin được mount và tạo thành một hệ thống tập tin thống nhất, bắt đầu từ gốc ‘/’.
Cấu trúc logic của hệ thống file được tạo từ việc ánh xạ các cấu trúc vật lý được tạo ra khi ta cài đặt hệ thống, các thư mục nào không được tạo ra trong quá tình cài đặt thì hệ thống sẽ tự động tạo ra. Các thư mục cơ bản của Linux gồm:
Thư mục
|
Chức năng
|
/bin, /sbin
|
Chứa các tập tin nhị phân hỗ trợ cho việc boot và thực thi các lệnh cần thiết
|
/boot
|
Chứa linux kernel, file ảnh hỗ trợ load hệ điều hành
|
/lib
|
Chứa các thư viện chia sẻ cho các tập tin nhị phân trong thư mục /bin và /sbin, chứa kernel module
|
/usr/local
|
Chứa các thư viện, các phần mềm để chia sẽ cho các máy khác trong mạng
|
/tmp
|
Chứa các file tạm
|
/dev
|
Chứa các tập tin thiết bị ( như CDROM, floppy, HDD), và một số file đặc biệt khác.
|
/etc
|
Chứa các tập tin cấu hình hệ thống
|
/home
|
Chứa các thư mục lưu trữ home directory của người dùng
|
/root
|
Lưu trữ home directory của root
|
/usr
|
Lưu trữ tập tin của các chương trình đã được cài đặt trong hệ thống
|
/var
|
Lưu trữ log file, hàng đợi của các chương trình ứng dụng, mailbox của người dùng.
|
/mnt
|
Chứa các mount point của các thiết bị được trong hệ thống
|
/proc
|
Còn gọi là system file, lưu trữ thông tin về kernel
|
1.3.2. CÁC THAO TÁC TRÊN FILESYSTEM
Mount và Umount Filesystem
Mount là hình thức gắn kết thiết bị vào một thư mục trong filesystem của Linux, còn gọi là mount point, sau khi mount hoàn tất việc sao chép dữ liệu giữa hệ thống và mount point, tương tự như sao chép dữ liệu giữa hệ thống và thiết bị. Ta có thể mount vào hệ thống các loại thiết bị sau: hda, sda, CDROM, đĩa mềm, usb.
Mount thủ công
- Cú pháp:#mount <tên thiết bị><điểm mount>
Trong đó
o Tên thiết bị: là thiết bị vật lý như: /dev/cdrom (CDROM), /dev/fd0 (đĩa mềm), đĩa cứng /dev/hda1, /dev/sda,…
o Điểm mount là vị trí thư mục, trong cây thư mục, mà bạn muốn mount vào.
o Tùy chọn của Mount:
-v
|
: cho biết chi tiết
|
-w
|
: mount hệ thống tập tin với quyền đọc và ghi
|
-r
|
:mount hệ thống tập tin với quyền đọc
|
-tloại –fs
|
: xác định hệ thống tập tin đang mount: ext2, ext3,…
|
-a
|
: mount tất cả hệ thống tập tin khai báo trong /etc/fstab.
|
-oremount <fs>
|
: chỉ định việc mount lại 1 filesystem nào đó
|
- Ví dụ 3.3.1: các loại mout thiết bị
o Gắn kết cdrom: #mount /dev/cdrom /mnt/cdrom
o Gắn kết một hệ thống tập tin: #mount /dev/hda6 /mnt/source
o Remount filesystem: #mount –o remount /home
Mount tự động
Tập tin /etc/fstab liệt kê các hệ thống cần được mount tự động. Mỗi dòng một hệ thống tập tin tương ứng với một gắn kết. Các cột trong mỗi dòng phân cách nhau bằng khoảng trắng hoặc khoảng tab.
LABEL=/ / ext3 defaults 1 1
LABEL=/var /var ext3 defaults 1 2
LABEL=/home /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda5 swap swap defaults 0 0
- Cột 1: chỉ ra thiết bị hoặc hệ thống tập tin cần mount
- Cột 2: xác định mount point cho hệ thống tập tin. Đối với các hệ thống tập tin đặc biệt như swap, chúng ta dùng chữ node, có tác dụng làm cho tập tin swap hoạt động như nhìn vào cây thư mục không thấy.
- Cột 3: chỉ ra loại filesystem như: vfat, ext2, ext3,…
- Cột 4: các tùy chọn phân cách nhau bởi dấu phẩy
- Cột 5: xác định thời gian để lệnh dump sao chép hệ thống tập tin. Nếu trường này trống, dump sẽ giả định rằng hệ thống tập tin này không cần backup
- Cột 6: khai báo lệnh fsck biết thứ tự kiểm tra các file hệ thống tập tin khi khởi động hệ thống. Hệ thống tập tin gốc (/) phải có giá trị 1. Tất cả hệ thống tập tin khác phải có giá trị 2. Nếu không khai báo, khi khởi động máy sẽ không kiểm tra tính thống nhất của tập tin.
Umount hệ thống tập tin
Sau khi làm quen với việc gắn những hệ thống tập tin vào cây thư mục Linux, chúng ta có thể loại bỏ một filesystem bằng lệnh umount.
- Cú pháp:#umount <device_name><mount_point>
Lệnh umount có các dạng:
- #umount <thiết bị><điểm mount>: loại bỏ cụ thể một filesystem
- #umount -a: loại bỏ tất cả các filesystem đang mount
#umount -a
1.3.3. CÁC THAO TÁC TRÊN THƯ MỤC
Đường dẫn tuyệt đối
Đường dẫn tuyệt đối là đường dẫn đầy đủ bắt đầu từ thư mục gốc (/) của thư mục. Đường dẫn tuyệt đối là đường dẫn bắt đầu từ thư mục gốc.
Đường dẫn tương đối
Trong một số trường hợp sử dụng các tập tin và thư mục là con của thư mục đang làm việc lúc đó ta sử dụng đường dẫn tương đối. Đường dẫn tương đối là bắt đầu từ thư mục hiện hành. Dấu “. ” Chỉ thư mục hiện hành và dấu “.. ” chỉ thư mục cha của thư mục hiện hành.
- Ví dụ 3.3.4: $cd.. :Quay về thư mục cha của thư mục hiện hành
Một số lệnh thao tác trên thư mục
a) Lệnh cd: Thay đổi thư mục hiện hành hay di chuyển thư mục
- Ví dụ 3.3.5 #cd /etc
b) Lệnh mkdir:Tạo thư mục mới
- Ví dụ 3.3.6 #mkdir /home/dulieu
c) Lệnh ls: Liệt kê nội dung trong thư mục.
- Cú pháp:$ls [tùy chọn] [thư mục]
$ls -x : hiển thị trên nhiều cột
$ls -l : hiển thị chi tiết các thông tin của tập tin
$ls -a :hiển thị tất cả các tập tin kể cả tập tin ẩn
- Ví dụ 3.3.7:$ls -l /etc
[root@localhost ~]# ls -l /etc
total 3980
-rw-r--r-- 1 root root 15288 May 25 2008 a2ps.cfg
-rw-r--r-- 1 root root 2562 May 25 2008 a2ps-site.cfg
drwxr-xr-x 4 root root 4096 Oct 15 02:02 acpi
-rw-r--r-- 1 root root 45 Dec 7 03:13 adjtime
drwxr-xr-x 4 root root 4096 Oct 15 01:59 alchemist
-rw-r--r-- 1 root root 1512 Apr 25 2005 aliases
....................................................
Ý nghĩa các cột từ trái sang phải:
- Cột 1: ký tự đầu tiên “-“ chỉ tập tin thường, d chỉ thư mục, l chỉ link và phía sau có dấu -> chỉ tới tập tin thật. Các ký tự còn lại chỉ truy xuất
- Cột thứ 2: chỉ số liên kết đến tập tin này.
- Cột thứ 3, 4: người sở hữu và nhóm sở hữu
- Cột thứ 5: kích thước của tập tin, thư mục
- Cột thứ 6: chỉ ngày giờ chỉnh sửa cuối cùng
- Cột thứ 7: tên tập tin, thư mục
d) Lệnh rmdir: Lệnh rmdir cho phép xóa thư mục rỗng
- Cú pháp:$rmdir [tùy chọn] [thư mục]
- Ví dụ 3.3.8:$rmdir /home/dulieu
- Ví dụ 3.3.9:$cd /home
1.3.4. GIỚI THIỆU TẬP TIN
Các kiểu tập tin
Trên Linux hỗ trợ các kiểu tập tin sau đây:
“-“Tập tin bình thường (file)
“d” Tập tin thư mục (directory)
“b” Thiết bị khối (block device)
“c” Thiết bị ký tự (character device)
“l”Liên kết (link)
“p”Ống (FIFO)
“s”Khe kết nối (socket)
“. ” Tập tin ẩn
Kiểu tập tin không phân biệt bằng phần mở rộng của tên tập tin. Ta có thể xem kiểu tập tin bằng lệnhls -l:
- Ví dụ 3.3.10$ls -l abc
-rw-r--r-- 1 root root 0 Jan 19 19:09 abc
Giải thích:
Ký tự đầu tiên giúp ta xác định kiểu tập tin
o Tập tin bình thường: ký tự “ –“
o Thư mục: ký tự “d”
o Thiết bị khối: ký tự “b”
o Thiết bị ký tự: ký tự “c”
o Liên kết: ký tự “l”
o Ống: ký tự “p”
o Khe kết nối: ký tự “ s”
o Tập tin ẩn “. ”
Các thao tác trên tập tin
a) Lệnh cat:
Dùng để hiển thị nội dung của tập tin dạng văn bản. Để xem tạp tin chúng ta ta chọn tên tập tin làm tham số.
- Cú pháp: $cat>filename hoặc $cat >>filename
Trong trường hợp này chúng ta sử dụng dấu “>” hay “>>” để theo sau. Nếu tập tin cần tạo đã tồn tại, dâu”>” sẽ xóa nội dung của tập tin và ghi nội dung mới vào. Đấu “>>” sẽ ghi nối tiếp nội dung mới vào nội dung cũ của tập tin.
- Ví dụ 3.3.11:$cat > thotinh. txt[ENTER]
>toi yeu em den nay chung co the
>toi yeu em am tham khong hy vong
[Ctrl + d: để kết thúc]
b) Lệnh more:
Lệnh more cho phép xem nội dng tập tin theo từng trang màn hình.
- Cú pháp: $more <tên tập tin>
- Ví dụ 3.3.12: $more /etc/inittab
c) Lệnh cp:
Lệnh cp cho phép sao chép tập tin
- Cú pháp: $cp <tên tập tin nguồn> <tên tập tin đích>
- Ví dụ 3.3.13:$cp /etc/passwd $HOME/passwd
d) Lệnh mv:
Lệnh mv di chuyển vị trí của tập tin, có thể sử dụng lệnh mv để đổi tên tập tin.
- Cú pháp:$mv <tên tập tin cũ> <tên tập tin mới>
- Ví dụ 3.3.14:$mv $HOME/passwd $HOME/matkhau
e) Lệnh rm:
Lệnh rm cho phép xóa tập tin, thư mục
- Cú pháp:$rm [tùy chọn] <tên tập tin|thư mục>
- Các tùy chọn hay dùng:
-r:xóa thư mục và tất cả các tập tin và thư mục con
-l:xác nhận lại trước khi xóa
f) Lệnh locate:
Sử dụng lệnh locate tìm kiếm đơn giản, thực thi nhanh. Ví dụ tìm các file có tên bắt đầu bằng chuỗi “test” và kết thúc bởi 1 số từ 0-9
[root@localhost ~]# locate test[0-9]
/usr/share/doc/m2crypto-0.16/demo/CipherSaber/cstest1.cs1
/usr/share/doc/pygtk2-2.10.1/examples/glade/test2.glade
/usr/share/tcl8.4/tcltest2.2
/usr/share/tcl8.4/tcltest2.2/constraints.tcl
/usr/share/tcl8.4/tcltest2.2/files.tcl
/usr/share/tcl8.4/tcltest2.2/pkgIndex.tcl
/usr/share/tcl8.4/tcltest2.2/tcltest.tcl
/usr/share/tcl8.4/tcltest2.2/testresults.tcl
g) Lệnh find:Cho phép tìm kiếm tập tin thỏa mãn điều kiện
- Cú pháp: $find [thư mục]–name <tên tập tin>
[root@localhost ~]# find / -name named
/var/named
/var/named/chroot/var/named
/var/named/chroot/var/run/named
/var/run/named
/usr/sbin/named
/usr/share/doc/bind-9.3.6/sample/var/named
/usr/share/logwatch/scripts/services/named
/etc/sysconfig/named
/etc/rc.d/init.d/named
/etc/logrotate.d/named
h) Lệnh grep:Tìm kiếm chuỗi ký tự trong tập tin ta sử dụng
- Cú pháp:$grep “biểu thức tìm kiếm” <tên tập tin>
[root@localhost ~]# grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
i) Lệnh touch:
Hỗ trợ việc tạo và thay đổi nội dung tập tin
- Cú pháp:[root@localhost ~]#touch [tùy chọn] <tên tập tin>
- Ví dụ 3.3.16: [root@localhost ~]#touch file1. txt file2. txt (tạo hai tập tin file1. txt và file2. txt)
1.3.5. CÁC THAO TÁC THIẾT LẬP QUYỀN TRUY CẬP CHO NGƯỜI DÙNG
Quyền người dùng
Tất cả các tập tin và thư mục của Linux đều có người sở hữu và quyền truy cập và có thể thay đổi các tính chất này. Quyền của tập tin còn cho phép xác định tập tin có phải là một chương trình (application) hay không.
- Ví dụ 3.3.17[root@localhost ~]#ls –l
-rw-r—r— 1 fido users 163 Dec 7 14: 31 myfile
- Linux cho phép người sử dụng xác định các quyền đọc (read), viết (write) và thực thi (execute) cho từng đối tượng. Có ba dạng đối tượng:
· Người sở hữu (the owner)
· Nhóm sở hữu (the group owner)
· Người khác (“other users” hay everyone else).
Kí tự
|
r
|
w
|
x
|
r
|
w
|
x
|
r
|
w
|
x
|
Loại tập tin
|
Owner
|
Group owner
|
Other users
|
- Quyền hạn truy cập còn có thể biểu diễn dưới dạng số có giá trị tương ứng như sau:
Quyền
|
Giá trị
|
Read permission
|
4
|
Write permission
|
2
|
Execute permission
|
1
|
Tổ hợp của ba quyền trên có giá trị từ 0 đến 7.
0 or ---: Không có quyền
1 or --x: execute
2 or -w-: write-only (race)
3 or -wr: write và execute
4 or r--: read-only
5 or r-x: read và execute
6 or rw-: read và write
7 or rwx: read, write và execute
Như vậy khi cấp quyền trên một tập tin/thư mục, có thể dùng số thập phân gồm ba con số. Số đầu tiên miêu tả quyền của sở hữu, số thứ hai cho nhóm và số thứ ba cho những người còn lại.
Các lệnh phân quyền chmd, chown, chgrp
a) Lệnh chmod
Đây là lệnh được sử dụng cấp phép quyền truy cập của tập tin hay thư mục. Chỉ có chủ sở hữu và superuser mới có quyền thực hiện các lệnh này.
- Cú pháp:chmod [nhóm-người-dùng] [thao-tác] [quyền-hạn] [tên-tập-tin].
Nhóm người dùng
|
Thao tác
|
Quyền
|
u user
|
+ Thêm quyền
|
r read
|
g group
|
· Xóa quyền
|
w write
|
o others
|
= gán quyền bằng
|
x excute
|
Quyền
|
Lệnh
|
-wrxr-xr-x
|
$chmod 755 myfile
|
-r-xr--r --
|
$chmod 522 myfile
|
-rwxrwxrwx
|
$chmod 777 myfile
|
b) Lệnh chown
Lệnh chown dùng để thay đổi người sở hữu trên tập tin, thư mục
- Cú pháp:[root@localhost ~]#chown [tên-user:tên-nhóm] [tên-tập-tin/thư-mục] hoặc $chown –R [tên-user:tên-nhóm] [thư-mục]
- Ví dụ 3.3.20[root@localhost ~]#chown -R sv1:sinhvien mfile
Dòng lệnh cuối cùng với tùy chọn –R (recursive) cho phép thay đổi người sở hữu của thư mục và tất cả các thư mục con của nó.
c) Lệnh chgrp
Lệnh chgrp dùng để thay đổi nhóm sở hữu của một tập tin, thư mục
- Cú pháp: [root@localhost ~]#chgrp [nhóm-sở-hữu] [tên-tập-tin/thư-mục]
- Ví dụ 3.3.21: [root@localhost ~]#chgrp hocvien myfile
1.3.6. CHUẨN CHUYỂN HƯỚNG TRONG LINUX
Chuyển hướng là hình thức thay đổi luồng dữ liệu của cách nhập, xuất và lỗi chuẩn. Khi sử dụng chuyển hướng, nhập chuẩn có thể nhận dữ liệu từ tập tin thay vì bàn phím, xuất và lỗi chuẩn có thể xuất ra tập tin hay máy in. Có ba loại chuyển hướng
Chuyển hướng nhập
Theo quy ước thì các lệnh lấy dữ liệu từ thiết bị nhập chuẩn (bàn phím). Để lệnh lấy dữ liệu từ tập tin chúng ta dùng ky hiệu “<”
- Cú pháp: [root@localhost ~]#lệnh < <tập tin>
- Dấu “<” chỉ hướng chuyển dữ liệu.
Chuyển hướng xuất
Kết quả của lệnh thông thường được hiển thị ra màn hình. Để xuất kết quả này ra tập tin ta dùng dấu “>”
- Cú pháp:$lệnh > <tên tập tin>
$ls -l > ketqua. txt
Để chèn dữ liệu vào cuối tập tin ta dùng dâu “>>” thay cho dấu “>”
- Cú pháp:$lệnh >> <tập tin>
Đường ống - PIPE
Linux cung cấp cơ chế đường ống cho phép ta có thể đẩy dữ liệu xuất của lệnh này làm dữ liệu nhập của lệnh khác xử lý.
Kết quả của lệnh ls không xuất ra màn hình mà chuyển cho lệnh more xử lý như dữ liệu đầu vào.
1.3.7. LƯU TRỮ TẬP TIN VÀ THƯ MỤC
Lệnh gzip và gunzip
Gzip dùng để nén tập tin, còn guzip dùng để giải nén các tập tin đã nén.
- Cú pháp:$gzip [tùy chọn]<tên tập tin> hoặc $gunzip [tùy chọn]<tên tập tin>
Gzip tạo tập tin nén với phần mở rộng. gz
- Các tùy chọn dùng cho gunzip và gzip:
-c :chuyển các thông tin ra màn hình
-d :giải nén, gzip –d tương đượng gunzip
-h :Hiển thị giúp đỡ
Lệnh tar
Lệnh này dùng để gom và bung những tập tin /thư mục. Nó sẽ tạo ra một tập tin có phần mở rộng. tar
- Cú pháp:#tar [tùy chọn] <tập tin đích><tập tin nguồn|thư mục nguồn…>
- Tùy chọn:
-cvf :gom tập tin|thư mục
-xvf :bung tập tin|thư mục
Tập tin đích :tập tin. tar sẽ được tạo ra
Tập tin nguồn|thư mục nguồn: những tập tin hoặc thư mục cần gom.
#tar -cvf /home/backup. tar /etc/passwd /etc/group
#tar -xvf /home/backup. Tar
1.3.8. KHỞI ĐỘNG HỆ THỐNG
Các bước khởi động hệ thống
- Bước 1: khi một máy PC bắt đầu khởi động, bộ xử lý sẽ tìm đến cuối vùng bộ nhớ hệ thống của BIOS và thực hiện các chỉ thị ở đó.
- Bước 2: BIOS sẽ kiểm tra hệ thống, tìm và kiểm tra các thiết bị và tìm kiếm đĩa chức trình khởi động. Thông thường, BIOS sẽ kiểm tra ổ đĩa mềm, hoặc CDROM xem có thể khởi động từ chúng hay không, rồi đến đĩa cứng. Thứ tự của việc kiểm tra các ổ đĩa phụ thuộc vào các cấu hình trong BIOS.
- Bước 3: khi kiểm tra ổ đĩa cứng, BIOS sẽ tìm đến MBR và nạp vào vùng nhớ hoạt động chuyển quyền điều khiển của nó.
- Bước 4: MBR chứa các chỉ dẫn cho biết cách nạp trình quản lý khởi động GRUB/LILO chi Linux hay NTLDR cho windows NT/2000. MBR sau khi nạp trình khởi động, sẽ chuyển quyền điều khiển cho trình quản lý hoạt động.
- Bước 5: boot loader tìm kiểm boot partition và đọc thông tin cấu hình trong grub.conf và hiển thị Operating Systems kernel có sẵn trong hệ thống để cho phép chúng ta lựa chọn OS kernel boot.
- Ví dụ về grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:You have a /boot partition.This means that
#all kernel and initrd paths are relative to /boot/, eg.
#root (hd0,0)
#kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-238.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-238.el5.img
- Bước 6: sau khi chọn kernel boot trong file cấu hình của boot loader, hệ thống tự động nạp chương trinh /sbin/init để kiểm tra hệ thống tập tin. Sau đó đọc file /etc/inittab để xác định mức hoạt động (runlevel). Các Linux runlevel.
Runlevel
|
Thư mục lưu script
|
Mô tả module hoạt động
|
0
|
/etc/rc.d/rc0.d
|
Chế độ tắt hệ thống
|
1
|
/etc/rc.d/rc1.d
|
Chế độ đơn người dùng, cho phép hiệu quả chỉnh sự cố hệ thống
|
2
|
/etc/rc.d/rc2.d
|
Chế độ text cho đa người dùng không hỗ trợ NFS
|
3
|
/etc/rc.d/rc3.d
|
Chế độ text cho đa người dùng, hỗ trợ đầy đủ
|
4
|
/etc/rc.d/rc4.d
|
Không sử dụng
|
5
|
/etc/rc.d/rc5.d
|
Sử dụng cho nhiều người dùng, cung cấp giao diện đồ họa
|
6
|
/etc/rc.d/rc6.d
|
Reboot hệ thống
|
- Bước 7: sau khi xác định runlevel thông qua khai báo initdefault, chương trình /sbin/init sẽ thực thi các file startup script được đặt trong các thư mục con của thư mục /etc/rc.d script chỉ định cho từng renlevel 0à6 để xác định thư mục chứa file script chỉ định cho từng runlevel như: /etc/rc.d/rc0.d à /etc/rc.d/rc6.d. File script trong thư mục /etc/rc.d/rc3.d/
Lưu ý: tập tin bằng đầu bằng từ khóa “S” có nghĩa tập tin này sẽ được thực thi lúc khởi động hệ thống, ngược lại tập tin bắt đầu bằng từ khóa “K” nghĩa là tập tin đó được thực thi sau khi hệ thống shutdown, số theo sau các từ khóa “S” và “K” để chỉ định trình tự khởi động script, kế tiếp là tên file script cho từng dịch vụ.
- Bước 8: Nếu như ở Bước 4 runlevel 3 được chọn thì hệ thống sẽ chạy chương trình login để yêu cầu đăng nhập cho từng user trước khi sử dụng hệ thống, nếu runlevel 5 được chọn thì hệ thống load X teminal GUI aplication để yêu cầu đăng nhập cho từng người dùng.
- Để xem các thông tin chi tiết về quá trình khởi động hệ thống ta dùng lệnh #dmesg|less.
Bảo mật cho grub
Để đặt mật khẩu cho GRUB ta chỉ cần mở file /etc/grub/grub.conf để mô tả thêm thông tin password <ký tự mật khẩu>
Nếu ta tạo mật khẩu ở dạng mã hóa thì ta mô tả dòng:Password –md5 PASSWORD
Sau đó tạo mật khẩu mã hóa bằng lệnh md5scrypt
- Ví dụ 3.3.26: Chạy shell grub và nhập mật khẩu:
Grub> md5crypt
Password: *********************
Encrypted:$1$U$jkxFefdxWH6vppCUSlb
- Sau đó cẳt và dán mật khẩu đã được mã hóa trên vào dòng khai báo trong file cấu hình:
Tắt và khởi động hệ thống
- Để shutdown hệ thống ta thực hiện lệnh sau:
#init 0 :khởi động hệ thống ngay lập tức
#shutdown -hy t :hệ thống sẽ shutdown sau t giây
#halt :tương tự như init 0
#poweroff
- Để reboot hệ thống ta thực hiện những một trong những lệnh sau:
#init 6
#reboot
#shutdown -ry 10 :hệ thống khởi động lại trong 10 giây
Phục hồi mật khẩu cho người dùng quản trị
Để phụ hồi mật khẩu cho người dùng quản trị, ta thực hiện theo các bước sau:
- Khởi động lại máy Linux
- Khi GRUB Screen hiển thị chọn phím e để thay đổi thông tin boot loader (nếu boot loader có mật khẩu thì nhập mật khẩu vào)
- Chọn mục kernel /boot/vnlinux-2.6.18……Sau đó chọn phím e để thay đổi thông tin mục này, thêm từ khóa –s để vào chế độ đơn người dùng (single user) sau đó chọn phím Enter
- Nhấn phím b để tiếp tục khởi động, sau đó thực hiện lệnh passwd để thay đổi mật khẩu của người dùng root
- Dùng lệnh init 6 để khởi động lại hệ thống
1.4. QUẢN TRỊ SYSTEM SERVICES
1.4.1. XINETD
Cấu hình xinetd
Mỗi dịch vụ Internet đều gắn liền với một cổng chẳng hạn như: smtp – 25, pop3 – 110, dns-53... Việc phân bổ này do một tổ chức qui định.
Xinetd là một Internet server daemon. Xinetd quản lý tập trung tất cả các dịch vụ Internet. Xinetd quản lý mỗi dịch vụ tương ứng với một cổng(port). Xinetd lắng nghe và khi nhận được một yêu cầu kết nối từ các chương trình client, nó sẽ đưa yêu cầu đến dịch vụ tương ứng xử lý. Và sau đó, Xinetd vẫn tiếp tục lắng nghe những yêu cầu kết nối khác. Khi hệ điều hành được khởi động, Xinetd được khởi tạo ngay lúc này bởi script /etc/rc.d/init.d/xinetd. Khi Xinetd được khởi tạo, nó sẽ đọc thông tin từ tập tin cấu hình /etc/xinetd.conf và sẽ dẫn đến thư mục /etc/xinetd - nơi lưu tất cả những dịch vụ mà Xinetd quản lý. Trong thư mục /etc/xinetd, thông tin cấu hình của mỗi địch vụ được lưu trong một tập tin có tên trùng với tên dịch vụ đó.
- Ví dụ 3.4.1:Nội dung tập tin của dịch vụ telnet
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
- Ý nghĩa các tùy chọn trong tập tin /etc/xinetd/telnet
Tập tin /etc/services
Khi xinetd được khởi tạo nó sẽ truy cập đến tập tin /etc/services để tìm cổng tương ứng với từng dịch vụ. Nội dung của tập tin này như sau:
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
systat 11/udp users
daytime 13/tcp
daytime 13/udp
qotd 17/tcp quote
qotd 17/udp quote
msp 18/tcp # message send protocol
msp 18/udp # message send protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp-data 20/udp
ftp 21/tcp
ftp 21/udp fsp fspd
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp # SSH Remote Login Protocol
telnet 23/tcp
telnet 23/udp
smtp 25/tcp mail
smtp 25/udp mail
time 37/tcp timserver
time 37/udp timserver
rlp 39/tcp resource # resource location
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
nameserver 42/udp name # IEN 116
Mỗi dòng trong tập tin mô tả cho một dịch vụ, bao gồm những cột sau:
- Cột 1: tên của dịch vụ.
- Cột 2: số cổng và giao thức mà dịch vụ này hoạt động.
- Cột 3: danh sách những tên gọi khác của dịch vụ này.
1.4.2. CẤU HÌNH TELNET
Trước khi cấu hình telnet, chúng ta phải cài đặt telnet trước. Có nhiều cách cấu hình telnet server, sau đây là hai cách cấu hình cơ bản nhất:
Cách 1:
- Dựa vào tập tin cấu hình khi cài đặt xong trong thư mục /etc/xinetd.d sẽ xuất hiện tập tin telnet. Tập tin này lưu những thông tin cấu hình về dịch vụ telnet.
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
nếu disable = NO thì TELNET server được khởi động, ngược lại nếu disable = yes thì TELNET server không được khởi động.
- Khởi động xinetd bằng lệnh:
#/etc/rc.d/init.d/xinetd start
#/etc/rc.d/init.d/xinetd stop
Hoặc dùng lệnh:
# service xinetd start
# service xinetd stop
# service xinetd restart
Cách 2: Cấu hình telnet Server bằng dòng lệnh
- Dùng lệnh chkconfig để active telnet:
# chkconfig telnet on
- Kiểm tra telnet thông qua lệnh:
#netstat -a|grep telnet
tcp 0 0 *:telnet *:* LISTEN
- Kiểm tra telnet có được đặt như dịch vụ hệ thống:
# chkconfig --list | grep telnet
telnet: on
Tạm ngưng hoạt động telnet server dùng lệnh
# chkconfig telnet off
1.4.3. BẢO MẬT DỊCH VỤ TELNET
Cho phép Telnet Server hoạt động trên TCP PORT khác
Như ta đã biết Telnet Traffic không được mã hóa do đó nếu ta cho telnet server hoạt động trên tcp port 23 thì không được an toàn vì thế ta có thể đặt telnet server hoạt động trên tcp port khác 23. để làm điều này ta thực hiện các bước sau:
- Bước 1. Mở tập tin /etc/services và thêm dòng.
stelnet 7777/tcp
- Bước 2. Chép file telnet thành file stelnet.
# cp /etc/xinetd.d/telnet /etc/xinetd.d/stelnet
- Bước 3. Thay đổi một số thông tin trong file /etc/xinetd.d/stelnet
service stelnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
port = 7777
}
- Bước 4. Kích hoạt stelnet thông qua lệnh chkconfig
# chkconfig stelnet on
- Bước 5. Kiểm tra hoạt động stelnet thông qua lệnh netstat.
# netstat -an | grep 777
tcp 0 0 0.0.0.0:7777 0.0.0.0:* LISTEN
- Ta có thể logon vào stelnet server thông qua lệnh:
# telnet 192.168.1.100 7777
Cho phép một số địa chỉ truy xuất telnet
Hiệu chỉnh thông số only_from để cho phép một số host hoặc network truy xuất vào TELNET Server.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
only_from = 192.168.1.100 127.0.0.1 192.168.1.200
}
1.4.4. SECURE REMOTE ACCESS – SSH (SECURE SHELL)
Chương trình telnet trong Linux cho phép người dùng đăng nhập vào hệ thống Linux từ xa. Khuyết điểm của chương trình này là tên người dùng và mật khẩu gởi qua mạng không được mã hóa. Do đó, nó rất dễ bị những người khác nắm giữ và sẽ là mối nguy hiểm cho hệ thống.
Phần mềm Secure Remote Access là một sự hỗ trợ mới của Linux nhằm khắc phục nhược điểm của telnet. Nó cho phépđăng nhập vào hệ thống Linux từ xa và mật khẩu sẽ được mã hóa. Vì thế, nó an toàn hơn telnet.
Cài đặt SSH server
[root@localhost ~]# yum -y install openssh
--> Running transaction check
--> Processing Dependency: openssh = 5.3p1-20.el6 for package: openssh-server-5.3p1-20.el6.i686
---> Package openssh.i686 0:5.3p1-52.el6_1.2 set to be updated
--> Running transaction check
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================
Package Arch Version Repository Size
===========================================================================
Updating:
openssh i686 5.3p1-52.el6_1.2 updates 235 k
Updating for dependencies:
……………………….
Transaction Summary
===========================================================================
Install 0 Package(s)
Upgrade 4 Package(s)
Total download size: 939 k
Downloading Packages:
(1/4): openssh-5.3p1-52.el6_1.2.i686.rpm | 235 kB 00:00
(2/4): openssh-askpass-5.3p1-52.el6_1.2.i686.rpm | 49 kB 00:00
(3/4): openssh-clients-5.3p1-52.el6_1.2.i686.rpm | 360 kB 00:00
---------------------------------------------------------------------------
Total 1.8 MB/s | 939 kB 00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
updates/gpgkey | 3.3 kB 00:00 ...
Importing GPG key 0xC105B9DE "CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : openssh-5.3p1-52.el6_1.2.i686 1/8
Updating : openssh-clients-5.3p1-52.el6_1.2.i686 2/8
…………………………………………
Cleanup : openssh-clients-5.3p1-20.el6.i686 7/8
Cleanup : openssh-5.3p1-20.el6.i686 8/8
Updated:
openssh.i686 0:5.3p1-52.el6_1.2
Dependency Updated:
openssh-askpass.i686 0:5.3p1-52.el6_1.2
openssh-clients.i686 0:5.3p1-52.el6_1.2
openssh-server.i686 0:5.3p1-52.el6_1.2
Complete!
Hoặc cài đặt openssh từ file nhị phân như sau:
- Cài đặt SSH Server ta dùng lệnh: #rpm –ivh openssh-server.*.rpm
Khởi tạo SSH Server
Dùng lệnh sau:#/etc/init.d/sshd start/stop/restart
Hoặc khởi động ssh mỗi khi hệ thống khởi động bằng lệnh: #chkconfig sshd on
Sử dụng SSH Client trên Linux
- Cú pháp:#ssh [tùy_chọn] [tên/IP_máy] [tùy_chọn] [lệnh]
- Ví dụ 3.4.2:#ssh –l root 10.8.1.1
Sử dụng SSH client trên Windows
SSH client for Windows được thiết kế để cho phép người dùng có thể sử dụng/quản trị Unix/Linux từ hệ điều hành Windows. Ta có thể download phần mềm này từ site: http://www.ssh.com/support/downloads/ hoặc tải phần mềm sshsecureshellclient-3.2.9.exe hoặc mới hơn giành cho Windows. Phần mềm này hỗ trợ cho người dùng có thể làm việc từ xa, cung cấp dịch vụ sftp. Màn hình “SSH Client for Windows” như:
Click chuột vào nút “Quick Connect” sau đó nhập địa chỉ IP của máy SSH Server như hình sau:
Nhấn nút “new terminal windows” để đăng nhập giao diện dòng lệnh
1.5. CÂU HỎI ÔN TẬP
Đăng nhập vào hệ thống Linux và thực hiện các yêu cầu sau:
1. Hãy tạo các nhóm và người dùng sau
a. Giamdoc(gd1, gd2)
b. Nhansu(ns1, ns2)
c. Kinhdoanh(kd1, kd2)
2. Thư mục home dir của người dùng được đặt tại /home/
3. Tạo thư mục /public, cấp quyền sao cho mọi người dùng được toàn quyền ghi dữ liệu, nhưng dữ liệu của người nào thì người đó mới được quyền thay đổi.
4. Cho phép mỗi người dùng được lưu tối đa 1GB trong home dir của mình.
5. Cho biết có bao nhiêu người dùng có UID=0, GID=0. Dùng vi ghi nhận danh sách những người dùng này vào tập tin /baitap/dsuser.
6. So sánh GID của từng người dùng root, bin, daemon trong tập tin /etc/passwd với GID của những nhóm root, bin, daemon trong tập tin /etc/group. Có nhận xét gì về tên của người dùng và tên của nhóm?
7. Tạo các nhóm sau: hocvien, admin, user.
a. Trong nhóm hocvien tạo các người dùng:
i. hv1 có mật khẩu 123456
ii. hv2 có mật khẩu 123456
iii. hv3 có mật khẩu 123456
b. Trong nhóm admin tạo các người dùng:
i. admin1 có mật khẩu 123456
ii. admin2 có mật khẩu 123456
c. Trong nhóm user tạo các người dùng:
i. user1 có mật khẩu 123456
ii. user2 có mật khẩu 123456
8. Có nhận xét gì về những UID của các người dùng vừa tạo.
9. Cấp cho người dùng admin1 và admin2 có quyền quản trị hệ thống như người dùng root.
10. Hủy người dùng hv3 trong nhóm hocvien.
11. Chỉnh sửa thông tin trong phần mô tả (description) của người dùng admin1 và admin2 là “Người dùng quan tri he thong” để phân biệt với những người dùng khác trong hệ thống.
12. Chuyển người dùng user1 trong nhóm user sang nhóm hocvien.
13. Khóa user1 và user2, sau đó kích hoạt cho user được quyền logon vào hệ thống.
14. Chép file /etc/passwd thành file /data/dsuser.
15. Cấp quyền hạn cho tập tin /data/dsuser như sau: chủ sở hữu có quyền đọc, ghi; nhóm sở hữu có quyền đọc; những người khác không có quyền truy cập.
16. Cấp quyền hạn cho thư mục /baitap như sau: người sở hữu có quyền đọc, ghi, thực thi; nhóm sở hữu có quyền đọc, thực thi; những người khác không có quyền truy cập.
17. Tạo quyền hạn mặc định cho tập tin như sau: người sở hữu có quyền đọc, ghi; nhóm sở hữu có quyền đọc; những người khác không có quyền. Thử tạo tập tin, thư mục và so sánh quyền hạn mặc định với những tập tin và thư mục trước khi đặt lại quyền hạn mặc định.
18. Thay đổi chủ sở hữu và nhóm sở hữu của tập tin /data/dsuser thành người dùng user1 và nhóm user.
19. Đăng nhập vào Xwindow bằng người dùng quản trị, sao đó dùng công cụ quản lý user trên môi trường đồ họa để thực hiện các công việc sau:
20. Tạo các nhóm sau: hocvien, admin, user.
21. Trong nhóm hocvien tạo các người dùng:
a. Tung có mật khẩu 123456
b. Thuy có mật khẩu 123456
c. Thanh có mật khẩu 123456
22. Trong nhóm admin tạo các người dùng:
a. Adm1 có mật khẩu 123456
b. ADM2 có mật khẩu 123456
23. Trong nhóm user tạo các người dùng:
a. U1 có mật khẩu 123456
b. u2 có mật khẩu 123456
24. Xem và thay đổi các thuộc tính liên quan đến người dùng.
25. Thay đổi nhóm cho người dùng thanh sang nhóm user.
26. Giới hạn ngày sử dụng tài khoản là 2 tháng.
27. Tạm khóa tài khoản u2.
28. Giới hạn thời gian sử dụng mật khẩu.
1.6. HƯỚNG DẪN ÔN TẬP
1) Để chép file /etc/passwd thành file /data/dsuser dùng lệnh cp /etc/passwd /data/dsuser.
2) Để cấp quyền hạn cho tập tin /data/dsuser sao cho: người sở hữu có quyền đọc, ghi; nhóm có quyền đọc; những người khác không có quyền gì cả. Ta dùng lệnh chmod 640 /data/dsuser.
3) Để cấp ấp quyền hạn cho thư mục /baitap sao cho: chủ sở hữu có quyền đọc, ghi, thực thi; nhóm có quyền đọc, thực thi; những người khác không có quyền gì cả. ta dùng lệnh chmod 750 /baitap.
4) Để tạo quyền hạn mặc định cho tập tin sao cho: chủ sở hữu có quyền đọc, ghi; nhóm có quyền đọc; những người khác không có quyền, ta dùng lệnh umask 020. ta tạo file để kiểm tra bằng lệnh touch /data/test.txt, tiếp theo dùng lệnh ls -al /data/test.txt để xem quyền hạn.
5) Dùng lệnh chown user1 /data/dsuser để thay đổi chủ sở hữu và nhóm sở hữu của tập tin /data/dsuser thành người dùng user1. dùng lệnh chgrp user /data/dsuser.