Khi sử dụng mã nguồn mở hay bất kỳ hệ điều hành đa nhiệm nào như Ubuntu – Linux thì việc tạo và quản lý, phân quyền truy cập để bảo đảm tiện ích, an toàn và bảo mật dữ liệu là rất quan t
Trang 1Mục Lục Trang
Lời cám ơn 4
Giới thiệu về đề tài 5
PHẦN MỘT: TỔNG QUAN VỀ NGƯỜI DÙNG 6
I.USER 6
1.Định nghĩa người dùng 6
1.1 UID 6
1.2 Tài khoản người dùng trên hệ thống 8
1.2.1 Tài khoản root 9
1.2.2 Tài khoản nobody 10
1.2.2 Tài khoản bin 11
1.3 Home Directory 11
1.4 Tạo tài khoản người dùng bằng giao diện 12
1.4.1 Thêm người dùng mới 12
1.4.2 Sửa người dùng 16
1.4.3 Xóa người dùng 17
1.5 Tạo tài khoản người dùng bằng lệnh trên terminal 18
1.5.1 Thêm người dùng mới 18
1.5.2 Sửa người dùng 20
1.5.3 Xóa người dùng 21
1.6 Kiểm tài khoản người dùng đã tạo 21
1.6.1 Kiểm tra trên giao diện 21
1.6.2 Kiểm tra trên terminal 23
II GROUP 24
2.0 Định Nghĩa Group 24
Trang 22.1 GID 24
2.2 Tạo Group bằng bằng lệnh trên terminal 24
2.3 Xóa Group 24
2.4 Kiểm tra Group đã tạo 24
III Thêm Người Dùng vào Group 25
3.1 Thêm người dùng vào Group 25
3.2 Kiểm tra người dùng đã được thêm vào group 25
PHẦN HAI: PHÂN QUYỀN NGƯỜI DÙNG TRÊN TẬP TIN VÀ THƯ MỤC 28
I Quyền truy cập trên file system 28
II Phân quyền người dùng trên giao diện 29
2.1 Phân quyền cho tập tin 29
2.1.1 Cấp quyền truy cập trên tập tin 29
2.1.2 Thay đổi chủ sở hữu 30
2.1.3 Thay đổi nhóm sở hữu 31
2.2 Phân quyền cho thư mục 32
2.2.1 Cấp quyền truy cập trên thư mục 32
2.2.2 Thay đổi chủ sở hữu 34
2.2.3 Thay đổi nhóm sở hữu 35
III Phân quyền người dùng bằng lệnh trên terminal 36
A Dùng ký hiệu đặc trưng 36
3A.1 Cấp quyền truy cập trên tập tin bằng lệnh chmod 36
3A.2 Cấp quyền truy cập trên thư mục bằng lệnh chmod 38
B Dùng thông số tuyệt đối 40
3B.1 Cấp quyền truy cập trên tập tin bằng lệnh chmod 40
3B.2 Cấp quyền truy cập trên thư mục bằng lệnh chmod 41
Trang 34.1 Thay đổi chủ sở hữu trên tập tin bằng lệnh chown 43
4.2 Thay đổi chủ sở hữu trên thư mục bằng lệnh chown 44
V Thay đổi nhóm sở hữu 45
5.1 Thay đổi nhóm sở hữu trên tập tin bằng lệnh chgrp 46
5.2 Thay đổi nhóm sở hữu trên thư mục bằng lệnh chgrp 46
PHẦN BA: PHÂN QUYỀN SỬ DỤNG TÀI NGUYÊN TNK34 48
I Yêu cầu đặt ra 48
II Triển khai ví dụ 49
Trang 4Lời đầu tiên nhóm chúng em xin chân thành bày tỏ lòng cảm ơn và kính trọng
sâu sắc đối với Thầy Dương Văn Hải, người đã tận tình hướng dẫn nhóm chúng em
trong suốt quá trình hoàn thành bài báo cáo này Thầy đã mở ra cho nhóm chúng
em những vấn đề tài nghiên cứu rất lý thú, hướng nhóm chúng em vào nghiên cứu các lĩnh vực hết sức thiết thực và vô cùng bổ ích, đồng thời tạo điều kiện thuận lợi cho nhóm chúng em học tập và nghiên cứu Nhóm chúng em đã học hỏi được rất nhiều ở Thầy phong cách làm việc, cũng như phương pháp nghiên cứu khoa học… Nhóm chúng em luôn được Thầy cung cấp các tài liệu, các chỉ dẫn hết sức quý báu khi cần thiết trong suốt thời gian thực hiện đề tài
Cám ơn nhà trường đã tạo điều kiện về cơ sở vật chất, phòng học và phòng thực hành tạo điều kiện cho chúng em có thể trao đổi với nhau và nhận được sự hướng dẫn tận tình của thầy Cám ơn những bạn bè lớp TNK34 đã chia sẻ tài liệu, hướng dẫn và trao đổi với nhóm để chúng em có thể hoàn thành được bài báo cáo hoàn thiện
Đà Lạt, ngày 15,tháng 5, năm 2014
Nhóm 5 – Lớp TNK34
Sinh Viên Thực Hiện:
Lương Văn Kiên Nguyễn Nhật
Lê Hồ Yến Quân Nguyễn Phước Tiến
Trang 5GIỚI THIỆU ĐỀ TÀI
Mã nguồn mở là ngồn ngữ được sử dụng phổ biến trên toàn thế giới tuy nhiên
còn khá ít tại Việt Nam, nguồn mở tuân theo giấy phép cấp phát miễn phí
GNU/GPL, Mở từ mã nguồn để mở cả tư duy của người sử dụng Bất kỳ ai cũng
đều có thể tùy biến những gì mình muốn hoặc phân phối cho cộng đồng Với sự
đóng góp của cộng đồng trên toàn thế giới,dẫn tới việc tiến hành trao đổi thông tin
, chia sẻ dữ liệu trở nên dễ dàng hơn Hệ điều hành mở Ubuntu – Linux đang ngày
một hoàn thiện hơn và chứng tỏ ưu thế vượt trội của mình Khi sử dụng mã nguồn
mở hay bất kỳ hệ điều hành đa nhiệm nào như Ubuntu – Linux thì việc tạo và quản
lý, phân quyền truy cập để bảo đảm tiện ích, an toàn và bảo mật dữ liệu là rất quan
trọng, Việc quản lý trên máy tính dựa vào tài khoản (account) Mỗi account như
vậy có tên (user name), mật khẩu (password) và kèm theo một số quyền hạn
(permission) nhất định Mỗi khi bật máy bạn sẽ logon (đăng nhập) bằng cách chọn
một account để sử dụng Nếu account có mật khẩu, bạn phải gõ đúng mật khẩu Kể
từ đó, bạn sử dụng máy tính với những quyền hạn của account đó.Chính vì vậy để
đảm bảo cho tính bảo mật và an toàn dữ liệu của các ngừi dung thì nhóm em xin
trình bày tìm hiểu về cách tạo người dùng, tài khoản người dùng và phân quyền các
tập tin và thư mục trong Ubuntu
Trong đề tài ”Phân quyền người dùng trên file và thư mục” nhóm sẽ giới
thiệu kỹ về quyền truy cập trên tập tin và thư mục đối với người dùng
Nhóm sẽ triển khai sơ lược về người dùng, tiếp theo đó sẽ vào đề tài chính,
trong quá trình hoàn thành còn nhiều sơ sót, thầy và các bạn bổ sung them để bài
báo cáo hoàn thiện hơn
Phân Quyền Người Dùng Trên File Và Thư Mục.
Trang 6PHẦN MỘT:
TỔNG QUAN VỀ NGƯỜI DÙNG
I USER
1 Định nghĩa về người dùng
Ubuntu là phần mềm mã nguồn mở tự do, có nghĩa là người dùng được tự do chạy, sao chép, phân phối, nghiên cứu, thay đổi và cải tiến phần mềm theo điều khoản của giấy phép GNU GPL, như vậy nhiều người có thể truy cập và sử dụng một máy tính cài Hệ Điều Hành Ubuntu Mỗi người muốn sử dụng được máy tính cài Ubuntu thì phải có một tài khoản đã được đăng ký Một tài khoản gồm có một tài khoản người dùng và một mật khẩu Hai người khác nhau sẽ có hai tài khoản khác nhau Để có thể bắt đầu thao tác và sử dụng, người dùng phải thực hiện thao tác đăng nhập
Để tạo một người dùng mới, thay đổi thuộc tính của một người dùng cũng như xóa bỏ một người dùng chỉ khi có quyền của một người quản trị (root) Mỗi
user còn có một định danh riêng gọi là UID
Định danh của người dùng bình thường sử dụng giá trị bắt đầu từ 500
Group là tập hợp nhiều user lại
Mỗi user luôn là thành viên của một group
Khi tạo một user thì mặc định một group được tạo ra
1.1 UID
UID (viết tắt của User Identification) là môt con số nguyên dương duy nhất
được hệ điều hành Ubuntu gán cho mỗi tài khoản người dùng Hệ thống sẽ sử dụng
UID để nhận diện user, trái với con người phân biệt các tài khoản qua Username
Xem các UID:
File /etc/passwd lưu trữ thông tin về tất cả user, mỗi user nằm trên 1 dòng
bao gồm các trường: Username, Password dạng mã hóa (nếu sử dụng shadow
password thì trường này được thay bằng ký tự x), UID, GUID, Gesco (chứa thông
tin phụ như Full name, Phone number ), Home directory, Shell mà user sẽ sử dụng
Trang 7VD : Xem thông tin các user với lệnh
Cat etc/passwd
User kien gồm các thông tin sau:
Mật khẩu được mã hóa: x
UID : 1001
GID : 1005
Gesco : là thông tin đầy đủ (Luong Van Kien, Binh Phuoc, 0987612345,
064444345345,…)
Home directory: /home/kien
Shell: /bin/bash
VD: Xem mật khẩu đã mã hóa của các user với lệnh
Cat etc/shadow
Các UID mang ý nghĩa đặc biệt
Từ phiên bản Linux Kernel 2.4 trở lên, UID là số nguyên 32-bit không dấu (vùng
giá trị từ 0 -> 4.294.967.296) Tuy nhiên, nên đặt UID trong khoảng 0 -> 65.534 để
đảm bảo tính tương thích với các hệ thống sử dụng Linux Kernel phiên bản thấp hơn 2.4 hoặc với các filesystem chỉ hỗ trợ UID có chiều dài 16-bit
Một vài UID đặc biệt và dành riêng:
Trang 8- UID = 0: được gán cho tài khoản root – người dùng có đặc quyền cao nhất trong
Linux
- UID = 65534: thường được dành riêng cho tài khoản nobody - người dùng không
có bất cứ đặc quyền quản trị nào UID này thường được dành cho các cá
nhân truy cập từ xa tới hệ thống qua FTP hay HTTP
- UID trong khoảng 1->99: thường được dành riêng cho các tài khoản hệ thống đặc
biệt, thường được gọi là các pseudo-users, như wheel, daemon, lp, operator, news,
mail, httpd, sshd…
Đây đều là các tài khoản quản trị nhưng lại không nắm giữ tất cả các đặc quyền như
root, chúng chỉ đảm nhận một vài công việc chuyên biệt nào đó như: daemon chỉ dùng để quản lý các dịch vụ (start, stop, resume, restart…), httpd cho Web server
Apache…
Dĩ nhiên các tài khoản này có nhiều quyền hạn hơn các người dùng bình thường
(normal user)
Quản lý các UID
Trên 1 số bản phân phối Linux (Distro), các normal user nhận UID lớn hơn 100 Ví
dụ, Redhat gán UID cho normal user bắt đầu từ 500, Debian bắt đầu từ 1000 Chính
vì sự khác nhau về cách gán UID này, bạn nên tự đặt UID cho các user nếu trong mạng sử dụng nhiều Distro
Ngoài ra, bạn cũng nên dành riêng 1 dải UID cho các tài khoản cục bộ (local account) như 1000-9999, 1 dải khác cho các người dùng truy cập từ xa tới hệ thống qua mạng (remote user) như 10000-65534 để dễ bề quản lý cũng như giúp rà soát
các hoạt động của người dùng trong các file log…
Cuối cùng, trái với những ý nghĩ truyền thống rằng UID phải là duy nhất cho mỗi người dùng trong cùng 1 hệ thống, bạn vẫn có thể để UID trùng nhau cho các tài khoản có Username khác nhau Tuy nhiên, việc UID không còn là độc nhất sẽ gây
ra các nguy cơ về bảo mật, ví dụ, nếu ai đó thay đổi UID của họ về 0 thì quyền hạn của họ sẽ ngang bằng với root! (các user có cùng UID sẽ có quyền hạn ngang nhau)
1.2 Tài khoản người dùng trên hệ thống
Trong quá trình cài đặt một hệ thống Linux, một số tài khoản người dùng đặc biệt sẽ tự động được tạo ra Các tài khoản người dùng này được sử dụng với
Trang 9một số chức năng đặc biệt trên hệ thống
Có 3 tài khoản người dùng chính : root, nobody và bin
1.2.1 Tài khoản root
VD: Trạng thái của tài khoản root
Tài khoản root còn được gọi là tài khoản siêu người dùng là tài khoản có quyền cao nhất trên hệ thống Ubuntu Người dùng sử dụng tài khoản root để thực hiện một số công việc quản trị hệ thống bao gồm : thêm các tài khoản người dùng mới, thay đổi mật khẩu của người dùng, xem các file log của hệ thống, cài đặt phần mềm, gỡ bỏ phần mềm, thay đổi quyền của file trên hệ thống …
Khi sử dụng tài khoản root, người dùng phải rất cẩn thận vì mọi thao sẽ ảnh hưởng trực tiếp đến hệ thống Tuy nhiên trong quá trình người dùng sử dụng tài khoản root để thực hiện một số công việc quản trị, hệ thống luôn có cảnh báo các thao tác mà người dùng đang thực hiện để tránh trường hợp người dùng làm sai ảnh hưởng đến hệ thống
Khi cài đặt Ubuntu Bạn chính là người cài đặt, lúc đó bạn sẽ tạo 1 user và password để truy cập hệ thống Và user này thuộc nhóm Admin Quyền lực của nhóm này tuy mạnh nhưng không liên tục, nói cách khác thì quyền mặc định của bạn sử dụng không phải là quyền lớn nhất đối với hệ thống
Thay đổi password cho root
Lưu ý: Khi thực hiện lệnh với đặc quyền của root, cần thêm sudo trước lệnh
sudo passwd root
Nếu đã là root thì dùng lệnh
passwd root
Trang 10Enter new UNIX password: Nhập password mới cho root
Retype new UNIX password: Nhập lại password lần nữa
Thông báo sau cùng : passwd: password updated successfully là thành công!
Để chuyển sang tài khoản root, dùng lệnh:
su root
các tài khoản khác tương tự :
su [user]
Mặc định, mật khẩu của tài khoản root bị khóa trong Ubuntu Điều này có nghĩa là bạn không thể đăng nhập trực tiếp với tài khoản root hoặc sử dụng lệnh su
để trở thành người dùng root Nhưng bạn vẫn có thể chạy các chương trình với đặc quyền của root với sudo, nó cho phép người dùng chạy chương trình nào đó với quyền root mà không phải biết mật khẩu của root
1.2.2 Tài khoản nobody
Tài khoản người dùng nobody được sử dụng để chạy các dịch vụ trên hệ thống Tài khoản này không có thư mục home hoặc môi trường làm việc shell Nếu tài khoản này bị lỗi, các dịch vụ đang chạy sử dụng tài khoản này sẽ bị ảnh hưởng nhưng hệ thống vẫn được bảo mật
VD: Tạo một tài khoản không có môi trường làm việc shell
Trang 11User toantin không có môi trường làm việc shell
1.2.3 Tài khoản bin
Tài khoản bin được sử dụng trên hệ thống với thư mục home là /bin Tài khoản này được sử dụng để bảo mật các file nhị phân cơ bản trên hệ thống Tài khoản bin không có môi trường làm việc shell Tài khoản này được tạo mặc định trong quá trình cài đặt hệ thống
1.3 Home Directory
Mỗi người dùng trên Ubuntu được cấp một thư mục riêng (gọi là home
directory), thực chất là một thư mục con của /home Có dạng /home/username;
nghĩa là nếu username là knqt thì home directory là /home/ knqt Riêng đối với
accout root thì home directory là /root
Các user Có thể cùng thuộc một nhóm (group) hoặc là khác nhóm; các user trong cùng một nhóm thì có quyền hạn như nhau Thường thì tất cả các user đều
thuộc vào nhóm User (trừ root và các account dành riêng cho hệ thống)
Mỗi người dùng chỉ có quyền thao tác trong thư mục riêng của mình (và những thư mục khác được phép của hệ thống) mà thôi Người dùng này không thể truy cập vào thư mục riêng của user khác (trừ trường hợp được chính người dùng
đó hoặc root cho phép) Mỗi tập tin (file) và thư mục trên Ubuntu đều được "đăng
ký chủ quyền", nghĩa là thuộc về một người dùng và nhóm nào đó
Thường thì tập tin và thư mục được tạo bởi người dùng nào thì sẽ thuộc về
người dùng đó
Chỉ có người dùng root mới có quyền xem file /etc/shadow File này lưu trữ mật khẩu đã được mã hóa của tất cả người dùng trên hệ thống File /etc/shadow chứa một số tài khoản người dùng và các tài khoản của các dịch vụ trên hệ thống Các tài khoản dịch vụ này được cài đặt mặc định cho phép các dịch vụ khác nhau
thực hiện đúng các chức năng của nó
Trang 121.4 Tạo tài khoản người dùng bằng giao diện
1.4.1 Thêm người dùng mới
Có thể thêm nhiều tài khoản người dùng vào máy tính cài Ubuntu Cung cấp một tài khoản cho từng người trong gia đình hoặc công ty Mỗi người dùng có thư
mục riêng, tài liệu riêng, và các thiết lập Phải là admin mới có thể thêm tài khoản người dùng
Cách thêm 1 tài khoản mới:
Bước 1: Đăng nhập vào user root hoặc user có quyền admin để có thể quản lý các
user
Bước 2: Nhấp vào tên user trên thanh menu và chọn User Account sẽ hiện lên giao
diện quản lý user
Trang 13
Bước 3: Trong danh sách các tài khoản bên trái, nhấp vào nút “+” để thêm một tài
khoản người dùng mới
Bước 4: Nếu muốn người dùng mới có quyền truy cập quản trị máy tính, chọn quản
trị cho các loại tài khoản Quản trị viên có thể làm những việc như thêm và xóa người sử dụng, cài đặt phần mềm và trình điều khiển thiết bị và thay đổi ngày giờ
hệ thống
Trang 14
Bước 5: Nhập tên đầy đủ của người dùng mới Tên truy nhập sẽ được điền tự động
dựa vào tên đầy đủ Mặc định là có thể OK, nhưng có thể thay đổi nó
Bước 6: Nhấp vào Tạo
Bước 7: Tài khoản ban đầu là vô hiệu cho đến khi nhập mật khẩu của người dùng
Trong Tài khoản nhấp vào tuỳ chọn Password – Account Disabled
Trang 15
Bây giờ sử dụng các quyền trong danh sách thả xuống để thiết lập mật khẩu, cho
phép người sử dụng đăng nhập :
Set a password now: Tạo ngay 1 Password
Log in without a password: Đăng nhập mà không cần mật khẩu
Enable this Account: Người dùng thiết lập lại mật khẩu trong lần đăng nhập đầu
tiên
Sau khi chọn bạn nhập Mật khẩu mới và xác thực lại lần nữa
Bước 8: Nhấp vào Thay đổi Có thể nhấp vào hình ảnh bên cạnh tên của người sử
dụng bên phải để thiết lập một hình ảnh cho tài khoản Hình ảnh này sẽ được hiển thị trong cửa sổ đăng nhập