Tài liệu đào tạo Quản trị hệ thống Linux (Phần 1)

Tóm tắt Tài liệu đào tạo Quản trị hệ thống Linux (Phần 1): ... bộ nhớ của thiết bị. Mọi thao tác trên vùng nhớ này tương đương với thao tác lên bộ nhớ của thiết bị. Quản trị Hệ thống Linux - Cơ bản 24 DMA (Direct Memory Access channels) Là các kênh truyền dữ liệu cho phép thiết bị thao tác trực tiếp lên bộ nhớ hệ thống mà không phải thông qua CPU. ...hải) 1 ký tự Ctrl+a Về cuối dòng Ctrl+e Về đầu dòng Dấu chấm than (!) có thể được dùng để thực hiện các lệnh trước đó. Ví dụ: !x Thi hành lệnh gần nhất trong lịch sử lệnh có ký tự bắt đầu là 'x' Quản trị Hệ thống Linux - Cơ bản 56 !2 Thi hành lệnh có số thứ tự = 2 trong lịch sử lệnh ...hống Linux - Cơ bản 91 Cuối cùng nếu chúng ta muốn tìm gói nào đã cài đặt file /usr/sbin/routed dữ liệu rpm có thể được yêu cầu cùng: rpm -qf /usr/sbin/routed Ba kiểu truy vấn (query): uninstalled packages, installed packages và file Kiểu truy vấn Tuỳ chọn Package File -qp Installed...

pdf135 trang | Chia sẻ: havih72 | Lượt xem: 362 | Lượt tải: 0download
Nội dung tài liệu Tài liệu đào tạo Quản trị hệ thống Linux (Phần 1), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
 tập các dịch vụ nhất 
định. Các file quản lý những dịch vụ này được lưu giữ trong /etc/rc/d/init.d. Thư 
mục này chứa gần như tất cả các file quản lý dịch vụ mà hệ thống có thể chạy. 
Các dịch vụ khi chạy có thể được gọi là daemon (dịch vụ nền). 
Danh sách 3: Danh sách các dịch vụ chính trong /etc/rc.d/init.d/ 
 ls /etc/rc.d/init.d/ 
anacron cups identd kadmin krb5kdc mcserv Nscd random smb xfs 
apmd dhcpd innd kdcrotate kudzu named Ntpd rawdevices snmpd xinetd 
arpwatch functions ipchains keytable ldap netfs pcmcia rhnsd squid 
atd gpm iptables killall linuxconf network portmp rwhod sshd 
autofs halt irda kprop lpd nfs pgsql sendmail syslog 
crond httpd isdn Krb524 marsrv nfslock pppoe single tux 
Chú ý: Cũng có thể dừng hoặc khởi động bằng tay các dịch vụ daemon trong 
/etc/rc.d/init.d bằng cách đưa ra các tham số tương ứng. Ví dụ, nếu bạn muốn 
khởi động lại dịch vụ web mặc định, bạn sẽ phải gõ: 
 /etc/rc.d/init.d/httpd restart hoặc service httpd restart 
Khi làm việc với các mức thực thi, bạn sẽ cung cấp một tập các chương trình 
được đinh nghĩa trước nhất định để dừng chạy. Nếu bạn muốn ở mức thực thi 2 
(runlevel 2), bạn phải gõ 
 /sbin/init 2 
Quản trị Hệ thống Linux - Cơ bản 
119 
Đến lượt nó sẽ bắt init đọc file cấu hình /etc/inittab để tìm ra điều gì sẽ xảy ra ở 
mức thực thi này. 
Trong trường hợp này (giả sử chúng ta đang chuyển đổi sang mức thực thi 2) các 
dòng sau trong file inittab sẽ được thực hiện: 
l2:wait:/etc/rc.d/rc 2 
Nếu bạn tìm kiếm trong file /etc/inittab câu lệnh “/etc/rc.d/rc N” sẽ khởi động 
tất cả các dịch vụ trong /etc/rc.d/rcN.d bắt đầu với S và sẽ dừng (stop) dịch vụ 
bắt đầu với K. Các dịch vụ này là các biểu tượng kết nối trỏ tới các script trong 
/ect/rc.d/init.d 
Nếu bạn không muốn một tiến trình thực hiện trong một mức thực thi N cho 
trước, bạn có thể xoá biểu tượng kết nối (symlink) trong /etc/rc.d/rN.d bắt đầu 
bởi K. 
inittab 
Như đã đề cập trên, chúng ta hãy xem file /etc/inittab 
File sẽ có cấu trúc như sau: 
id : runlevel : action : command 
Hình 3: file /etc/inittab 
id:3:initdefault: 
# System initialization. 
si::sysinit:/etc/rc.d/rc.sysinit 
l0:0:wait:/etc/rc.d/rc 0 
Quản trị Hệ thống Linux - Cơ bản 
120 
l1:1:wait:/etc/rc.d/rc 1 
l2:2:wait:/etc/rc.d/rc 2 
l3:3:wait:/etc/rc.d/rc 3 
l4:4:wait:/etc/rc.d/rc 4 
l5:5:wait:/etc/rc.d/rc 5 
l6:6:wait:/etc/rc.d/rc 6 
-----------------------snip---------------------------------- 
# Trap CTRL-ALT-DELETE 
ca::ctrlaltdel:/sbin/shutdown -t3 -r now 
-----------------------snip---------------------------------- 
# Run gettys in standard runlevels 
1:2345:respawn:/sbin/mingetty tty1 
2:2345:respawn:/sbin/mingetty tty2 
3:2345:respawn:/sbin/mingetty tty3 
4:2345:respawn:/sbin/mingetty tty4 
5:2345:respawn:/sbin/mingetty tty5 
6:2345:respawn:/sbin/mingetty tty6 
# Run xdm in runlevel 5 
x:5:respawn:/etc/X11/prefdm –nodaemon 
Trường id có thể là bất kỳ. Nếu một mức thực thi được xác định thì câu lệnh và 
hành động được yêu cầu sẽ chỉ được thực hiện ở mức thực thi này mà thôi. Nếu 
không có số nào được xác định thì các dòng lệnh sẽ được thực hiện ở bất cứ mức 
thực thi nào. 
File /etc/inittab: 
Mức thực thi mặc định: mức này được thiết lập tại điểm bắt đầu của file với id 
và công việc initdefault. Chú ý, không có lệnh nào được đưa ra. Câu lệnh này 
đơn giản chỉ cho init biết mức thực thi mặc định là gì. 
Chương trình đầu tiên được gọi bởi init: /etc/rc.d/rc.sysinit. Script này sẽ thiết 
lập các mặc đinh của hệ thống như tham số PATH, xác định nếu mạng được cho 
phép, tên máy chủ, ... 
Quản trị Hệ thống Linux - Cơ bản 
121 
Các dịch vụ mức thực thi mặc định: Nếu mức thực thi mặc định là 3 thì chỉ có 
dòng “l3” sẽ được thực hiện. Công việc (action) sẽ là “chờ”, không có chương 
trình nào được thực thi cho đến khi tất cả các dịch vụ trong mức thực thi 3 được 
chạy. 
Getty terminals: các dòng lệnh với id từ 1đến 6 thực thi các thiết bị ảo (virtual 
terminal). Đây là nơi bạn có thể thay đổi số lượng các thiết bị ảo. 
Mức thực thi 5: Dòng cuối cùng trong inittab thực thi trình quản lý Xwindow 
nếu mức thực thi 5 được gán. 
Chú ý: 
1. Bạn có thể thiết lập một thiết bị modem để nghe (listen) các kết nối trong 
inittab. Nếu modem của bạn được kết nối tới /dev/ttyS1 thì dòng lệnh sau 
sẽ cho phép dữ liệu kết nối (không dữ liệu fax) sau 2 hồi chuông: 
S1:12345:respawn:/sbin/mgetty -D -x 2 /dev/ttyS1 
2. Khi thay đổi /etc/inittab bạn cần phải bắt init đọc lại file cấu hình này. 
Điều này được thực hiện khá dễ dàng bằng cách: 
 /sbin/init q 
GRUB - GRand Unified Bootloader 
Là chương trình mồi thế hệ mới với nhiều tính năng mạnh, GRUB hiện nay đã là 
tùy chọn mặc định trong nhiều bản phân phối Linux. 
# 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. 
Quản trị Hệ thống Linux - Cơ bản 
122 
# root (hd0,0) 
# kernel /vmlinuz-version ro root=/dev/VolGroup01/LogVol00 
# initrd /initrd-version.img 
# boot=/dev/sda 
default=1 
timeout=0 
splashimage=(hd0,0)/grub/splash.xpm.gz 
hiddenmenu 
title Fedora Core (2.6.15-1.1833_FC4) 
 root (hd0,0) 
 kernel /vmlinuz-2.6.15-1.1833_FC4 ro root=/dev/VolGroup01/LogVol00 
 initrd /initrd-2.6.15-1.1833_FC4.img 
title Fedora Core (2.6.15-1.1833_FC4smp) 
 root (hd0,0) 
 kernel /vmlinuz-2.6.15-1.1833_FC4smp ro root=/dev/VolGroup01/LogVol00 
 initrd /initrd-2.6.15-1.1833_FC4smp.img 
title Fedora Core (2.6.11-1.1369_FC4smp) 
 root (hd0,0) 
 kernel /vmlinuz-2.6.11-1.1369_FC4smp ro root=/dev/VolGroup01/LogVol00 
 initrd /initrd-2.6.11-1.1369_FC4smp.img 
title Fedora Core-up (2.6.11-1.1369_FC4) 
 root (hd0,0) 
 kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/VolGroup01/LogVol00 
 initrd /initrd-2.6.11-1.1369_FC4.img 
Với GRUB, việc cập nhật các tham số khởi động không quá phức tạp như LILO. 
Chỉ cần sửa lại file /boot/grub/grub.conf và chép các file cần thiết vào /boot là 
lập tức có hiệu quả trong lần khởi động sau. File cấu hình của GRUB cũng có 
nhiều lựa chọn hơn, cho phép người dùng có thể sử dụng nhiều kịch bản khởi 
động khác nhau. 
Cũng như LILO, GRUB cho phép lựa chọn nhiều kịch bản khi khởi động, cũng 
như cho phép người dùng chỉnh sửa các tham số khởi động ngay trước khi khởi 
động. Có thể sử dụng mật khẩu ngăn chặn việc này thông qua khai báo password 
Quản trị Hệ thống Linux - Cơ bản 
123 
trong file cấu hình. Lệnh grub-md5-crypt cung cấp hàm mã hóa md5 cho phép 
che dấu mật khẩu khi sử dụng. 
Các khai báo khác có thể tham khảo chi tiết thông qua lệnh info grub. 
Trong quá trình khởi động, tất cả các thông báo nhân hệ thống được mặc định ghi 
lại trong /var/log/dmesg. File này có thể đọc và in ra stdout với tiện ích 
/bin/dmesg. 
Trong quá trình cài đặt hoặc sử dụng, nếu GRUB bị hỏng, có thể dễ dàng sửa 
chữa lại bằng lệnh grub-install trong chế độ rescue. 
Từ khởi động đến bash 
Bây giờ chúng ta sẽ xem xét các bước trong quá trình khởi động hệ thống Linux. 
Ramdisk được khởi tạo và nạp vào bộ nhớ thật để tải các module cần thiết. 
Nhân hệ thống được tải từ đĩa cứng (hoặc CD) xác định trong cấu hình của 
GRUB. Trong quá trình tải này thì nhân sẽ được giải nén. 
Nhân hệ thống sẽ gắn (mount) phân vùng root (/) theo dạng chỉ đọc. 
Lúc này các chương trình cần thiết trong /bin và /sbin đã sẵn sàng được truy cập. 
Sau đó nhân hệ thống sẽ tải init - tiến trình đầu tiên. 
init sẽ đọc file /etc/inittab và thực hiện theo các nội dung của nó. Cụ thể là 
rc.sysinit được chạy. 
Sau đó, tất cả các khai báo trong /etc/fstab được ánh xạ (mount) và kiểm tra 
(fsck). 
Tiếp theo init sẽ chuyển sang mức thực thi mặc định, các dịch vụ sẽ được khởi 
động. Dịch vụ mặc định rc có độ ưu tiên thấp nhất sẽ thi hành cuối cùng và gọi 
file /etc/rc.d/rc.local. 
Dấu nhắc để đăng nhập hệ thống được quản lý bởi gettys trong ttys. 
Quản trị Hệ thống Linux - Cơ bản 
124 
Thực hành 
Hãy xem lại toàn bộ nội dung của phần trình bày trên và hoàn thành các bài tập 
sau đây: 
- Thay đổi mức thực thi mặc định của hệ thống thành 3 và 5. 
- Làm thế nào bạn có thể biết được mức thực thi hiện tại? 
- Cho phép tổ hợp phím Ctrl + Alt + Del chỉ trong mức thực thi 3. 
- Thêm một dấu nhắc đăng nhập trong tty7. 
- Làm thế nào có thể bắt init đọc file cấu hình của nó? 
- Sử dụng dmesg để đọc thông tin chipset card mạng của bạn. 
- So sánh sự khác nhau giữa shutdown, halt và reboot. 
Tham số lựa chọn nào của shutdow sẽ làm cho fsck tại lần khởi động tiếp 
theo? 
- Sử dụng công cụ chkconfig hoặc ntsysv để tắt (disable) chương trình nền 
sshd (sshd daemon) trong mức thực thi hệ thống 2, 3, 4 và 5. 
Đảm bảo rằng các đường link ký hiệu (symbolic links) trong các thư mục 
rc2.d, rc3.d, rc4.d và rc5.d đã thay đổi. 
- Khởi động lại hệ thống. Tại dấu nhắc khởi động nhập tham số init = tham 
số để bỏ qua /sbin/init và khởi động một tiến trình bash đơn giản. 
Quản trị Hệ thống Linux - Cơ bản 
125 
QUẢN LÝ NGƯỜI DÙNG VÀ NHÓM 
Tạo người dùng mới 
Bước 1: Tạo một tài khoản 
Câu lệnh /usr/sbin/useradd sẽ thêm người dùng mới vào hệ thống và lệnh 
adduser thực chất cũng trỏ tới câu lệnh này. 
Cú pháp: 
 useradd [options] login-name 
Ví dụ: thêm một người dùng với tên truy cập là rufu 
 useradd rufus 
Các giá trị mặc định sẽ được sử dụng khi không có tham số lựa chọn nào xác 
định. Ban có thể liệt kê các giá trị này với useradd –D 
Các lựa chọn mặc định được liệt kê với useradd –D 
 GROUP=100 
HOME=/home 
INACTIVE=-1 
EXPIRE= 
SHELL=/bin/bash 
SKEL=/etc/skel 
Chú ý rằng thông tin này cũng nằm trong file /etc/default/useradd 
Bước 2: Kích hoạt tài khoản với mật khẩu mới 
Để cho phép một người dùng truy cập vào tài khoản của mình, quản trị mạng 
phải thiết lập một mật khẩu cho người dùng bằng công cụ passwd 
Quản trị Hệ thống Linux - Cơ bản 
126 
Cú pháp: 
 passwd login-name 
Các bước trên dùng để tạo một người dùng mới. Nó cũng định nghĩa một môi 
trường người dùng như là thư mục home directory và một shell mặc định. Người 
dùng cũng có thể được gán cho một nhóm, và xác định nhóm mặc định của mình. 
Làm việc với nhóm 
Tất cả người dùng mới được gán vào một nhóm mặc định (hoặc nhóm chính - 
primary). Tồn tại hai qui ước. 
Theo cách truyền thống, nhóm chính này chung cho tất cả người dùng được gọi 
là nhóm users với ID của nhóm là (GID) 100. Một số nhà cung cấp sản phẩm 
Linux như Suse và Debian cũng tuân thủ với qui ước này. 
Theo cách sắp sếp, nhóm người dùng riêng (User Private Group - UPG) này 
được đưa ra bởi RedHat và việc thay đổi qui ước này sẽ không làm thay đổi cách 
thức làm việc nhóm của UNIX. Với UPG, mỗi người dùng mới sẽ thuộc về nhóm 
mặc định của mình. Nhóm có cùng tên với tên đăng nhập (mặc định) và GID sẽ 
nằm trong phạm vi từ 500 đến 60000 (giống với UIDs). 
Thành viên trong nhóm: 
Một người dùng có thể thuộc về một hoặc nhiều nhóm bất kỳ. Tuy nhiên, tại một 
thời điểm (ví dụ khi tạo một tệp mới) thì chỉ duy nhất một nhóm là nhóm có tác 
động. 
Thông tin về danh sách tất cả các nhóm mà một người dùng thuộc về có thể được 
liệt kê qua câu lệnh groups hoặc id. 
Ví dụ đối với người dùng root: 
Liệt kê tất cả ID: 
Quản trị Hệ thống Linux - Cơ bản 
127 
 id 
➔ ► uid=0(root) gid=0(root) groups=0(root), 1(bin), 2(daemon), 3(sys), 
4(adm), 6(disk), 10(wheel), 600(sales) 
Liệt kê tất cả các nhóm: 
 groups 
➔ ► root bin daemon sys adm disk wheel sales 
Chuyển nhóm hiện thời: 
Lệnh tham gia (chuyển) vào nhóm sẽ làm thay đổi nhóm tác động của người 
dùng (user’s effective group) và bắt đầu một tiến trình mới mà từ đó người dùng 
có thể thoát ra khỏi nhóm (logout). Điều này có thể được thực hiện qua câu lệnh 
newgrp. 
Ví dụ: tham gia nhóm sales 
 newgrp sales 
Nếu câu lệnh groups được sử dụng thì nhóm đầu tiên trong danh sách sẽ chẳng 
còn là root mà là sales 
Tạo một nhóm mới 
Công cụ groupadd được sử dụng để quản trị các nhóm. Câu lệnh này sẽ thêm 
một thực thể vào file /etc/group 
Quản trị Hệ thống Linux - Cơ bản 
128 
Ví dụ: tạo một nhóm devel 
 groupadd devel 
Thêm một người dùng vào một nhóm: 
Các công việc quản trị có thể được thực hiện bằng công cụ gpasswd. Có thể 
thêm (-a) hoặc gỡ bỏ (-d) người dùng từ một nhóm và gán một người quan trị (-
A). Công cụ này ban đầu được thiết kế để thiết lập một mật khẩu đơn vào một 
nhóm, cho phép tất cả các thành viên trong cùng một nhóm đăng nhập với cùng 
một mật khẩu. Vì lý do an ninh, tính năng này không còn được sử dụng nữa. 
Ví dụ: thêm người dùng rufus vào nhóm devel 
 gpasswd -a rufus devel 
File cấu hình 
File /etc/passwd và /etc/shadow: 
Tên của tất cả người dùng trong hệ thống được lưu giữ trong file /etc/passwd có 
cấu trúc như sau: 
1. Tên truy cập 
2. Mật khẩu (hoặc x nếu sử dụng file shadow) 
3. UID 
4. GID 
5. Đoạn text mô tả người dùng 
6. Thư mục gốc của người dùng 
7. shell của người dùng 
Quản trị Hệ thống Linux - Cơ bản 
129 
7 trường trên được ngăn cách bởi dấu hai chấm như được minh hoạ trong ví dụ 
sau đây. 
/etc/passwd entry with encrypted passwd: 
george:$1$K05gMbOv$b7ryoKGTd2hDrW2sT.h:Dr G Micheal:/home/georges:/bin/bash 
Để dấu mật khẩu đã mã hoá từ người dùng thông thường bạn nên sử dụng file 
shadow. File /etc/shadow sẽ chứa tên người dùng và mật khẩu đã mã hoá và chỉ 
có thể đọc được bởi người dùng root. 
Nếu bạn không có file shadow trong /etc thì bạn có thể sử dụng câu lệnh sau đây: 
 /usr/sbin/pwconv (passwd -> shadow) 
Câu lệnh này sẽ bỏ ‘x’ trong trường thứ hai của file /etc/passwd và tạo file 
/etc/shadow. Nếu bạn không muốn sử dụng mật khẩu bóng (shadow password), 
bạn có thể làm như sau: 
 /usr/sbin/pwunconv (shadow -> passwd) 
Chú ý: Khi sử dụng file mật khẩu bóng (shadow password) /etc/passwd thì có 
thể đọc được với quyền (644) và file /etc/passwd phải được cấm nhiều hơn (600 
hoặc thậm chí 400). Tuy nhiên, khi sử dụng pwunconv thì phải bảo đảm thay đổi 
quyền trên file /etc/password (600 hoặc 400). 
File /etc/group and gshadow: 
Cũng tương tự như trên, thông tin của nhóm được lưu giữ trong file /etc/group. 
File này có 4 trường được ngăn cách nhau bởi dấu hai chấm. 
1. Tên nhóm 
2. Mật khẩu nhóm (hoặc x nếu file gshadow tồn tại) 
Quản trị Hệ thống Linux - Cơ bản 
130 
3. GID 
4. Dấu phẩy ngăn cấch danh sách các thành viên 
Ví dụ /etc/group entry: 
java:x:550:jade, eric, rufus 
Cũng như với người dùng, file /etc/gshadow cũng được tạo khi sử dụng mật 
khẩu bóng nhóm (shadow group passwords). Các tiện ích này được sử dụng để 
chuyển đổi xuôi hoặc ngược các file shadow hoặc non-shadow như sau: 
 /usr/sbin/grpconv creates the /etc/gshadow file 
 /usr/sbin/grpunconv deletes the gshadow file 
File /etc/login.defs và /etc/skel/ 
File /etc/login.defs chứa các thông tin sau đây: 
- thư mục mail (the mail spool directory): 
MAIL_DIR 
- các điều khiển thời gian của mật khẩu: 
PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_MAX_LEN, 
PASS_WARN_AGE 
• giá trị max/min của UID tự động lựa chọn trong useradd: 
UID_MIN, UID_MAX 
• giá trị max/min đối với lựa chọn tự động GID trong groupadd: 
GID_MIN, GID_MAX 
• tự động tạo một thư mục gốc với useradd: 
Quản trị Hệ thống Linux - Cơ bản 
131 
CREATE_HOME 
Thư mục /etc/skel chứa các file mặc định và sẽ được copy tới thư mục gốc của 
người dùng mới được tạo: .bashrc, .bash_profiles, .. 
Các tham số lựa chọn của câu lệnh 
useradd (Lựa chọn) 
-c ghi chú (Tên đầy đủ) 
-d đường dẫn tới thư mục gốc 
-g nhóm khởi tạo (GID). GID phải đang tồn tại 
-G dấu phẩy ngăn cách danh sách các nhóm bổ sung 
-u UID của người dùng 
-s shell mặc định của người dùng 
-p mật khẩu (mã hoá md5, sử dụng dấu !) 
-e ngày hết hạn của tài khoản 
-k thư mục skel 
-n tắt nhóm UPG 
groupadd (Lựa chọn) 
-g gán một GID 
Sửa thiết lập mặc định và tài khoản 
Tất cả các lựa chọn trong khi tạo một người dùng hoặc nhóm có thể được thay 
đổi. Tiện ích usermod có một số tham số lựa chọn chính sau: 
usermod (tham số lựa chọn) 
Quản trị Hệ thống Linux - Cơ bản 
132 
-d thư mục người dùng 
-g GID khởi tạo người dùng 
-l tên đăng nhập của người dùng 
-u UID của người dùng 
-s shell mặc định 
Chú ý: tất cả các tham số lựa chọn trên cũng giống đối với useradd. 
Tương tự như vậy, bạn cũng có thể thay đổi chi tiết về thông tin nhóm với tiện 
ích groupmod. Có một số tham số lựa chọn chính sau đây: 
groupmod (tham số lựa chọn) 
-g GID 
-n tên nhóm 
Khoá tài khoản: 
- Một tài khoản người dùng có thể bị khoá bằng cách thêm vào một dấu 
chấm than vào mật khẩu người dùng. Có thể thực hiện điều này bằng các 
câu lệnh sau: 
Khoá Mở khoá 
passwd –l passwd –u 
usermode –L usermod –U 
- Khi sử dụng shadow password, thay thế x bởi một dãy * 
- Một tham số lựa chọn ít hữu ích là xoá toàn bộ mật khầu với câu lệnh 
passwd –d 
Quản trị Hệ thống Linux - Cơ bản 
133 
- Cuối cùng, có thể gán /sbin/nologin hoặc /bin/false cho shell mặc 
định của người dùng trong /etc/passwd 
Mặc định ban đầu, mật khầu người dùng có giá trị trong 99999 ngày, tương 
đương với 2739 năm (mặc định PASS_MAX_DAYS). Người dùng được thông 
báo trong vòng 7 ngày rằng mật khầu của bạn sẽ bị hết hạn (mặc định 
PASS_WARN_AGE) với dòng thông báo sau mỗi khi người dùng đăng nhập vào 
hệ thống: 
Có một tham số thời gian của mật khẩu khác được gọi là PASS_MIN_DAY. Đây 
là số ngày nhỏ nhất trước khi một người dùng có thể thay đổi mật khẩu, giá trị 
này được thiết lập mặc định ban đầu bằng 0. 
Công cụ chage cho phép quản trị hệ thống thay đổi các tham số lựa chọn trên: 
Cách dùng: chage [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ] 
 [ -I inactive ] [ -E expire ] [ -d last_day ] user 
Tham số -l đầu tiên liệt kê giá trị của policy hiện thời của một người dùng. 
Chúng ta chỉ đề cập đến tham số lựa chọn –E. Tham số này sẽ khoá một tài 
khoản người dùng tại thời điểm xác định. Định dạng ngày có thể theo định dạng 
của UNIX hoặc theo YYYY/MM/DD 
Chú ý, tất cả các giá trị trên đều được lưu giữ trong fiele /etc/shadow và có thể 
thay đổi trực tiếp. 
Xoá tài khoản 
Tài khoản người dùng có thể được xoá bởi câu lệnh userdel. Để đảm bảo rằng 
thư mục gốc của người dùng cũng được xoá, ta sử dụng tham số lựa chọn –r. 
Quản trị Hệ thống Linux - Cơ bản 
134 
 userdel -r jade 
Thực hành 
1. Tạo người dùng 
Sử dụng useradd để tạo người dùng có tên là tux với ID người dùng là 600 
và ID nhóm là 550. 
Sử dụng usermode để thay đổi thư mục gốc của người dùng 
 Có cần thiết phải tạo một thư mục mới không? 
 Nội dung của /etc/skel có được copy sang thư mục mới không? 
Các nội dung trong thư mục gốc cũ vẫn có thể được truy cập bởi người 
dùng tux không? 
Sử dụng usermode để thêm tux vào nhóm wheel. 
2. Làm việc với nhóm. 
Tạo một nhóm có tên là sales với câu lệnh groupadd. 
Thêm người dùng tux vào nhóm này bằng câu lệnh gpasswd. 
Đăng nhập với tux và tham gia vào nhóm sales với newgrp. 
3. File cấu hình. 
Thêm một người dùng vào hệ thống bằng cách soạn thảo /etc/passwd và 
/etc/group. 
Tạo một nhóm có tên là share và thêm người dùng tux vào nhóm này bằng 
cách soạn thảo bằng tay /etc/group. 
4. Thay đổi tài khoản 
Thay đổi tham số ngày hết hạn của tài khoản người dùng tux bằng cách sử 
dụng câu lệnh usermod. 
Khoá tài khoản người dùng (Sử dụng các công cụ hoặc soạn thảo file 
/etc/shadow, ...) 
Quản trị Hệ thống Linux - Cơ bản 
135 
Bảo vệ người dùng từ đăng nhập bằng cách thay đổi shell mặc định của người 
dùng thành /bin/false. 
Thay đổi tham số PASS_MAX_DAYS của người dùng tux thành 1 trong file 
/etc/shadow. 
5. Thay đổi thiết lập mặc định 
Sử dụng useadd –D để thay đổi các thiết lập mặc định của hệ thống và do đó 
tất cả người dùng mới sẽ được gán trong /bin/sh thay vì /bin/bash (chú ý: điều 
này sẽ làm thay đổi file trong /etc/defaults/) 
Soạn thảo /etc/login.defs và thay đổi tham số mặc định PASS_MAX_DAYS 
và do đó người dùng mới sẽ phải thay đổi mật khẩu của mình theo định kỳ 5 
ngày. 

File đính kèm:

  • pdftai_lieu_dao_tao_quan_tri_he_thong_linux_phan_1.pdf