Dịch vụ mạng FTP trên Linux (Cấu hình và cài đặt) Full

1. FTP là gì ???
FTP (File Transfer Protocol) là một giao thức trong mô hình TCP/IP được dùng để truyền các file giữa các máy. FTP cho phép truyền nhận file và quản lý trực tuyến. FTP không cho phép truy xuất một máy khác để thực thi chương trình, nhưng nó rất tiện lợi cho việc thao tác với file.
--------------------------
Bài viết dưới đây itviet360 triển khai dịch vụ FTP trên Linux. Nền Centos.
Các bạn có thể tham khảo rất nhiều tài liệu lý thuyế trên mạng. Về lý thuyết dịch vụ FTP trên Linux.
cai dat cau hinh dich vu FTP tren linux
Mô hình
2. Cài đặt và cấu hình FTP Server
2.1 Cài đặt
Các gói phần mềm cần thiết:
Vsftpd-*.rpm.
Dấu * đại diện cho phiên bản.
Kiểm tra cho thấy gói dịch vụ đã được cài đặt:
[root@centos_server /]# rpm -qa | grep vsftpd
vsftpd-2.0.1-8.el4

Các file cấu hình cần thiết của dịch vụ FTP:
/etc/vsftpd/vsftpd.conf : File cấu hình chính chứa những tùy chọn cấu hình cho FTP server.
/etc/vsftpd.ftpusers : Chứa danh sách những user không được phép đăng nhập vào server qua dịch vụ ftp bao gồm (root, bin, nobody, daemon …). Vì vấn đề bảo mật trên hệ thống Linux, dịch vụ ftp không cho phép người dùng root và một số người dùng đặc biệt khác đăng nhập để sử dụng dịch vụ ftp.
/etc/vsftpd.user_list : Được sử dụng để cho phép hay từ chối truy cập đến danh sách user. Nó phụ thuộc vào giá trị của userlist_deny trong file vsftpd.conf.
/usr/sbin/vsftpd : File thực thi và cũng chính là deamon.
/var/ftp : Thư mục làm việc của FTP.
/var/ftp/pub : Thư mục chứa những file của user anonymous.
2.2 Cấu hình FTP trên Linux
Đầu tiên, ta xem qua một vài thông số cấu hình trên file /etc/vsftpd/vsftpd.conf:
anonymous_enable=YES : cho phép người dùng Anonymous login qua ftp (mặc định). Nếu chúng ta muốn chỉ cho phép người dùng cục bộ trên hệ thống login qua ftp thì đổi lại YES thành NO.
local_enable=YES : cho phép mọi người dùng cục bộ login qua ftp (mặc định).
Write_enable=YES : Cho phép người dùng khi login qua ftp có quyền ghi (mặc định).
anon_upload_enable=YES : không cho phép người dùng Anonymous upload file qua ftp. Nếu chúng ta muốn cho phép người dùng Anomymous upload file qua ftp thì bỏ ký tự # ở đầu đi. Chú ý: chúng ta phải để anonymous_enable=YES thì option này mới có giá trị.
anon_mkdir_write_enable=YES : không cho phép người dùng Anonymous có quyền tạo thư mục.
Connect_from_port_20=YES : cho phép kết nối với dịch vụ ftp thông qua port 20.
Anon_usmask=022 : cho phép người dùng nặc danh upload file lên và download file đó về.
Userlist_enable=YES : Cấm những user liệt kê trong file /etc/vsftpd.user_list login vào FTP Server.

Khởi tạo và kiểm thử dịch vụ

[root@centos_server /]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@centos_server /]# chkconfig vsftpd on
Kiểm tra dịch vụ đã hoạt động:

[root@centos_server /]# pgrep vsftpd
11847 ================ Thông số cho thấy dịch vụ đã hoạt động tốt.
Để các máy Client có thể truy cập vào máy Server thông qua dịch vụ FTP, cần phải đảm bảo port 21 trên Server đã mở.
Thêm dòng lệnh sau vào file /etc/sysconfig/iptables để mở Port 21 trên Server:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
Khởi tạo lại Service iptables.

[root@centos_server /]# service iptables restart
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
Kiểm tra xem port 21 đã được mở hay chưa:

[root@centos_server /]# iptables -L -n
Trên máy Client, thử kết nối đến server thông qua dịch vụ ftp bằng user Anonymus:
Kết nối Server
Mặc định user Anonymous không cần mật khẩu khi login.
Tạo một user để kiểm tra dịch vụ:
[root@centos_server /]# useradd test_ftp
[root@centos_server /]# passwd test_ftp
Changing password for user test_ftp.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
- Sau đó ta login lại bằng User vừa tạo.
Tuy nhiên, nếu ta thử login bằng tài khoản root, việc kết nối sẽ thất bại. Để đảm bảo tính bảo mật, mặt định user root không được đăng nhập thông qua dịch vụ FTP:
Để cho phép user root hoạt động, chúng ta cần cấu hình trong cả hai file /etc/vsftpd.ftpusers và /etc/vsftpd.user_list. Thêm dấu # vào trước user root.
Việc làm này có ý nghĩa là chúng ta đã loại bỏ user root ra khỏi danh sách cấm của dịch vụ FTP.
Chúng ta có thể làm tương tự với những user khác.
Đồng thời, thông qua hai file này, chúng ta cũng có thể cấm một user nào đó không được login thông qua dịch vụ FTP, chỉ bằng cách đơn giản là thêm user đó vào cả 2 file này.
Thao tác với hệ thống file thông qua dịch vụ FTP:
Thư mục Home của user khi login vào Server thông qua dịch vụ FTP chính là thư mục home của user đó trên Server. Riêng đối với user anonymous, thư mục home chính là thư mục /var/ftp/pub.
---------------------------------------------------
Video Demo dịch vụ FTP trên Linux Full ai cần thì comment để lại email mình gửi nhé.
------------------------------------------
Tải Full cấu hình FTP trên LinuxTẠI ĐÂY

Chuyên mục: ,

11 comments:

  1. Chào bạn, ban có thể gửi video demo cho mình được không? Email: nguyenhoang_acp@yahoo.com

    ReplyDelete
    Replies
    1. Mình gửi rồi bạn nhé. Phần Video có đầy đủ các bước kiểm thử dịch vụ (phần này mình trình bày sơ sài trên blog).
      Chúc bạn vui !

      Delete
  2. Gửi luôn cho mình với
    Mail: le.minh.cn@gmail.com

    ReplyDelete
    Replies
    1. Mình đã cập nhật link tải. ^_^

      Delete
  3. Bạn ơi !! gởi cho mình với, gởi cho mình luôn phần Web Server trong linux với nhé ^^
    Mail: phalethuytinhntn@gmail.com

    ReplyDelete
    Replies
    1. Mình đã gửi Mail rồi bạn. Phần Web server mình đã cập nhật lại bài viết. Bạn theo dõi nhé !

      Delete
  4. vẫn làm không được bạn à, sao khó quá
    đến đoạn này Để các máy Client có thể truy cập vào máy Server thông qua dịch vụ FTP, cần phải đảm bảo port 21 trên Server đã mở.
    - thì máy báo là không tìm thấy đường dẫn

    ReplyDelete
  5. Bài Demo mình làm trên CentOS 4.8. Những phiên bản khác nếu có thay đổi thì cũng chỉ nằm đâu đó ở xung quanh. Bạn xem lại nhé, trong thư mục sysconfig

    ReplyDelete
  6. mình làm bên Ubuntu 12.4, nhưng không tìm thấy thư mục sysconfig, mình học môn này còn gà lắm, bạn có thể hướng dẫn mình được ko, mail: le.minh.cn@gmail.com

    ReplyDelete
  7. Srr bạn. mình chưa dùng ubuntu. hix, từ trước tới giờ toàn dùng CentOS, mà mình nghĩ chắc nó ko khác quá

    ReplyDelete
  8. ban ui..minh ten la pham hoai nam gio minh dang can tai lieu va video ve ftp tren linux nay...ban co the gui cho minh duoc khong ban...cam on ban truoc...mail cua minh la phamhoainam02@gmail.com

    ReplyDelete