Lờ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
53 trang |
Chia sẻ: oanh_nt | Lượt xem: 3256 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Mụ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
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
1
2.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
IV. Thay đổi chủ sở hữu ........................................................................................ 43
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
2
4.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
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
3
Lờ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
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
4
GIỚ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.
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
5
PHẦ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
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
6
VD : 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:
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
7
- 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
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
8
mộ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
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
9
Enter 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
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
10
User 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ó.
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
11
1.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 .
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
12
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.
Nhóm 5 – Lớp TNK34
Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu
13
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ể