Đề tài Phân Quyền Tập Tin Và Thư Mục Trên Hệ Điều Hành Ubuntu

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

pdf53 trang | Chia sẻ: oanh_nt | Lượt xem: 3277 | Lượt tải: 0download
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ể