8/1/12

CHƯƠNG 3: QUẢN LÝ TÀI KHOẢN ADMINISTRATOR


1.      CHƯƠNG 3: QUẢN LÝ TÀI KHOẢN ADMINISTRATOR       

̣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
-      Ví dụ 3.1.1:# useradd          hocvien
-      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
-      Ví dụ 3.1.5:Thêm tài khoản nvb vào nhóm admin
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]
-         Ví dụ 3.1.6: xóa người dùng hocvien
#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
-   Ví dụ 3.3.2: 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.
-   Ví dụ 3.3.3 /home/hv, /usr/local/vd. Txt

Đườ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
-   Cú pháp: #cd [thư mục]
-   Ví dụ 3.3.5 #cd /etc
b)  Lệnh mkdir:Tạo thư mục mới
-   Cú pháp: #mkdir [thư mục]
-   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>
-   Ví dụ 3.3.15: grep  ‘root’  /etc/passwd
[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
-  Ví dụ 3.3.18:Thiết lập quyền read và excute là: 4+1 =5 và read, write và excute: 4+2+1=7
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
-  Ví dụ 3.3.19: Cấp quyền cho tập tin myfile
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.
-   Ví dụ 3.3.22: [root@localhost ~]#cat < abc. txt        hay      $cat     0< abc. txt

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>
-   Ví dụ 3.3.23: liệt kê nội dung thư mục và chuyển kết quả ra 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>
-   Ví dụ 3.3.24:$cat            a. txt               >>       b. txt

Đườ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ý.
-   Ví dụ 3.3.25: $ls             -l         | more
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 đỡ
-   Ví dụ 3. 1:$gzip  /etc/passwdvà $gunzip        /etc/passwd. gz

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.
-   Ví dụ 3. 2:lệnh nén và giải nén với tar
             #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.

Bài đăng phổ biến