Hệ điều hành IT007 là một khóa học được tổ chức tại Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh. Khóa học này tập trung vào việc giảng dạy và thực hành các khái niệm cơ bản và nâng cao về hệ điều hành, bao gồm cách hoạt động của hệ điều hành, quản lý bộ nhớ, quản lý tiến trình, quản lý tài nguyên và bảo mật hệ thống. Bài tập thực hành Lab 1 là một phần quan trọng của khóa học này, giúp sinh viên áp dụng lý thuyết đã học vào thực tế. Trong Lab 1, sinh viên được yêu cầu thực hiện một số tác vụ liên quan đến hệ điều hành, như cài đặt và cấu hình hệ điều hành, quản lý và giám sát tiến trình, và tìm hiểu về cách hệ điều hành tương tác với phần cứng máy tính. Báo cáo bài tập thực hành Lab 1 là một phần không thể thiếu của quá trình học tập, yêu cầu sinh viên ghi lại quá trình thực hiện bài tập, phân tích kết quả và rút ra những kinh nghiệm quý giá từ việc thực hành. Báo cáo này không chỉ giúp sinh viên nắm vững kiến thức đã học mà còn phát triển kỹ năng nghiên cứu và viết báo cáo chuyên nghiệp. Năm 2023, sinh viên của khóa học Hệ điều hành IT007 đã hoàn thành bài tập thực hành Lab 1 trong quá trình học tập.
Trang 11
Họ và tên: Trần Lâm Ngọc Khanh
Mã số sinh viên: 22520653
Lớp: IT007.O21.CNVN.2
HỆ ĐIỀU HÀNH BÁO CÁO LAB 1
CHECKLIST
1.5 BÀI TẬP THỰC HÀNH
BT 1 BT 2 BT 3 BT 4 BT 5 BT 6 BT 7 Trình bày cách làm
Chụp hình minh chứng
Giải thích kết quả
1.6 BÀI TẬP ÔN TẬP
Trình bày cách làm
Chụp hình minh chứng
Giải thích kết quả
Tự chấm điểm: 9.9
*Lưu ý: Xuất báo cáo theo định dạng PDF, đặt tên theo cú pháp:
<MSSV>_LAB1.pdf
Trang 22
1.5 BÀI TẬP THỰC HÀNH
1 Thực hiện lệnh chuyển thư mục theo thứ tự sau?
- Chuyển về thư mục gốc
- Chuyển đến thư mục /bin
- Chuyển đến thư mục người dùng
1 Chuyển về thư mục gốc:
cd /
Lệnh cd (change directory) được sử dụng để thay đổi thư mục hiện tại / là thư mục gốc của hệ thống
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh cd / ta có thể dùng lệnh pwd
để kiểm tra địa chỉ của thư mục hiện hành Lúc này, ta thấy thư mục hiện hành là /
có nghĩa là chúng ta đã di chuyển đến root thành công
2 Chuyển đến thư mục /bin:
cd /bin
Lệnh này sẽ chuyển bạn đến thư mục /bin, nơi chứa các lệnh thực thi được sử dụng bởi hệ thống
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh cd /bin ta có thể dùng lệnh pwd để kiểm tra địa chỉ của thư mục hiện hành Lúc này, ta thấy thư mục hiện hành
là /bin có nghĩa là chúng ta đã di chuyển đến thư mục /bin thành công
3 Chuyển đến thư mục người dùng:
Trang 33
cd ~
Ký hiệu ~ đại diện cho thư mục home của người dùng hiện tại Lệnh này sẽ chuyển bạn đến thư mục home của bạn
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh cd ~ ta có thể dùng lệnh pwd để kiểm tra địa chỉ của thư mục hiện hành Lúc này, ta thấy thư mục hiện hành
là /home/tranlamngockhanh-22520653 là thư mục user_name của chúng ta khi tạo máy ảo, có nghĩa là chúng ta đã di chuyển đến thư mục người dùng thành công
2 Tạo cây thư mục như sau trong thư mục cá nhân của mình theo hình sau?
• Tạo thư mục Myweb (bên trong thư mục Desktop):
Để tạo thư mục Myweb bên trong thư mục Desktop, chúng ta thực hiện lệnh: mkdir Desktop/Myweb
Trang 44
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mkdir Desktop/Myweb ta có thể dùng lệnh ls Desktop để kiểm tra các thư mục có trong thư mục Desktop trước và sau khi dùng lệnh mkdir Desktop/Myweb Lúc này, ta thấy thư mục Myweb đã có trong thư mục Desktop sau khi dùng lệnh mkdir Desktop/Myweb, có nghĩa là chúng ta đã tạo thành công thư mục Myweb bên trong thư mục Desktop
• Tạo thư mục images:
Để tạo thư mục images bên trong thư mục Myweb, chúng ta thực hiện lệnh: mkdir Desktop/Myweb/images
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mkdir Desktop/Myweb/images ta có thể dùng lệnh ls Desktop/Myweb để kiểm tra các thư mục có trong thư mục Myweb trước và sau khi dùng lệnh mkdir Desktop/Myweb/images Lúc này, ta thấy thư mục images đã có trong thư mục Myweb sau khi dùng lệnh mkdir Desktop/Myweb/images, có nghĩa là chúng ta đã tạo thành công thư mục images bên trong thư mục Myweb
• Tạo thư mục databases:
Để tạo thư mục databases bên trong thư mục Myweb, chúng ta thực hiện lệnh: mkdir Desktop/Myweb/databases
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mkdir Desktop/Myweb/databases ta có thể dùng lệnh ls Desktop/Myweb để kiểm tra các
Trang 55
thư mục có trong thư mục Myweb trước và sau khi dùng lệnh mkdir Desktop/Myweb/databases Lúc này, ta thấy thư mục databases đã có trong thư mục Myweb sau khi dùng lệnh mkdir Desktop/Myweb/databases, có nghĩa là chúng ta đã tạo thành công thư mục databases bên trong thư mục Myweb
• Tạo thư mục scripts:
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mkdir Desktop/Myweb/scripts ta có thể dùng lệnh ls Desktop/Myweb để kiểm tra các thư mục có trong thư mục Myweb trước và sau khi dùng lệnh mkdir Desktop/Myweb/scripts Lúc này, ta thấy thư mục scripts đã có trong thư mục Myweb sau khi dùng lệnh mkdir Desktop/Myweb/scripts, có nghĩa là chúng ta đã tạo thành công thư mục scripts bên trong thư mục Myweb
• Tạo thư mục java:
Để tạo thư mục java bên trong thư mục Myweb, chúng ta thực hiện lệnh: mkdir Desktop/Myweb/java
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mkdir Desktop/Myweb/java ta có thể dùng lệnh ls Desktop/Myweb để kiểm tra các thư mục có trong thư mục Myweb trước và sau khi dùng lệnh mkdir Desktop/Myweb/java Lúc này, ta thấy thư mục java đã có trong thư mục Myweb sau khi dùng lệnh mkdir Desktop/Myweb/java, có nghĩa là chúng ta đã tạo thành công thư mục java bên trong thư mục Myweb
• Tạo thư mục icon:
Trang 66
Để tạo thư mục icon bên trong thư mục images, chúng ta thực hiện lệnh: mkdir Desktop/Myweb/images/icon
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mkdir Desktop/Myweb/images/icon ta có thể dùng lệnh ls Desktop/Myweb/images để kiểm tra các thư mục có trong thư mục images trước và sau khi dùng lệnh mkdir Desktop/Myweb/images/icon Lúc này, ta thấy thư mục icon đã có trong thư mục images sau khi dùng lệnh mkdir Desktop/Myweb/images/icon, có nghĩa là chúng ta
đã tạo thành công thư mục icon bên trong thư mục images
• Tạo thư mục background:
Để tạo thư mục background bên trong thư mục images, chúng ta thực hiện lệnh: mkdir Desktop/Myweb/images/background
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mkdir Desktop/Myweb/images/background ta có thể dùng lệnh ls Desktop/Myweb/images
để kiểm tra các thư mục có trong thư mục images trước và sau khi dùng lệnh mkdir Desktop/Myweb/images/background Lúc này, ta thấy thư mục background đã có trong thư mục images sau khi dùng lệnh mkdir Desktop/Myweb/images/background,
có nghĩa là chúng ta đã tạo thành công thư mục background bên trong thư mục images
• Tạo thư mục animation:
Để tạo thư mục animation bên trong thư mục images, chúng ta thực hiện lệnh: mkdir Desktop/Myweb/images/animation
Trang 77
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mkdir Desktop/Myweb/images/animation ta có thể dùng lệnh ls Desktop/Myweb/images
để kiểm tra các thư mục có trong thư mục images trước và sau khi dùng lệnh mkdir Desktop/Myweb/images/animation Lúc này, ta thấy thư mục animation đã có trong thư mục images sau khi dùng lệnh mkdir Desktop/Myweb/images/animation, có nghĩa là chúng ta đã tạo thành công thư mục animation bên trong thư mục images
3 Tìm hiểu trên Google, sử dụng lệnh để tìm một số file có phần mở rộng là html và class trong hệ thống file Copy một vài file html vào thư mục
Myweb?
• Tìm một số file có phần mở rộng là html:
Để tìm một số file có phần mở rộng là html trong hệ thống file (tìm từ thư mục root), chúng ta thực hiện lệnh: find / -name *.html
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh find / -name *.html
ta có thể nhìn vào màn hình và thấy hệ thống đã liệt kê ra cho chúng ta các
Trang 88
file có phần mở rộng là html, có nghĩa là chúng ta đã tìm các file có phần mở rộng là html trong hệ thống thành công
• Tìm một số file có phần mở rộng là class:
Để tìm một số file có phần mở rộng là class trong hệ thống file (tìm từ thư mục root), chúng ta thực hiện lệnh: sudo find / -name *.class
Khác với câu trên tìm các file có phần mở rộng là html, để tìm được các file
có phần mở rộng là class thì chúng ta cần thêm câu lệnh sudo ở trước để cung cấp quyền truy cập, nếu không có câu lệnh sudo ở trước thì chúng ta sẽ bị lỗi
“Permission denied” Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh sudo find / -name *.class ta có thể nhìn vào màn hình và thấy hệ thống đã liệt kê
ra cho chúng ta các file có phần mở rộng là class, có nghĩa là chúng ta đã tìm các file có phần mở rộng là class trong hệ thống thành công
Trang 99
• Copy một vài file html vào thư mục Myweb:
Để copy một file html vào thư mục Myweb, chúng ta cần tìm địa chỉ của một
/mnt/c/Users/bonus/Videos/nkindex.html Sau đó chúng ta thực hiện lệnh:
cp /mnt/c/Users/bonus/Videos/nkindex.html Desktop/Myweb
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh cp /mnt/c/Users/bonus/Videos/nkindex.html Desktop/Myweb ta có thể dùng lệnh ls Desktop/Myweb để kiểm tra các thư mục và file có trong thư mục Myweb trước
Desktop/Myweb Lúc này, ta thấy file nkindex.html đã có trong thư mục Myweb sau khi dùng lệnh cp /mnt/c/Users/bonus/Videos/nkindex.html Desktop/Myweb,
có nghĩa là chúng ta copy thành công một file html vào bên trong thư mục Myweb
4 Thực hiện lệnh mv để di chuyển vài file html trong thư mục Myweb vào thư mục Myweb/java?
Để di chuyển một file html từ thư mục Myweb vào thư mục Myweb/java, chúng ta
Desktop/Myweb/java
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh mv Desktop/Myweb/nkindex.html Desktop/Myweb/java ta có thể dùng lệnh ls Desktop/Myweb để kiểm tra các thư mục và file có trong thư mục Myweb trước và sau khi dùng lệnh mv Desktop/Myweb/nkindex.html Desktop/Myweb/java Lúc này, ta thấy file nkindex.html từ thư mục Myweb sau khi dùng lệnh mv
Trang 1010
Desktop/Myweb/nkindex.html Desktop/Myweb/java đã được di chuyển vào thư mục Myweb/java, có nghĩa là chúng ta di chuyển thành công một file html từ thư mục Myweb vào bên trong thư mục Myweb/java
5 Thực hiện xóa thư mục Myweb/scripts?
Để xóa thư mục Myweb/scripts, chúng ta thực hiện lệnh: rm -rf Desktop/Myweb/scripts
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh rm -rf Desktop/Myweb/scripts ta có thể dùng lệnh ls Desktop/Myweb để kiểm tra các thư mục và file có trong thư mục Myweb trước và sau khi dùng lệnh rm -rf Desktop/Myweb/scripts Lúc này, ta thấy thư mục scripts đã được xóa bỏ khỏi thư mục Myweb, có nghĩa là chúng ta đã xóa thư mục Myweb/scripts thành công
6 Thiết lập quyền truy xuất cho thư mục Myweb/databases sao cho chỉ có chủ
sở hữu có toàn quyền còn các người dùng khác không có bất kỳ quyền gì trên nó?
Để thiết lập quyền truy xuất cho thư mục Myweb/databases sao cho chỉ có chủ sở hữu có toàn quyền còn các người dùng khác không có bất kỳ quyền gì trên đó, chúng
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh chmod u=rwx,go= Desktop/Myweb/databases ta có thể dùng lệnh ls Desktop/Myweb -l để kiểm tra
Trang 1111
quyền truy xuất của các thư mục trong thư mục Myweb trước và sau khi dùng lệnh chmod u=rwx,go= Desktop/Myweb/databases Lúc này, ta thấy ở thư mục databases trước khi dùng lệnh chmod u=rwx,go= Desktop/Myweb/databases thì u=rwx (người dùng có quyền read, write, execute), g=rwx (nhóm có quyền read, write, execute), o=r-x (khác có quyền read và execute, không có quyền write), sau khi dùng lệnh chmod u=rwx,go= Desktop/Myweb/databases thì u=rwx (người dùng có quyền read, write, execute), g= - (nhóm không có quyền read, write, execute), o= - (khác không có quyền read, write, execute), có nghĩa là chúng ta đã thiết lập quyền thành công cho thư mục Myweb/databases
7 Tạo user có tên là it007 và password là ngày sinh của sinh viên User được tạo nằm trong group tên là HDH?
• Tạo user có tên là it007 và password là ngày sinh của từng sinh viên:
Để tạo user có tên là it007 và password là ngày sinh của từng sinh viên, chúng
ta thực hiện lệnh: sudo useradd Mit007, sau đó tiếp dụng sử dụng lệnh: sudo passwd it007
Để đảm bảo rằng chúng ta đã thực hiện thành công lệnh sudo useradd it007
để tạo user và tiếp tục dùng lệnh sudo passwd it007 để tạo password cho user vừa tạo Sau khi tạo xong password màn hình xuất ra thông báo password updated successfully, có nghĩa là chúng ta đã tạo thành công user có tên là MSSV và password là ngày sinh của từng sinh viên
• User được tạo nằm trong group có tên là HDH: - Để tạo group có tên là HDH, chúng ta sử dụng lệnh: sudo groupadd HDH - Để user được tạo ở phần trên nằm trong group có tên là HDH, chúng ta sử dụng lệnh: sudo usermod -a -G HDH it007
Trang 1212
Để đảm bảo rằng chúng ta đã thữ hiện thành công lệnh sudo groupadd HDH
để tạo group HDH và lệnh sudo usermod -a -G HDH it007 để thêm user có tên it007 vào group HDH ta sử dụng lệnh sudo groups it007 Lúc này, ta thấy user it007 đã ở trong group HDH, có nghĩa là chúng ta đã thực hiện thành công lệnh tạo user có tên là it007 nằm trong group có tên là HDH
1.6 BÀI TẬP ÔN TẬP
Trang 1313
Tạo ra 03 user lần lượt có username là: User1, User2, User3 Thực hiện các yêu cầu sau?
a Tìm hiểu trên Google và trình bày cách chuyển từ user này sang user khác sử dụng lệnh trong Ubuntu?
Để tạo ra ba user thì sẽ sử dụng câu lệnh sudo adduser user1/user2/user3
Có hai cách để có thể chuyển từ user này sang user:
-Cách đầu tiên là đăng nhập là root user, root user ở đây là tài khoản
“tranlamngockhanh-22520653” của mình Sau khi tạo ra ba user: user1, user2 và user3 thì có thể đổi root user sang user1 với câu lệnh sudo su user1
-Cách hai là từ một user bình thường, để có thể chuyển sang user khác thì chúng
ta phải thêm một bước là nhập mật khẩu của user muốn đổi, nếu muốn đổi sang user2 thì phải dung câu lệnh su user2 Sau khi nhập mật khẩu cho user2 thì đã chuyển sang thành user2
b Tạo ra file test_permission.txt có nội dung là Họ tên và MSSV của sinh viên,
phân quyền cho file như sau:
- User 1 có toàn quyền trên file
- User2 chỉ được phép đọc file, không có quyền chỉnh sửa
- User3 không có bất kỳ quyền gì trên file
Trang 1414
-Để tạo ra file test_permission.txt trong thư mục cá nhân thì đầu tiên phải sử
dụng dòng lệnh cat > test_permission.txt - Sau khi nhấn Enter, con trỏ sẽ được đặt vào dòng tiếp theo, cho phép nhập nội dung vào file text Nhập text vào đó rồi nhấn Enter sau mỗi đoạn Sau khi hoàn tất, nhấn Ctrl + D để thoát khỏi file
và quay trở lại dấu nhắc lệnh
-Sau khi tạo ra các user1, user2, user3 thì hệ thống cũng sẽ tự tạo ra các group có tên y hệt như vậy
-Để có thể cho user 1 có toàn quyền trên file, user2 chỉ được phép đọc file, không
có quyền chỉnh sửa và user3 không có bất kỳ quyền gì trên file, thì có thể cho user2 vào group user1, sau đó đổi người chủ tập tin từ “tranlamngockhanh-22520653” thành “user1”, lí do cho vậy là lệnh chmod có thể cho chủ file toàn quyền, cho thành viên trong nhóm đọp file và cho các user khác không có quyền
gì trên file
-Đầu tiên là thêm user2 và group user1, sử dụng lệnh sudo usermod -a -G user1 user2 , để biết có thêm thành công hay không thì có thể sử dụng lệnh getent group
để xem thành viên trong group user1
-Có thể thấy user2 đã vào group user1 thành công -Tiếp theo là đổi chủ của file test.permission.txt, sử dụng câu lệnh sudo chown user1:user1 test.permission.txt, lệnh này vừa đổi chủ thành user1 và đổi group của file text đó thành group của user1 luôn
Trang 1515
-Tiếp theo là xét quyền, chúng ta đầu tiên phải đổi sang user1 với câu lệnh sudo
su user1
-Sử dụng lệnh ls -l test.permission.txt để xem thử đã đổi chủ và group thành công hay chưa
-Sau đó là đặt lại quyền bằng lệnh chmod 740 test_permission.txt
c Kiểm tra kết quả của việc phân quyền trên bằng cách chuyển qua từng user và kiểm thử
Để có thể xem quyền của user1 thì đầu tiên là sử dụng lệnh su user1 để chuyển qua user1, sau đó sẽ sử dụng lệnh cd~ trước rồi sử dụng lệnh
cat/home/tranlamngockhanh-22520653/test_permission.txt
-Có thể thấy rằng user1 có thể xem được file, còn để xem thử user1 có edit được
file hay không thì sử dụng lệnh nano test_permission.txt