You are on page 1of 41

Hướng dẫn cài đặt CentOS 7

Đầu tiên tải phiên bản CentOS mới nhất về hiện tại là CentOS 7 có file ISO tiến hành burn ra đĩa.

Sau khi chèn đĩa và khởi động máy tính. Màn hình sau sẽ hiển thị, nhấn phím “Enter” để tiếp tục.

Chọn ngôn ngữ bạn muốn sử dụng trong quá trình cài đặt.
Đây là màn hình mặc định cho một số cấu hình cơ bản. Trước tiên, đặt múi giờ, nhấp vào biểu tượng
“DATE & TIME“.

Nhấp vào một điểm trên bản đồ bạn muốn đặt múi giờ và nhấn nút “Done” ở phía trên bên trái.
Trở lại màn hình mặc định. Tiếp theo, nhấp vào biểu tượng “KEYBOARD“.

Nhấp vào nút “+” phía dưới bên trái để thêm một loại bàn phím khác cho ngôn ngữ của bạn.
Chọn kiểu bàn phím của bạn và nhấp vào nút “Add“.

Sau khi thêm bố cục bàn phím, di chuyển ngôn ngữ bàn phím lên trên cùng cho ưu tiên thứ nhất và nhấp
vào nút “Done” ở trên bên trái để kết thúc.
Trở lại màn hình mặc định. Đối với “SOFTWARE SELECTION“, bạn có thể giữ mặc định vì nó đã cài đặt tốt
hơn với “Minimal Install” để cài đặt ban đầu. Tiếp theo, nhấp vào biểu tượng “INSTALLATION
DESTINATION“.
Chọn đĩa cài đặt. Nhấp vào biểu tượng đĩa bạn muốn cài đặt và nhấp vào nút “Done” ở phía trên bên trái
để tiếp tục. Nếu bạn muốn tùy chỉnh bố cục phân vùng, hãy đánh dấu hộp “I will configure partitioning”
và tiếp tục.

Trở lại màn hình mặc định. hãy nhấp vào biểu tượng “NETWORK & HOSTNAME“.
Nhập bất kỳ tên máy chủ nào bạn thích trong trường “Hostname” và nhấp vào nút “ON” ở phía trên bên
phải để cho phép kết nối mạng.

Nhấp vào nút “Done” ở phía trên bên trái để kết thúc.
Nếu đã thấy OK, nhấn “Begin Installation” và tiếp tục.

Quá trình cài đặt bắt đầu, yêu cầu thiết lập mật khẩu Root và tạo ra một người dùng thông thường.
Nhấp vào mỗi biểu tượng và di chuyển đến cấu hình.
Trên cài đặt mật khẩu Root, nhập mật khẩu bạn muốn và nhấp vào nút “Done” để kết thúc.

Trên cài đặt người dùng phổ biến, nhập bất kỳ tên người dùng và mật khẩu mà bạn muốn và nhấp vào
nút “Done” để kết thúc.
Sau khi hoàn tất cài đặt, nhấn vào nút “Reboot”

Sau khi khởi động lại, nhắc nhở đăng nhập được hiển thị như sau. Đăng nhập với người sử dụng Root và
mật khẩu bạn thiết lập trong quá trình cài đặt. Cài đặt CentOS 7 hoàn tất nếu bạn đăng nhập bình
thường.
Danh sách những lệnh command cơ bản trên Linux

Article ID: 121

Cập nhật gần nhất: 28 Th05, 2018

Lệnh liên quan đến hệ thống

 exit: thoát khỏi cửa sổ dòng lệnh.

 logout: tương tự exit.

 reboot: khởi động lại hệ thống.

 halt: tắt máy.

 startx: khởi động chế độ xwindows từ cửa sổ terminal.

 mount: gắn hệ thống tập tin từ một thiết bị lưu trữ vào cây thư mục chính.

 unmount: ngược với lệnh mount.

Lệnh thao tác trên tập tin

 ls: lấy danh sách tất cả các file và thư mục trong thư mục hiện hành.

 pwd: xuất đường dẫn của thư mục làm việc.

 cd: thay đổi thư mục làm việc đến một thư mục mới.

 mkdir: tạo thư mục mới.

 rmdir: xoá thư mục rỗng.

 cp: copy một hay nhiều tập tin đến thư mục mới.

 mv: đổi tên hay di chuyển tập tin, thư mục.

 rm: xóa tập tin.

 wc: đếm số dòng, số kí tự... trong tập tin.

 touch: tạo một tập tin.

 cat: xem nội dung tập tin.

 vi: khởi động trình soạn thảo văn bản vi.

 df: kiểm tra dung lượng đĩa.

 du: xem dung lượng đĩa đã dùng cho một số tập tin nhất định

 nano: Khởi dộng trình soạn thảo văn bản nano

 less: Xem nội dung tập tin theo dòng


 tail: Xem nội dung tập tin (mặc định xem 10 dòng cuối, muốn xem 100 dòng cuối thì dùng lệnh
sau: tail 100 tenfile)

 more: Xem nội dung tập tin theo trang

 head: Xem nội dung tập tin (mặc định xem 10 dòng đầu, muốn xem 100 dòng đầu thì dùng lệnh
sau: head 100 tenfile)

Lệnh khi làm việc trên terminal

 clear: xoá trắng cửa sổ dòng lệnh.

 date: xem ngày, giờ hệ thống.

 cal: xem lịch hệ thống.

Lệnh quản lí hệ thống

 rpm: kiểm tra gói đã cài đặt hay chưa, hoặc cài đặt một gói, hoặc sử dụng để gỡ bỏ một gói.

 ps: kiểm tra hệ thống tiến trình đang chạy.

 kill: dừng tiến trình khi tiến trình bị treo. Chỉ có người dùng super-user mới có thể dừng tất cả
các tiến trình còn người dùng bình thường chỉ có thể dừng tiến trình mà mình tạo ra.

 top: hiển thị sự hoạt động của các tiến trình, đặc biệt là thông tin về tài nguyên hệ thống và việc
sử dụng các tài nguyên đó của từng tiến trình.

 pstree: hiển thị tất cả các tiến trình dưới dạng cây.

 sleep: cho hệ thống ngừng hoạt động trong một khoảng thời gian.

 useradd: tạo một người dùng mới.

 groupadd: tạo một nhóm người dùng mới.

 passwd: thay đổi password cho người dùng.

 userdel: xoá người dùng đã tạo.

 groupdel: xoá nhóm người dùng đã tạo.

 gpasswd: thay đổi password của một nhóm người dùng.

 su: cho phép đăng nhập với tư cách người dùng khác.

 groups: hiển thị nhóm của user hiện tại.

 who: cho biết ai đang đăng nhập hệ thống.

 w: tương tự như lệnh who.

 man: xem hướng dẫn về dòng lệnh như cú pháp, các tham số...
Để hiểu và sử dụng tốt các câu lệnh trên, các bạn nên sử dụng lệnh man với cú pháp: man ten_cau_lenh
để có được những thông tin đầy đủ về chức năng cũng như cú pháp của câu lệnh.

Các câu lệnh kiểm tra thông tin hệ thống (system information) trong Linux

Lệnh Linux Mô tả

cat /proc/cpuinfo Kiểm tra thông tin CPU (số core)

cat /proc/meminfo Kiểm tra thông tin về RAM đang sử dụng

cat /proc/version Kiểm tra phiên bản của Kernel Linux

cat /proc/ioports Xem thông tin port I/O

cat /etc/redhat-release Kiểm tra phiên bản Centos

uname -a Kiểm tra các thông tin về Kernel

free -m Kiểm tra dung lượng RAM còn trống

init 0 Tắt máy (tương đương lệnh shutdown -h now hoặc telinit 0)

df -h Hiển thị thông tin những file hệ thống, nơi file được lưu hoặc tất
cả những file mặc định. Lệnh này có thể xem được dung lượng ổ
cứng đã sử dụng và còn trống.

du -sh Kiểm tra dung lượng thư mục hiện tại

du -ah Hiển thị dung lượng của thư mục con và các file trong thư mục
hiện tại

du -h –max-depth=1 Hiển thị dung lượng các thư mục con ở cấp 1 (ngay trong thư
mục hiện tại)

df Kiểm tra dung lượng đĩa cứng, các phân vùng đĩa

lspci Xem thông tin mainboard /sbin/ifconfig Xem các địa chỉ IP của
máy

hostname Xem tên máy (hostname)

finger user@server Thu thập thông tin chi tiết về người dùng hiện đang dùng hệ
thống

arch Kiểm tra kiến trúc của máy (architech)

cat /proc/swaps Kiểm tra thông tin SWAP của máy (tương tự như virtual RAM của
Windows)

last reboot Xem lịch sử reboot máy

Các lệnh shutdown, restart… trong Linux


Lệnh Linux Mô tả

logout Kết thúc session (phiên làm việc) hiện tại

reboot Khởi động lại máy

shutdown -r now Khởi động lại máy (tương đương với lệnh reboot)

shutdown -h now Tắt máy (ngay lập tức)

shutdown -h 9:30 Hẹn giờ tắt máy (schedule) vào lúc 9h30 (tính theo khung 24h)

shutdown -c Hủy bỏ tất cả các lệnh tắt máy trước đó (các lệnh tắt máy theo
schedule)

telinit 0 Tắt máy (tương đương lệnh shutdown -h now)

init 0 Tắt máy (tương đương lệnh shutdown -h now hoặc telinit 0)

exit Thoát khỏi terminal

halt Tắt máy (tương tự shutdown)

sleep Cho hệ thống ngừng hoạt động trong một thời gian (ngủ – tương
tự Windows)

Các lệnh về quản lý user trong Linux

Lệnh Linux Mô tả

passwd Đổi mật khẩu (standard user có thể đổi pass của họ còn user root
thì thay đổi được password của mọi user)

pwck Kiểm tra syntax và định dạng của dữ liệu user/password


(/etc/passwd)

useradd Tạo user mới, ví dụ: useradd -c “test user 1” -g group1

userdel Xóa User

usermod Thay đổi thông tin user (group, name…)

groupadd Tạo một nhóm user mới

groupdel Xóa nhóm user

groupmod Thay đổi thông tin group, ví dụ, groupmod -n “old group name”
“new name”

who /w Hiển thị những user đang đăng nhập hệ thống

uname Hiển thị tên của hệ thống (host)

id Hiển thị user ID (Chỉ danh của user)


logname Hiển thị tên user đang login

su Cho phép đăng nhập với tên user khác (tương tự secondary
logon của Windows)

groups Hiển thị nhóm của user hiện tại

#vi /etc/passwd Xem danh sách user

#vi /etc/group Xem danh sách nhóm (group)

chmod [tên file=””][/tên] Thay đổi quyền cho file/thư mục (chỉ user sở hữu file mới thực
hiện được)

chown user [tên file=””][/tên] Thay đổi chủ sở hữu file/thư mục

chgrp group [file][/file] Thay đổi group sở hữu file/thư mục

Các lệnh Quản lý services và process trong Linux

Lệnh Linux Mô tả

top Lệnh top khá giống như Task Manager trong Windows. Nó đưa ra
thông tin về tất cả tài nguyên hệ thống, các process đang chạy,
tốc độ load trung bình… Lệnh top -d thiết lập khoảng thời gian
làm mới lại hệ thống

ps –u username Kiểm tra những process được thực hiện bởi một user nhất định

ps –U root Kiểm tra mọi process ngoại trừ những process hệ thống

ps –A Kiểm tra mọi process trong hệ thống

Ss Kiểm tra socket đang kết nối

ss –l Hiển thị các cổng đang mở

w username Kiểm tra user đăng nhập, lịch sử đăng nhập, các process user đó
đang chạy

vmstat3 Kiểm soát hành vi hệ thống, phần cứng và thông tin hệ thống
trong Linux

ps Hiển thị các chương trình hiện đang chạy

uptime Hiển thị thời gian đã vận hành của hệ thống trong bao lâu

rpm Kiểm tra, gỡ bỏ hoặc cài đặt 1 gói .rpm

yum Cài đặt các ứng dụng đóng gói (giống rpm)

wget Tải các ứng dụng từ một website về

sh Chạy một ứng dụng có đuôi .sh


Startx Khởi động chế độ xwindows từ cửa sổ terminal

yum update -y Update Linux (CentOS)

stop/start/restart Dừng/ khởi động/khởi động lại một service hoặc ứng dụng, ví dụ:
service mysql stop hoặc /etc/init.d/mysqld start

kill Dừng proccess (thường dùng khi process bị treo). Chỉ có super-
user mới có thể dừng tất cả các process còn user khác chỉ có thể
dừng proccess mà user đó tạo ra

kill PID hoặc %job Ngừng một process bằng số PID (Process Identification Number)
hoặc số công việc

pstree Hiển thị tất cả các process dưới dạng cây

service –status-all Kiểm tra tất cả các service và tình trạng của nó

whereis mysql Hiển thị nơi các file dịch vụ được cài đặt

service –status-all | grep abc Xem tình trạng của process abc

kill -9 PID Bắt buộc đóng một process ID

kill -1 PID Bắt buộc đóng một process ID và load lại cấu hình mặc định của
process đó

Một số lệnh hữu ích khác trong Linux

Lệnh Linux Mô tả

clear Xoá trắng cửa sổ dòng lệnh

hwclock Fix lịch của BIOS

cal Xem lịch hệ thống

date Xem lịch ngày, giờ hệ thống

date –s “1 JAN 2018 15:29:00” Đặt ngày giờ hệ thống theo string

date +%Y%m%d -s “20180101″ Đặt ngày hệ thống (không thay đổi giờ)

date +%T -s “00:29:00″ Đặt giờ hệ thống, không thay đổi ngày

Các câu lệnh xem thông tin file và thư mục

Lệnh Linux Mô tả

ls Lấy danh sách tất cả các file và folder trong thư mục hiện hành

ls tenthumuc Liệt kê nội dung bên trong một thư mục

ls -l Như trên, nhưng liệt kê cả kích thước file, ngày cập nhật..
ls -a Liệt kê tất cả các file ẩn

pwd Xuất đường dẫn của folder đang làm việc

cd Thay đổi folder làm việc đến một folder mới (tương tự như
trong DOS)

df Kiểm tra disk space

Lệnh nén và giải nén trong Linux

Lệnh Linux Mô tả

tar -cvf Nén file/thư mục sang định dạng .tar

tar -xvf Giải nén file tar

gzip Chuyển file .tar sang .tar.gz

gunzip Chuyển file .tar.gz về .tar

tar -xzf Giải nén file .tar.gz, ví dụ: tar -xvf archive.tar

tar -zxvf Giải nén file .tar.bz2

tar -jxvf Giải nén file .tar.gz2

unzip Giải nén file zip

Lệnh sao lưu và phục hồi database

Lệnh Linux Mô tả

mysqldump -u root -p[dbpass] Sao lưu database ra file .sql


[databasename] > [database.sql]

mysqldump -u root -p[dbpass] Sao lưu database và nén lại dưới dạng .gz
[databasename] | gzip -9 >
[backupfile].sql.gz

mysql -u username -p[dbpass] Khôi phục database


[databasename] < [database].sql
Những lệnh Linux cơ bản ai cũng cần biết

Thao tác trên Linux nhanh hơn rất nhiều

Công nghệ Linux

Nhật Vượng

61.156 lượt xem

Cũng giống như hệ điều hành Windows, khi sử dụng Linux bạn cũng nên tìm hiểu các lệnh Linux cơ bản
để thực hiện các thao tác nhanh chóng và dễ dàng hơn. Dưới đây là một số lệnh cơ bản trên Linux bạn
nên biết.

Những lệnh Linux cơ bản

 1. Một số lưu ý quan trọng về Linux Terminal

 2. Tạo một thư mục mới

 3. Tìm kiếm thư mục hiện tại

 4. Đọc một số file

 5. Sao chép hoặc di chuyển file

 6. Xóa cac file và thư mục

 7. Danh sách nội dung thư mục

 8. Tìm kiếm lệnh Linux trước đó

 9. Mật khẩu vô hình

 10. Sao chép và dán lệnh Linux

 11. Hiển thị tiến trình trong hệ thống Linux

 12. Kiểm tra thông tin Socket và thông tin mạng TCP/UDP

 13. Theo dõi Average CPU Load và Disk Activity

 14. Kiểm tra Memory Map của các tiến trình trong Linux

 15. Kiểm tra thời gian vận hành của hệ thống


 16. Kiểm tra người dùng đăng nhập

 17. Kiểm soát hành vi hệ thống, phần cứng và thông tin hệ thống trong Linux

 18. Kiểm tra thông tin phần cứng của hệ thống Linux

 19. Các lệnh xử lý tập tin trên Linux

 20. Các lệnh mạng trên Linux

 21. Lệnh bảo mật Linux

 sudo

 visudo

 who và w

 last

 find

 file

 which

 ss

 ufw

 iptables

 ip

 ip route

 kill, pkill và killall

 passwd

 pwck

 setfacl và getfacl

 sestatus & apparmor

1. Một số lưu ý quan trọng về Linux Terminal


Để mở Terminal nhanh chóng từ GUI, nhấn tổ hợp phím Ctrl + Alt + T.

Mổ xẻ hầu hết các lệnh Linux:

[sudo] command [optional switch] [file or directory path]

Sử dụng sudo sẽ chạy bất kỳ một lệnh nào đó dưới quyền Admin. Hầu hết các lệnh Linux dùng để cài
đặt/gỡ bỏ các file hệ thống một chương trình, sử dụng nào đó để yêu cầu sudo.

2. Tạo một thư mục mới

Để tạo một thư mục mới trên Linux, bạn có thể sử dụng lệnh mkdir. Cú pháp câu lệnh:

mkdir folder

Lưu ý:

Folder là tên thư mục bạn muốn tạo. Chẳng hạn nếu bạn muốn tạo thư mục có tên là backup thi cú pháp
là:

mkdir /home/marin/backup

Trong trường hợp nếu muốn tạo một thư mục chứa nhiều thư mục con, bạn có thể sử dụng tùy chọn "-
p". Tùy chọn -p đảm bảo các thư mục cha được tạo nằm trong thư mục bạn tạo.

3. Tìm kiếm thư mục hiện tại

Nếu muốn tìm kiếm thư mục hiện tại của bạn, bạn có thể sử dụng lệnh pwd.

Ví dụ như:

marin@[LinuxVeda]:[~/work]$ pwd

/home/marin/work

4. Đọc một số file


Thông thường bạn phải xem xét nội dung của các file khác nhau. Việc rà soát các file khác nhau thường
xuyên thường khá phức tạp và tốn nhiều thời gian. Do đó cách đơn giản nhất để đọc nội dung các file
này là sử dụng câu lệnh cat. Cú pháp câu lệnh khá đơn giản:

cat FILE

Chỉ cần thay đổi FILE bằng tên file bạn muốn đọc. Kết quả bạn sẽ nhìn thấy nội dung của file xuất hiện ở
cuối Terminal.

Ví dụ như:

cat script.sh

Ngoài ra bạn có thể sử dụng lệnh cat cho nhiều file cùng một lúc:

cat FILE-1 FILE-2

Đầu ra của lệnh sẽ hiện thị nội dung các file theo thứ tự nội dung của FILE - 1 rồi đến nội dung FILE -2.

5. Sao chép hoặc di chuyển file

Việc sao chép hoặc di chuyển file trong Linux terminal khá đơn giản và dễ dàng.

 Để sao chép một file, bạn có thể sử dụng lệnh: cp.

 Để di chuyển 1 file bạn sử dụng câu lệnh: mvoflder.

Cả 2 lệnh sử dụng khá đơn giản. Với lệnh cp. Để sao chép một file, bạn nhập tên file và nhập tên file
copy mới. Ví dụ:

cp file1 file2

Trên câu lệnh trên sao chép file1 và tạo ra file2 có chứa nội dụng file1. Bạn có thể sử dụng cp để sao
chép thư mục. Điều quan trọng cần lưu ý khi muốn sao chép một thư mục bạn nên sử dụng tùy chọn -r.

Nói cách khác, cp -r sẽ sao chép nội dung của một thư mục nhất định (và các thư mục con) sang thư mục
bạn lựa chọn. Ngoài ra bạn có thể sử dụng cp với đường dẫn đầy đủ:

cp -r /home/marin/work/ /home/marin/backup

Câu lệnh trên sẽ sao chép nội dung của thư mục "work" sang thư mục mới có tên "backup".

Nếu muốn sao chép tất cả các file và thư mục của một thư mục sang một thư mục khác, bạn có thể sử
dụng ký tự "*". Ký tự được sử dụng để tìm các cổng phù hợp (trường hợp này là các file và thư mục). Ví
dụ:

cp /home/marin/work/* /home/marin/backup/

Tiếp theo là lệnh mv. Cú pháp câu lệnh:


mv file1 file2

Câu lệnh trên đổi tiên file1 thành file2. Tương tự với thư mục cũng thế. Tuy nhiên nếu bạn chỉ định 1 file
và 1 thư mục, file sẽ được di chuyển vào trong thư mục. Chẳng hạn:

mv /home/marin/file1 /home/marin/work/

Trong câu lệnh trên sẽ di chuyển file1 từ “/home/marin/” sang “/home/marin/work/”. Nếu bạn muốn di
chuyển tất cả các file trong một thư mục sang thư mục khác, bạn có thể sử dụng ký tự "*":

mv /home/marin/work/* /home/marin/backup/

6. Xóa cac file và thư mục

Nếu muốn xóa một thư mục hoặc một file bạn có thể sử dụng lệnh rm. Điều quan trọng bạn cần lưu ý là
khi sử dụng lệnh này để xóa một file hoặc thư mục, các file này không thể restore được. Để xóa 1 file
bạn thực hiện:

rm /home/marin/useless-file.txt

Bạn có thể sử dụng rm với nhiều tùy chọn khác nhau. Một số tùy chọn quan trọng như:

-f: buộc xóa các file có thông báo nhắc nhở

-i: nhắc nhở trước khi xóa

-r: xóa bỏ các thư mục đệ quy

-d: xóa các thư mục rỗng

-v: giải thích đang thực hiện nhiệm vụ gì

7. Danh sách nội dung thư mục

Để liệt kê danh sách các thư mục, bạn có thể sử dụng lệnh ls:

Lệnh "ls" có thể lấy các thông số khác nhau giúp bạn thay đổi đầu ra của câu lệnh. Ví dụ, với thông số "-
a" sẽ hiển thị tất cả các file và thư mục, trong đó có cả thư mục ẩn có chứa "-a".
Nếu muốn đầu ra của câu lệnh hiển thị danh sách thông tin chi tiết từng file và thư mục, bạn có thể sử
dụng tùy chọn “-l” (L):

ls -l You can try different

Ngoài ra bạn có thể kết hợp các thông số để hiển thị thông tin chi tiết tất cả các file:

ls –al

8. Tìm kiếm lệnh Linux trước đó


Nhấn phím Up sẽ hiển thị câu lệnh Linux cuối cùng bạn sử dụng thành công. Không có câu lệnh lỗi nào
hiển thị tại đây cả.

Ngoài ra bạn có thể sử dụng lệnh history để xem tất cả các lệnh Linux đã từng sử dụng trên Terminal.

9. Mật khẩu vô hình

Khi được yêu cầu nhập mật khẩu, giả sử trong trường hợp sử dụng sudo, khi bạn gõ mật khẩu trên màn
hình sẽ không hiển thị gì cả, không có ngôi sao hay dấu chấm... Sau khi nhập xong mật khẩu, bạn nhấn
Enter là xong.

10. Sao chép và dán lệnh Linux

Để sao chép hoặc dán lệnh Terminal, bạn không thể sử dụng tổ hợp phím quen thuộc Ctrl + C và Ctrl + V.

Thay vào đó bạn có thể sử dụng Ctrl + Shift + C và Ctrl + Shift + V hoặc kích chuột phải rồi
chọn Copy hoặc Paste từ Menu ngữ cảnh.

11. Hiển thị tiến trình trong hệ thống Linux

Một trong những công việc cần thiết khi quản trị hệ thống Linux đó là kiểm soát các tiến trình hiện đang
chạy. Khi đã biết được những tiến trình nào đang chạy bạn có thể tắt những tiến trình gây giảm tốc độ
của hệ thống. Ngoài ra, thông tin về những tiến trình hệ thống cho chúng ta biết nên tắt nhưng tiến trình
làm cho hệ thống vận hành không ổn định. Do đó việc biết được những tiến trình nào đang chạy trên hệ
thống rất quan trọng. Linux hỗ trợ nhiều phương pháp kiểm tra tiến trình, một trong số đó là sử dụng
lệnh ps. Khi sử dụng lệnh này mọi thông tin về những tiến trình đang chạy sẽ được hiển thị. Bạn chỉ cần
nhập cú pháp lệnh sau vào cửa sổ terminal:

# ps aux | less

Hình 1: Thông tin tiến trình đang chạy trong hệ thống.

Ngoài ra lệnh này có thể sử dụng kết hợp với một số tham số khác như:

# ps –A: Kiểm tra mọi tiến trình trong hệ thống.


# ps -U root -u root –N: Kiểm tra mọi tiến trình ngoại trừ những tiến trình hệ thống.
# ps -u username: Kiểm tra những tiến trình được thực hiện bởi một người dùng nhất định.

Hoặc bạn có thể sử dụng lệnh # top để xem những tiến trình đang chạy trên hệ thống trong thời gian
thực.

12. Kiểm tra thông tin Socket và thông tin mạng TCP/UDP

Sau khi cấu hình những dịch vụ mạng của hệ thống Linux, bạn cần phải giữ lại tab của các cổng đang
thực sự nhận tín hiệu trên giao diện mạng của hệ thống. Điều này rất quan trọng vì hệ thống có thể bị
xâm nhập qua các cổng mở. Có một số công cụ quản lý Linux thông báo cho bạn biết thông tin của
những cổng mởvà truy cập vào những cổng đang mở trên mạng. Một trong những phương pháp đơn
giản và tin cậy nhất đó là sử dụng lệnh ss để kiểm tra thông tin Socket, ngoài ra lệnh này còn có thể hiển
thị nhiều thông tin TCP và thông tin trạng thái hơn các công cụ khác. Lệnh ss này cung cấp thông tin về:

 Mọi Socket TCP.


 Mọi Socket UDP.

 Mọi kết nối ssh/ftp/http/https.

 Mọi tiến trình cục bộ được kết nối tới máy chủ X.

 Mọi Socket TCP trong trạng thái FIN-WAIT-1.

Dưới đây là một số lệnh ss:

# ss –s: Hiển thị tổng số Socket.

Hình 2: Thông tin kết xuất khi chạy lệnh # ss –s.

# ss -1: Hiển thị mọi cổng mở.

Hình 3: Thông tin kết xuất khi chạy lệnh # ss -1.

# ss –pl: Kiểm tra tên tiến trình sử dụng Socket mở sử dụng lệnh sau:

# ss -lp | grep: Kiểm tra người dùng đang làm việc với Socket mở.

# ss -t –a: Hiển thị mọi Socket TCP.


# ss -u –a: Hiển thị mọi Socket UDP.

13. Theo dõi Average CPU Load và Disk Activity

Nếu là một quản trị viên hệ thống Linux, bạn cần phải biết phương pháp duy trì một sự cân bằng hợp lý
trong quá trình tải đầu vào và đầu ra giữa các ổ đĩa vật lý. Bạn có thể thay đổi cấu hình hệ thống để thực
hiện tác vụ này. Tuy nhiên có một phương pháp đơn giản hơn rất nhiều đó là sử dụng lệnh isostat để
quản lý hệ thống thiết bị tải đầu vào và đầu ra trong Linux bằng cách theo dõi thời gian hoạt động và tốc
độ truyền trung bình của những thiết bị này. Lệnh này sẽ thông báo thông tin của CPU (Central
Processing Unit), thông tin đầu vào và đầu ra cho những thiết bị, phân vùng và hệ thống file mạng (NFS).
Khi chạy lệnh isostat thông tin kết xuất có dạng:

Hình 4: Thông tin hiển thị khi chạy lệnh isostat.

Để lấy thông tin thư mục NFS bạn hãy sử dụng lệnh sau:

# iostat –n

14. Kiểm tra Memory Map của các tiến trình trong Linux

Khi làm việc trong hệ thống Linux có thể bạn cần kiểm tra dung lượng bộ nhớ sử dụng trong hệ thống.
Linux tích hợp nhiều lệnh cho phép kiểm tra dung lượng bộ nhớ chiếm dụng. Trong đó có một lệnh đơn
giản giúp hiển thị thông tin tổng dung lượng đã chiếm dụng và chưa chiếm dụng của bộ nhớ vật lý và
tổng dung lượng bộ nhớ đó là lệnh free.

Sau khi chạy lệnh này bạn sẽ thấy tổng dung lượng đã chiếm dụng và chưa chiếm dụng của bộ nhớ vật lý
và tổng dung lượng bộ nhớ trong hệ thống. Ngoài ra nó còn hiển thị thông tin bộ nhớ đệm mà các nhân
sử dụng.
Hình 5: Thông tin hiển thị sau khi chạy lệnh free

15. Kiểm tra thời gian vận hành của hệ thống

Bạn có muốn biết máy chủ đã vận hành bao lâu? Nếu muốn bạn chỉ cần sử dụng lênh uptime để kiểm tra
thời gian mà hệ thống đã vận hành. Lệnh đơn giản này không chỉ cho bạn biết thời gian hệ thống vận
hành mà còn cho biết lượng người dùng đã đăng nhập vào hệ thống trong một khoảng thời gian trước
đó.

Hình 6: Kết quả lệnh uptime.

16. Kiểm tra người dùng đăng nhập

Ngoài những công cụ quản lý Linux, bạn có thể sử dụng một lệnh để kiểm tra những người dùng nào đã
thực hiên đăng nhập vào hệ thống và những gì họ đã thực hiện. Lệnh này sẽ hiển thị thời gian hiện tại,
thời gian hệ thống đã vận hành, lượng người dùng đã đăng nhập.

Ngoài ra lệnh này cũng hiển thị lượng tải trung bình trong mỗi 1, 5 và 15 phút. Lệnh này rất hữu dụng
với những Admin hệ thống muốn sử dụng thông tin tải trung bình để hoạch định dung lượng.

Để kiểm tra ai đã đăng nhập vào hệ thống và những tác vụ họ đã thực hiện bạn chỉ cần chạy lệnh sau:

# w username

Hình 7: Thông tin hiển thị sau khi chạy lệnh # w username.

17. Kiểm soát hành vi hệ thống, phần cứng và thông tin hệ thống trong Linux

Với nhiều người dùng Linux, kiểm soát hệ thống là một tác vụ phức tạp. Hầu hết các bản phân phối Linux
tích hợp khá nhiều công cụ kiểm soát. Những công cụ kiểm soát này cung cấp các phương pháp có thể
được áp dụng để kiểm tra thông tin hành vi hệ thống. Việc kiểm soát hệ thống cho phép người dùng
theo dõi nguyên nhân khả năng thực thi của hệ thống bị cản trở. Một trong những tác vụ cần thiết của
quá trình kiểm soát hệ thống là tra cứu thông tin về hành vi hệ thống, phần cứng và thông tin bộ nhớ. Có
một lệnh đơn giản giúp hiển thị thông tin về tiến trình, bộ nhớ, trang ghi, nhóm IO, lỗi và hành vi CPU đó
là lệnh vmstat.

Bạn chỉ cần nhập lệnh sau vào cửa sổ terminal:

# vmstat 3

Hình 8: Thông tin kết xuất của lệnh # vmstat 3.

Ngoài ra bạn có thể sử dụng lệnh # vmstat –m để kiểm tra thông tin bộ nhớ, và lệnh # vmstat –a để hiển
thị thông tin trang nhớ đang hoạt động và không hoạt động.

Hình 9: Thông tin hiển thị sau khi chạy lệnh # vmstat –a.

18. Kiểm tra thông tin phần cứng của hệ thống Linux

Với một số người dùng Linux thì việc kiểm tra thông tin phần cứng thật không dễ dàng. Linux là một hệ
thống phức tạp nhưng nó lại tích hợp một số công cụ giúp lấy thông tin chi tiết của phần cứng, chẳng
hạn chúng ta có thể sử dụng một lệnh khá đơn giản để kiểm tra thông tin đĩa cứng trên hệ thống đó là
lệnh hdparm. Lệnh này cung cấp một giao diện dòng lệnh để thực hiện quản lý nhiều loại đĩa cứng được
hệ thống phụ điều khiển thiết bị ATA/IDE của Linux hỗ trợ. Nó cung cấp một lệnh giúp hiển thị thông tin
xác minh như dung lượng, thông tin chi tiết, … trực tiếp từ ổ đĩa. Thông tin này được lưu dưới một định
dạng mở rộng mới. Bạn chỉ cần đăng nhập dưới quyền root user và sử dụng lệnh sau:

# hdparm -I /dev/sda

Hoặc dùng lệnh:


$ sudo hdparm -I /dev/sda

Khi đó thông tin về đĩa cứng của hệ thống sẽ lập tức hiển thị.

Hình 10: Thông tin chi tiết của đĩa cứng.

19. Các lệnh xử lý tập tin trên Linux

Lệnh Linux Nhiệm vụ lệnh sẽ làm

ls Liệt kê nội dung thư mục hiện tại

ls -al Liệt kê nội dung thư mục bao gồm cả file ẩn

cd dir Di chuyển từ thư mục hiện tại sang thư mục dir

cd Chuyển từ thư mục hiện tại về thư mục riêng (thường là [Tên User] ở Home)

pwd Hiện thư mục hiện tại

mkdir quantrimang Tạo thư mục mới có tên là quantrimang

rm filemuonxoa Xóa file có tên là filemuonxoa

rm -r
Xóa thư mục có tên là quantrimang
thumuccanxoa

rm -f filecanxoa Bắt xóa file có tên là filecanxoa


rm -rf
Bắt xóa thư mục có tên là thumuccanxoa
thumuccanxoa

cp file1 file2 Sao chép file1 sang file2

cp -r dir1 dir2 Sao chép thư mục dir1 sang dir2 và tạo dir2 nếu chưa có dir2

Di chuyển file1 đến chỗ file2 hoặc đổi tên file1 thành file2. Nếu file2 có sẵn thì di
mv file1 file2
chuyển file1 vào file2

ln -s tenfile link Tạo liên kết biểu tượng có tên là link đến file có tên là tenfile

touch filecantao Tạo hoặc cập nhật tập tin filecantao

cat > tenfile Nhập từ bàn phím (đầu vào chuẩn - standard input) vào tập tin tenfile mới

more tenfile Hiện nội dung file có tên là tenfile

head tenfile Hiện 10 dòng đầu của tập tin tenfile

tail tenfile Hiện 10 dòng cuối của tập tin tenfile

tail -f tenfile Hiện nội dung của tập tin tenfile và cập nhật liên tục trong thời gian thực

tail -f -n N tenfile Hiện nội dung của tập tin tenfile và cập nhật liên tục, giới hạn N dòng

20. Các lệnh mạng trên Linux

Mình đã có một bài rất chi tiết, bạn có thể tham khảo tại đây: Hướng dẫn thao tác với mạng cho người
dùng Linux: 11 câu lệnh cần biết.

21. Lệnh bảo mật Linux

Có nhiều khía cạnh cần bảo mật trên các hệ thống Linux - từ việc thiết lập tài khoản để đảm bảo rằng
người dùng khác không có nhiều đặc quyền hơn những gì họ cần để thực hiện công việc. Đây là một số
lệnh bảo mật quan trọng nhất cho công việc hàng ngày trên các hệ thống Linux.
sudo

Chạy các lệnh đặc quyền với sudo, thay vì chuyển người dùng thành root, là một hành động cần thiết vì
nó giúp đảm bảo rằng bạn chỉ sử dụng đặc quyền root khi cần và hạn chế tác động của các lỗi xảy ra.
Quyền truy cập của bạn vào lệnh sudo phụ thuộc vào các thiết lập trong file /etc/sudoers và /etc/group.

$ sudo adduser shark


Adding user `shark' ...
Adding new group `shark' (1007) ...
Adding new user `shark' (1007) with group `shark' ...
Creating home directory `/home/shark' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for shark
Enter the new value, or press ENTER for the default
Full Name []: shark
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y

Ví dụ, nếu bạn chạy sudo và muốn tìm hiểu vai trò của mình là gì, bạn sẽ nhận được xác nhận rằng bạn
đang chạy lệnh dưới dạng root.

$ sudo whoami
root

Nếu bạn quản lý thiết lập sudo cho nhiều người dùng, bạn cũng sẽ thấy thoải mái với lệnh visudo.

visudo

Lệnh visudo cho phép bạn thay đổi file /etc/sudoers bằng cách mở file trong trình soạn thảo văn bản và
kiểm tra các thay đổi của bạn đối với cú pháp. Chạy lệnh “sudo visudo” và chắc chắn rằng bạn hiểu rõ về
cú pháp. Các đặc quyền có thể được gán bởi mộ t người dùng hoặc theo nhóm. Trên hầu hết các hệ
thống Linux, file /etc/sudoers sẽ được cấu hình với các nhóm giống như được hiển thị bên dưới, cho
phép các đặc quyền được gán cho các nhóm được thiết lập trong file /etc/group. Trong những trường
hợp đó, bạn hoàn toàn không cần phải sử dụng lệnh visudo, mà chỉ cần làm quen với các nhóm có đặc
quyền root theo cách này, và thực hiện các cập nhật của bạn cho file /etc/group.

%admin ALL=(ALL) ALL


%sudo ALL=(ALL:ALL) ALL
%wheel ALL=(ALL:ALL) ALL

Lưu ý: Tên nhóm có ký hiệu % đứng trước.

Bạn có thể hiển thị nhóm cung cấp truy cập sudo trong file /etc/group của bạn như sau:

$ egrep "admin|sudo|wheel" /etc/group


sudo:x:27:shs,jdoe

Cách dễ nhất để cung cấp cho ai đó đặc quyền sudo là thêm chúng vào nhóm được uỷ quyền
trong /etc/group. Tuy nhiên, điều đó có nghĩa là họ có thể chạy bất kỳ lệnh nào dưới dạng root. Nếu bạn
muốn một số người dùng có quyền root cho một nhóm lệnh nhất định (ví dụ, thêm và xóa tài khoản),
bạn có thể xác định các lệnh bạn muốn họ có thể chạy qua lệnh như sau:

Cmnd_Alias ACCT_CMDS = /usr/sbin/adduser, /usr/sbin/deluser

Sau đó cung cấp cho người dùng hoặc nhóm người dùng khả năng chạy các lệnh này bằng sudo với một
lệnh như sau:

nemo ALL=(ALL) ACCT_CMDS


%techs ALL=(ALL:ALL) ACCT_CMDS

Dòng đầu tiên cho phép người dùng "Nemo" chạy các lệnh twp (adduser và deluser) với sudo, trong khi
lệnh thứ hai gán cùng các đặc quyền cho bất kỳ ai thuộc nhóm "tech" trong file /etc/group.

who và w
Lệnh who và w cho bạn biết ai đã đăng nhập vào hệ thống, trong đó w hiển thị thêm thông tin, như nơi
họ đăng nhập, khi nào họ đăng nhập và thời gian họ đăng nhập là bao lâu.

$w
18:03:35 up 9 days, 22:48, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
joe tty2 /dev/tty2 27Apr18 9days 7:34 0.09s /usr/lib/x86_64-linux
shs pts/1 192.168.0.15 09:50 7.00s 0.28s 0.00s w

Sử dụng lệnh "sudo update-alternatives – config editor", nếu bạn không thích dùng trình soạn thảo mặc
định được gọi khi chạy lệnh visudo. Nó sẽ cung cấp một số trình chỉnh sửa tùy chọn và thay đổi cài đặt
của bạn.

last

Lệnh last hiển thị cho bạn thông tin đăng nhập gần đây của người dùng và thường hữu ích khi bạn đang
cố gắng theo dõi các thay đổi hoặc hoạt động khác.

$ last nemo
nemo pts/1 192.168.0.15 Wed May 2 07:01 - 08:29 (01:27)
wtmp begins Tue May 1 10:21:35 2018

“Nemo” đã không đăng nhập trong một thời gian. Anh ấy có thể đi nghỉ mát (hoặc có thể đi câu cá?) hay
vừa mới rời công ty. Loại thông tin này có thể hữu ích trong việc quyết định xem, bạn có cần theo dõi
điều này hay không.

find

Lệnh find được sử dụng cho nhiều loại tìm kiếm. Khi nói đến bảo mật, bạn có thể thấy mình đang tìm
kiếm các file không có chủ sở hữu (không có tài khoản tương ứng) hoặc các file mà bất cứ ai cũng có thể
ghi và thực thi được. Lệnh find rất dễ thự c hiện, nhưng yêu cầu một số tính năng quen thuộc và nhiều
tùy chọn để xác định những gì bạn đang tìm kiếm. Lệnh đầu tiên trong hai lệnh này sẽ tìm các file không
có chủ sở hữu xác định. Lệnh thứ hai sẽ tìm thấy các file mà bất kỳ ai cũng có thể chạy và sửa đổi.

$ sudo find /home -nouser


$ sudo find / -perm -o=wx

Hãy nhớ rằng -o trong lệnh thứ hai chỉ nhóm "other" - không phải là chủ sở hữu và không phải là nhóm
được liên kết với các file.

file

Lệnh file xem xét một file và xác định loại file dựa trên nội dung của file đó, chứ không phải tên file. File
“.jpg” trong ví dụ bên dưới rõ ràng không phải là file .jpeg thực, mà là file thực thi.

jdoe@stinkbug:~$ ls -l
total 24
-rw-r--r-- 1 root root 0 Apr 13 09:59 empty
-rwxr-xr-x 1 jdoe jdoe 18840 May 10 17:39 myphoto.jpg
-rwx------ 1 jdoe jdoe 24 May 2 07:06 trythis
jdoe@stinkbug:~$ file myphoto.jpg
myphoto.jpg: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter
/lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0,
BuildID[sha1]=5d19f7a492405ea9b022a9aa8151f6fb4143633d, stripped

which

Lệnh which xác định file thực thi sẽ chạy khi bạn gõ tên của nó. Điều này không phải lúc nào cũng giống
như bạn nghĩ. Nếu một Trojan đã được chèn vào hệ thống file ở một vị trí hiển thị trong đường dẫn tìm
kiếm của bạn, nó sẽ được chạy thay thế. Đây là lý do chính đáng để đảm bảo rằng đường dẫn tìm kiếm
của bạn bao gồm các thư mục như /usr/bin, trước khi nó thêm các vị trí kém chuẩn hơn và đặc biệt là
trước "." (thư mục hiện hành).

$ which date
/usr/local/bin/date <=== probably not what we wanted

Bạn có thể kiểm tra đường dẫn tìm kiếm của người dùng bằng cách chuyển sang vai trò người dùng và
là m như sau:

shs@stinkbug:~$ sudo su - nemo


nemo@stinkbug:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin

Ngay cả khi đường dẫn tìm kiếm của người dùng được thiết lập trong file hệ thống
như /etc/profile hoặc /etc/bash.bashrc, chúng có thể đã bị thay đổi bởi các cài đặt cục bộ.

$ which date
/usr/local/bin/date <=== probably not what we wanted

ss

Lệnh ss là một công cụ để điều tra các socket và cho phép bạn làm những việc như hiển thị các cổng
nghe và các kết nối hoạt động. Nếu không thêm một số điều kiện, ss sẽ hiển thị nhiều thông tin hơn
nhữ ng gì bạn có thể muốn xem xét. Sau tất cả, nhiều phần của hệ điều hành giao tiếp thông qua các
socket. Nếu bạn muốn tạo danh sách các kết nối đã được thiết lập hoặc các cổng nghe (nghĩa là các dịch
vụ có sẵn cho các hệ thống bên ngoài), các lệnh như thế này sẽ rất hữu ích.

Cho các kết nối được thiết lập:

$ ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 224 192.168.0.20:ssh 192.168.0.15:56647

$ ss | grep ESTAB | grep tcp


tcp ESTAB 0 64 192.168.0.20:ssh 192.168.0.15:64885

Cho các cổng nghe:

$ ss -ltn
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 5 127.0.0.1:631 *:*
LISTEN 0 50 *:445 *:*
LISTEN 0 50 *:139 *:*
LISTEN 0 128 *:5355 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 5 ::1:631 :::*
LISTEN 0 50 :::445 :::*
LISTEN 0 128 :::5355 :::*
LISTEN 0 50 :::139 :::*

Lưu ý: Cổng 631 (CUPS) chỉ nghe trên giao diện loopback (127.0.0.1).

ufw

Nếu bạn đang chạy tường lửa trên hệ thống Linux của mình - một bước quan trọng để kiểm soát quyền
truy cập vào hệ thống, các lệnh được sử dụng để bắt đầu/kết thúc, bật/tắt, sửa đổi và hiển thị trạng thái
hoặc các quy tắc hoạt động là rất quan trọng. Dưới đây là một số lệnh mẫu cho ufw mà bạn sẽ tìm thấy
trên nhiều hệ thống Ubuntu:

$ sudo ufw status verbose


Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To Action From
-- ------ ----
22 ALLOW IN 192.168.0.0/24

Tường lửa này đang hoạt động và chỉ cho phép các kết nối từ mạng cục bộ đến ssh. Các lệnh sau đây sẽ:

1. Thiết lập quy tắc được hiển thị ở trên

2. Vô hiệu hóa tường lửa.

$ sudo ufw allow from 192.168.0.0/24 to any port 22


$ sudo ufw disable

iptables

Điều quan trọng là phải biết cách liệt kê các quy tắc tường lửa cho iptables. Các lệnh này sẽ cung cấp cho
bạn một danh sách đầy đủ các quy tắc netfilter:

sudo iptables -vL -t filter


sudo iptables -vL -t nat
sudo iptables -vL -t mangle
sudo iptables -vL -t raw
sudo iptables -vL -t security
ip

Lệnh ip cho phép bạn hiển thị thông tin trên các giao diện mạng của mình. Trong ví dụ bên dưới, chúng
ta sẽ thấy loopback (vòng lặp) và giao diện công khai.

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default
qlen 1000
link/ether 00:1e:4f:c8:43:fc brd ff:ff:ff:ff:ff:ff
inet 192.168.0.20/24 brd 192.168.0.255 scope global dynamic enp0s25
valid_lft 59794sec preferred_lft 59794sec
inet6 fe80::f233:4f72:4556:14c2/64 scope link
valid_lft forever preferred_lft forever

ip route

Lệnh ip route sẽ hiển thị bảng định tuyến của bạn:

$ ip route
default via 192.168.0.1 dev enp0s25 proto static metric 100
169.254.0.0/16 dev enp0s25 scope link metric 1000
192.168.0.0/24 dev enp0s25 proto kernel scope link src 192.168.0.20 metric 100

kill, pkill và killall

Các hệ thống Unix và Linux cung cấp một lựa chọn thuận tiện cho các lệnh để chấm dứt các tiến trình,
bất cứ khi nào bạn muốn. Bạn có thể kết thúc bằng ID của tiến trình hoặc theo tên của nó. Bạn có thể
kết thúc từng tiến trình một hoặc theo nhóm. Trong bất kỳ trường hợp nào, các lệnh kết thúc khác nhau
đều có sẵn cho bạn sử dụng khi cần thiết. Những ví dụ bao gồm:

$ kill 1234
$ pkill bad
$ killall badproc

passwd

Lệnh passwd có lẽ là khá rõ ràng khi nói đến bảo mật hệ thống, nhưng nó không nên bị bỏ qua trong bất
kỳ danh sách cần thiết về bảo mật nào. Thay đổi mật khẩu, đặc biệt là khi nhiều người dùng đến rồi đi
hoặc vai trò của họ thay đổi, là rất quan trọng.

Tuy nhiên, lệnh passwd không chỉ được sử dụng để thay đổi mật khẩu. Bạn cũng có thể sử dụng nó với
đặc quyền sudo để thay đổi mật khẩu của người dùng khác, khóa/mở khóa hoặc làm tài khoản hết hạn,
kiểm tra trạng thái tài khoản và thay đổi cài đặt để xác định thời điểm mật khẩu hết hạn hoặc cảnh báo
mật khẩu thời gian.

Kiểm tra trang man (man passwd) để biết chi tiết và sử dụng các lệnh như sau:

$ sudo passwd nemo <== change nemo's password


$ sudo passwd -e dory <== expire dory's password (forces her to reset it)
$ sudo passwd -i shark <== disable shark's account

pwck

Lệnh pwck thực hiện kiểm tra trên các file /etc/passwd và /etc/shadow của bạn, đảm bảo các trường
bắt buộc có mặt, các file và thư mục tồn tại, v.v...

$ sudo pwck
user 'squash': directory '/home/squash' does not exist
user 'squash': program '/bin/bsh' does not exist

setfacl và getfacl

Đừng để rwxr-x --- đánh lừa bạn rằng đây là tất cả những gì cần có để cấp quyền cho các file trên các hệ
thống Linux. Với lệnh setfacl và getfacl, bạn có thể cấp quyền cho ai đó không phải là chủ sở hữu của file
và không phải là thành viên của nhóm được liên kết (và bạn cũ ng không muốn họ trở thành thành viên
của nhóm này) truy cập vào file. Giả sử bạn muốn “Nemo” có quyền đọc đối với một file phác thảo
hướng dẫn thiết lập ufw của bạn và chỉ vậy thôi. Sử dụng lệnh như sau để sửa đổi danh sách điều khiển
truy cập (ACL) cho file:

$ setfacl -m u:nemo:r ufw-setup

Lệnh getfacl sau đó sẽ hiển thị rằng thay đổi đã được thực hiện:

$ getfacl ufw-setup
# file: ufw-setup
# owner: shs
# group: shs
user::rwx
user:nemo:r-- <===
group::rw- #effective:r--
mask::r--
other::---

sestatus & apparmor

Lệnh sestatus và apparmor có thể hiển thị trạng thái của các công cụ SELinux và apparmor, cung cấp sự
cách ly giữa các ứng dụng sử dụng điều khiển truy cập bắt buộc. Nếu bạn đang sử dụng một hoặc các
công cụ khác, bạn nên biết cách hiển thị trạng thái của chúng.

sestatus

$ sudo sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

apparmor

$ sudo apparmor_status
apparmor module is loaded.
18 profiles are loaded.
18 profiles are in enforce mode.
/sbin/dhclient
/usr/bin/evince
/usr/bin/evince-previewer
/usr/bin/evince-previewer//sanitized_helper
/usr/bin/evince-thumbnailer
/usr/bin/evince-thumbnailer//sanitized_helper
/usr/bin/evince//sanitized_helper
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/lib/cups/backend/cups-pdf
/usr/lib/snapd/snap-confine
/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/usr/sbin/cups-browsed
/usr/sbin/cupsd
/usr/sbin/cupsd//third_party
/usr/sbin/ippusbxd
/usr/sbin/tcpdump
0 profiles are in complain mode.
3 processes have profiles defined.
3 processes are in enforce mode.
/sbin/dhclient (705)
/usr/sbin/cups-browsed (30173)
/usr/sbin/cupsd (26828)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

Bạn cũng nên biết cách bắt đầu và dừng các công cụ này.
$ sudo /etc/init.d/apparmor start
$ sudo /etc/init.d/apparmor stop
$ sudo /etc/init.d/apparmor restart

Đối với SELinux, các chế độ khác nhau đại diện cho:

enforcing -- SELinux security policy is enforced


permissive -- SELinux prints warnings instead of enforcing
disabled -- SELinux is fully disabled

Nhiều lệnh trên các hệ thống Linux có thể giúp bạn quản lý bảo mật. Các mô tả ở trên chỉ giới thiệu các
lệnh này, nhưng không giải thích mọi thứ về cách chúng hoạt động hoặc có thể được sử dụng.

You might also like