Hướng dẫn cài đặt CENTOS 6.5 GNOME, chính sách phân quyền (permission) cùng dịch vụ mạng FTP, có demo giữa máy Server và Client (Centos và WinXP). Báo cáo phù hợp cho các bạn làm bài tập, đồ án, hướng dẫn cụ thể, chi tiết.
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN 2
ĐỀ TÀI: TÌM HIỂU, CÀI ĐẶT VÀ CẤU HÌNH CENTOS6.5 GNOME VÀ DỊCH VỤ
MẠNG FTP (Đề tài 12)
Giáo viên hướng dẫn: Trần Quốc Hoàn
Đào Diễm Hương
Hà Nội, 30 tháng 10, 2017
Trang 2MỤC LỤC
2
Trang 3CentOS là một hệ điều hành mã nguồn mở xây dựng xung quanh nhânLinux, được cộng đồng cùng phát triển Hệ điều hành CentOS có đầy đủ chứcnăng của một hệ điều hành hiện đại, hoạt động tốt trên máy tính để bàn, máytính xách tay và hệ thống máy chủ Tuy ra đời chưa lâu, nhưng hệ điều hànhnày đang có những bước tiến nhảy vọt, sức lan toả rất lớn, hiện đang được sửdụng rất rộng rãi trên thế giới và đang dần dần phổ biến ở Việt Nam.
Đặc biệt khi dùng CentOS sẽ không phải lo ngại những nguy cơ bị nhiễmvirus hay spyware nữa Cách sử dụng CentOS hết sức đơn giản, tương tự nhưWindows và đặc biệt CentOS hỗ trợ rất nhiều ngôn ngữ, trong đó có cả tiếngviệt, và mục đích là cài FTP trên CentOS là để cho máy tính trong mạng truyvấn cục bộ và truy vấn mạng internet
Trong phạm vi đồ án này, nhóm chúng em xin trình bày phương pháp
“Cài đặt cấu hình dịch vụ FTP trên hệ điều hành CentOS Server 11.04”
Đồ án của chúng em có bố cục gồm 4 phần như sau:
Chương I: Tổng quan về CentOS6.5 Gnome
Chương II: Quản trị tài khoản và chính sách
Chương III: Quản trị dịch vụ Ftp
Chương IV: Kết luận
Trong quá trình nghiên cứu không thể tránh khỏi những thiếu sót, chúng
em mong nhận được những góp ý của thầy để đồ án được hoàn thiện hơn Chúng em xin chân thành cảm ơn !
Trang 4CHƯƠNG I TỔNG QUAN VỀ CENTOS 6.5 GNOME
1.1 Tổng quan về Linux
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhâncủa hệ điều hành Nó có lẽ là một ví dụ nổi tiếng nhất của phần mềm tự do vàcủa việc phát triển mã nguồn mở Về mặt nguyên tắc hệ điều hành cũng làmột software, nhưng đây là một software đặc biệt được dùng để quản lý, điềuphối các tài nguyên của hệ thống (bao gồm cả hardware và software khác).Linux là một hệ điều hành với mã nguồn mở (Open Source) và miễn phí dướibản quyền của tổ chức GNU (Gnu’s Not Unix)
1.2 Về hệ điều hành CentOS
CentOS là viết tắt của Community Enterprise Operating System, được phát hành vào tháng 5 năm 2004, là một hệ điều hành miễn phí 100% dựa trên hạt nhân Linux Nó có nguồn gốc hoàn toàn từ bản phân phối Red Hat Enterprise Linux (RHEL) CentOS tồn tại để cung cấp nền tảng hệ điều hành máy tính cho doanh nghiệp miễn phí và cố gắng duy trì khả năng tương thích nhị phân 100% với nguồn gốc của nó, Red Hat
1.2.1 Lịch sử hình thành
Vào tháng 6 năm 2006, David Parsley, nhà phát triển chính của hệ điều hành
“Tao Linux” (một bản sao của hệ điều hành RHEL), đã tuyên bố nghỉ hưu với
dự án “Tao Linux” và sự phát triển CentOS (phát triển đồng thời cùng thời điểm đó) Toàn bộ người sử dụng hệ điều hành “Tao Linux” đã chuyển đổi hệ điều hành sang phiên bản CentOS thông qua cập nhật chương trình cập nhật
“yum“ Vào tháng 7 năm 2009, một bức thư ngỏ trên trang web của dự án CentOS đã thông báo rằng người sáng lập CentOS, Lance Davis, đã mất tích trong năm 2008 Davis đã ngừng đóng góp cho dự án nhưng vẫn giữ đăng ký cho miền CentOS và tài khoản PayPal Vào tháng 8 năm 2009, nhóm CentOS
đã liên lạc với Davis thành công và nhận lại được tên miền centos.info và centos.org Vào tháng 7 năm 2010, CentOS đã vượt qua hệ điều hành Debian
để trở thành bản phân phối Linux phổ biến nhất cho các máy chủ server như
4
Trang 5web server, với thị phần gần 30% của tất cả các máy chủ web Linux đang hoạt động trên thế giới lúc bấy giờ Nhưng đến tháng 1/2012, thì thị phần đứng đầu đã quay trở lại với gã khổng lồ “Debian“.
1.2.2 Một số thông tin
Trang chủ:https://www.centos.org/
Nhà phát triển: The CentOS Project Họ
HĐH: Tương tự Unix (dựa trên RHEL)
Kiểu mã nguồn: Phần mềm tự do mã nguồn mở
Hình thức nâng cấp: Yum (PackageKit)
Quản lý gói cài đặt: RPM Package Manager
Nền tảng hỗ trợ: i386, x86-64, PowerPC, s390,s390x
Kiểu nhân: Monolithic (Linux)
Giao diện người dùng: GNOME và KDE (người dùng tự chọn) Giấy phép: GNU GPL & various others
1.3 Tổng quan về GNOME
GNOME (phát âm /gnoʊm/, viết tắt của tiếng Anh GNU Network Object Model Environment) - là bộ phần mềm cung cấp môi trường màn hình nền dễ dùng cho hệ điều hành Linux cũng như cho các hệ điều hành khác Gói trong phần 'gnome' thuộc về môi trường GNOME hoặc hợp nhất chặt chẽ với nó
Nó là một dự án tin học có hai mục đích: xây dựng môi trường làm việc GNOME trực giác, hấp dẫn đối với người dùng và môi trường phát triển ứng dụng GNOME
Dự án mở GNOME cung cấp 2 phần: Môi trường desktop GNOME, rất hấp dẫn và cuốn hút người dùng cuối (end-user), và môi trường phát triển
GNOME, là môi trường tổng quan rộng lớn dùng cho phát triển các ứng dụng tích hợp vào môi trường desktop
Trang 6Môi trường làm việc GNOME cũng giống như KDE, là một dự án tin học mã nguồn mở, tự do, và dễ sử dụng Hơn nữa, GNOME được nhiều công ty lớn như: HP, Mandriva, Novell, Red Hat và Sun Microsystems hỗ trợ.
GNOME được lập trình bởi C Trong phiên bản mới (2.28), GNOME ra mắt GNOME bluetooth giúp người dùng quản lý các thiết bị không dây này Ngoài ra còn có nhiều cải tiến ở các trình ứng dụng: Time tracker (theo dõi thời gian hoạt động của các trình ứng dụng trên máy), Empathy (chat), Media player, Cheese (ghi hình qua webcam) Trình duyệt web Epiphany đã chuyển
bộ render từ Gecko sang WebKit
1.4 Cài đặtCentOS 6.5
- Cài đĩa CentOS 6.5 GNOME vào máy và bắt đầu cài đặt
6
Trang 8- Chọn Skip
8
Trang 9- Chọn OK
Trang 10- Chọn Next, sau đó chọn ngôn ngữ mong muốn.
10
Trang 11- Nhập tên Hostname, về sau có thể chỉnh sửa.
Trang 12- Chọn khu vực, sau đó nhật password cho tài khoản root.
- Trong cửa sổ tiếp theo, chọn Create Custom Layout để tiến hành phân vùng
ổ cứng
12
Trang 14- Tạo 2 phân vùng ổ cứng, một phân vùng swap có dung lượng từ 1,5 -> 2 lần dung lượng Ram, một phân vùng ext4 dung lượng >8 Gb.
14
Trang 15- Quá trình cài đặt bắt đầu diễn ra
Trang 16- Sau khi quá trình cài đặt diễn ra hoàn tất, bấm Reboot để khởi động lại máy tính.
16
Trang 17- Trong màn hình đăng nhập, nhập tên tài khoản là root và mật khẩu đã đặt lúctrước.
Cài đặt GNOME
Trang 18- Dùng câu lệnh # yum groupinstall desktopsau đó chờ cài đặt thành công,
bấm y khi có yêu cầu [y/N]
- Sau khi cài đặt xong, gõ lệnh init 5 để restart lại máy.
18
Trang 19- Sau khi khởi động lại, màn hình giao diện GNOME sẽ xuất hiện.
Trang 2020
Trang 21- Để CentOS mặc định khởi động với giao diện đồ họa mặc định, ta tiến hành
sửa file inittab, gõ lệnh vi /etc/inittabtrong terminal Sửa dòng cuối thành id :
5:initdefault và bấm :wq để lưu.
Trang 2222
Trang 23CHƯƠNG II QUẢN TRỊ TÀI KHOẢN VÀ CHÍNH SÁCH
CentOS là hệ điều hành đa người dùng, nghĩa là nhiều người có thể truycập và sử dụng một máy tính cài CentOS Mỗi người muốn sử dụng đượcmáy tính cài CentOS thì phải có một tài khoản (account) đã được đăng ký
Có hai loại user: super user và regular user Để 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 siêu người dùng (Super user)
2.1 Tài khoản người dùng đặc biệt 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ụngvới 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 đặcbiệt : root, nobody và bin
2.1.1 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 Linux 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ảnngườ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ợpngười dùng làm sai ảnh hưởng đến hệ thống Khi cài đặt CentOS 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ưngkhô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
Mặc định LINUX không cho đăng nhập trực tiếp với tài khoản root Khiđăng nhập vào máy, người dung sẽ đăng nhập bằng tài khoản thường Đểphân biệt đang login như root hay người sử dụng thường thông qua dấu nhắccủa shell
Trang 24• Nếu dấu nhắc là $ cho thấy ta đang kết nối như một người sử dụngthường
• Nếu dấu # cho thấy bạn đang thực hiện các lệnh như root
• Để thực hiện lệnh của root khi ở tài khoản thường gõ sudo trước câulệnh
• Để thay đổi login dưới một user khác (user_name) mà không phảilogout rồi login lại, dùng lệnh
su user_name
2.2 Quản trị tài khoản bằng dòng lệnh
Tạo người dùng
Cú pháp : #useradd [tùy_chọn] tên_tài_khoản
–d : Thiết lập thư mục home của người dùng Mặc định khi ta tạo mộtngười dùng thi sẽ được tạo trong thư mục /home/tên_tài_khoản
– m: Tạo thư mục home của người dùng nếu không có
– M: Không tạo thư mục home của người dùng
– u: Mặc định sẽ lấy số ID tiếp theo để gán cho user (User ID)
– g: Nhóm khởi tạo (GID) GID phải tồn tại
– G: Thêm người dùng vào các group
– c: Mô tả (Tên đầy dủ)
– e: Ngảy hết hạn của tài khoản
Và còn nhiều tùy chọn khác
Xóa tài khoản
Cú pháp: # userdel [tùy_chọn] [tên_tài_khoản]
Ví dụ: Xóa tài khoản thm2
24
Trang 25[root@localhost ~]# userdel thm2
Nếu sử dụng tùy chọn -r thì sẽ xóa luôn thư mục home directory của tài khoảnthm2
Khóa một tài khoản
Để tạm khóa tài khoản trong hệ thống ta có thể dùng nhiều cách:
Thay đổi mật khẩu :
Cú pháp: # passwd username
Thay đổi đường dẫn thư mục chủ:
Cú pháp: usermod –d new_home_directory username
Trang 262.3. Quản trị nhóm bằng dòng lệnh
Nhóm là tập hợp nhiều user lại Mỗi user luôn là thành viên của mộtnhóm.Khi tạo một user thì mặc định một group được tạo ra Nhóm dùng đểgomnhóm các users có chung một quyền hoặc chính sách riêng đối với hệthốngnhằm tạo thuận lợi trong việc quản trị hệ thống Linux Các thông tin vềnhómđược lưu trong file /etc/groups
Các lệnh làm việc với nhóm
Thêm nhóm:
Cú pháp: sudo groupadd [tên_nhóm]
Xóa nhóm:
Cú pháp: sudo groupdel [tên_nhóm]
Thêm user mới vào nhóm:
Chúng ta có thể sửa từ tập tin /etc/group Một cách khác là cho từng người dùng vào nhóm lệnh:
usermod -G [tên_nhóm] [tên_tài_khoản]
[root@localhost ~]# usermod -G thm1 test123
[root@localhost ~]# usermod -G thm1 thm2
Sau đó gõ lệnh cat /etc/group | grep “thm1” để kiểm tra:
Thêm người dùng đã có vào nhóm
Cú pháp: sudo usermod -G group-name user-name
Sửa đổi một nhóm đã tồn tại:
Cú pháp: sudo groupmod –n new_group current_group
26
Trang 27 Thay đổi nhóm chính của một người dùng
Cú pháp: usermod -g new-primary-group user-name
Xác định người quản trị nhóm
Cú pháp: gpasswd -A user-admin group-name
2.4. Các lệnh phân quyền trong Linux
Linux tạo ra môi trường nhiều người dùng chung tài nguyên Chính vìvậyviệc bảo mật các tài nguyên này rất quan trọng Đây cũng là một trongsốnhững lý do người sử dụng đánh giá rất cao khả năng bảo mật, an toàn.Ngoài ra việc phân quyền tốt để tránh việc hệ thống file system của Linuxbịphá hỏng nhờ đó hệ thống vận hành một cách ổn định hơn
Linux cho phép người dùng xác định các quyền đọc (read), ghi (write) vàthự thi (execute) cho từng đối tượng Có ba loại đối tượng :
• Người sở hữu (owner) : 3 ký tự đầu tiên
• Nhóm sở hữu (group) : 3 ký tự tiếp theo
• Người khác (others) : 3 ký tự cuối cùng
Trang 282.4.1. Thay đổi quyền trên tập tin
Việc thay đổi quyền trên tập tin được thực hiện bởi chủ sở hữu hoặcadmin/root Cách thực hiện là sử dụng lệnh chmod
Cú pháp:
chmod [ugoa][+=-][rwxX] a-file
u: áp dụng lên quyền chủ sở hữu
g: áp dụng lên quyền nhóm chủ sở hữu
o: áp dụng lên quyền những người còn lại
a: áp dụng lên cả 3 nhóm quyền u,g,o
+: gán quyền; =: gán chính xác; -:bỏ quyền
rwx: loại quyền đọc, viết, thực thi
28
Trang 29X: gán quyền x cho thư mục và các tập tin đã có quyền
Cấp quyền bằng chmod:
chmod a+x my-prog
• Bổ sung (+) quyền thực thi (x) tập tin my-prog cho tất cả ngườidùng (a)
chmod o-w my-data
• Loại bỏ (-) quyền ghi (w) trên tập tin my-data đối với những khôngphảilà chủ sở hữu hoặc không thuộc nhóm chủ sở hữu
chmod go=rx my-prog
2.4.2. Thay đổi quyền trên thư mục
Cú pháp:
chmod -R g+rwX,o+rX my-dir
• Đệ qui cho tất cả các thư mục con
• Thêm quyền rwx cho nhóm chủ sở hữu và quyền rx cho nhữngngườikhác một cách đệ qui trên các thư mục con và trên các tập tin
có thểthực thi
• Đối với các tập tin không thực thi: Thêm quyền rw cho nhóm chủsởhữu và quyền r cho những người khác
• Thay đổi chủ sở hữu và nhóm
Thay đổi chủ sở hữu
chown new-owner file-name
chown new-owner [-R] dir-name -> chown huongson -R ten_folder
(Tùy chọn -R để thay đổi một cách đệ qui trên thư mục)
Thay đổi nhóm chủ sở hữu
chgrp new-group file-name
Trang 30chgrp new-group [-R] dir-name
Tùy chọn -R để thay đổi một cách đệ qui trên thư mục
30
Trang 312.5 Giới thiệu về quản trị tài khoản và phân quyền trên giao diện đồ họa.2.5.1 Cài đặt User Manager
Sử dụng lệnh yum -y install system-config-* để cài đặt User ManagerTool Khi quá trình cài đặt hoàn tất ta có thể tìm thấy User Manager Tool từSystem > Administration> User
Trang 3232
Trang 34CHƯƠNG III QUẢN TRỊ DỊCH VỤ MẠNG FTP
3.1 Tổng quan về FTP
Giao thức FTP được người dùng sử dụng để tải dữ liệu như hình ảnh, vănbản, các tập tin từ máy tính của mình lên máy chủ đang đặt ở một nơi kháchoặc tải các tập tin có trên máy chủ về máy tính cá nhân Hầu như bất cứ mộtnền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP Điều này chophép tất cả các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tậptin trên một máy tính khác trên cùng một mạng lưới với mình, bất kể máy tính
ấy dùng hệ điều hành nào (nếu các máy tính ấy đều cho phép sự truy cập củacác máy tính khác, dùng giao thức FTP) Hiện nay trên thị trường có rất nhiềucác trình khách và trình chủ FTP, và phần đông các trình ứng dụng này chophép người dùng được lấy tự do, không mất tiền
FTP (File Transfer Protocol) là một giao thức mạng chuẩn, thường dùng
để chuyển những tập tin máy tính từ host này sang host khác, nói theo khíacạnh truy cập lên VPS thì FTP nó là cái nền để bạn chuyển những dữ liệu từmáy bạn lên remote VPS (nghĩa là VPS mà bạn đã thuê).Máy chủ FTP, dùngchạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu vềdịch vụ của các máy tính khác trên mạng lưới Máy khách chạy phần mềmFTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liênkết với máy chủ Một khi hai máy đã liên kết với nhau, máy khách có thể xử
lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủxuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v Vìgiao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công typhần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTPhoặc trình khách FTP
FTP thường chạy trên hai cổng, 20 và 21, và chỉ chạy riêng trên nền củaTCP Trình chủ FTP lắng nghe các yêu cầu dịch vụ từ những kết nối vào máycủa các trình khách FTP, trên cổng 21 Đường kết nối trên cổng 21 này tạonên một dòng truyền điều khiển, cho phép các dòng lệnh được chuyển quatrình chủ FTP Để truyền tải tập tin qua lại giữa hai máy, chúng ta cần phải cómột kết nối khác Hơn nữa, bạn có thể cùng lúc tải (upload/ download) nhiềutập tin cùng một lúc để tiết kiệm thời gian Tuy nhiên, yếu tố tốc độ đườngtruyền cũng đóng vai trò quan trọng trong việc truyền tải dữ liệu qua FTP
34