Ở bài đầu tiên mình xin giới thiệu tổng quan về FTP, như thế nào để thiết lập một FTP server trên linux (CentOS), với user là tài khoản của hệ thống linux(đừng lo nếu bạn không hiểu nó là gì nhé!). Sau đó sẽ có một bài nâng cao hơn, là thiết lập FTP server với những user ảo (nghĩa là không dùng user hệ thống nữa), và khái niệm passive mode trong FTP.
1. FTP là gì?.
– 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ía cạ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ê)
– FTP server: là nơi sử dụng giao thức FTP để truyền dữ liệu trên mạng, nói theo khía cạnh VPS, FTP server được cài và cấu hình trên VPS để làm trung tâm dịch vụ.
– FTP client: là một chương trình được sử dụng để nói chuyện với FTP server, là công cụ để bạn đưa dữ liệu lên, và tải dữ liệu về giữa VPS và máy của bạn.
– FTP service: nó là sự kết hợp của 3 khái niệm trên FTP server, FTP protocol và FTP client, là một dịch vụ cung cấp cho bạn khả năng truyền dữ liệu trên mạng.
2. Làm sao để cài đặt FTP service trên linux (CentOS).
– Trên linux có rất nhiều chương trình có thể làm FTP service như là: vsftpd, pure-ftpd,… Nhưng ở loạt bài này mình sẽ hướng dẫn các bạn như thế nào để cài đặt vsftpd trên CentOS 6.4, nếu có thời gian mình sẽ hướng dẫn thêm cho các bạn pure-ftpd :D.
B1: SSH lên VPS của bạn. Bài này đã có hướng dẫn rồi, bạn có thể xem ở đây.
B2: Cài đặt gói vsftpd trên CentOS
1
| yum install vsftpd -y |
Bạn đợi một tí để máy tải gói vsftpd về.
B3: Cấu hình vsftpd.
- Bạn mở file cấu hình hình bằng chương trình vi/vim hoặc nano, ở đây mình sử dụng vi:
1
| vi /etc/vsftpd/vsftpd.conf |
- Chỉnh sửa một số option sau:
- Thiết lập anonymous_enable từ NO thành YES để không cho phép những người không có tài khoản ftp truy cập lên ftp server.
1
| anonymous_enable=YES |
- Gõ bỏ comment local_enable=YES nếu bị comment.
1
| local_enable=YES |
- Gỡ bỏ comment ở chroot_local_user=YES để thiết lập những user ở thư mục nào thì chỉ có quyền trên thư mục đó, không thể di chuyển sang thư mục khác.
1
| chroot_local_user=YES |
B4: Sau khi chỉnh sửa xong, chắc chắn bạn đã lưu lại cấu hình này, bạn có thể start dịch vụ để sử dụng bằng lệnh.
1
| service vsftpd start |
B5(option): Bây giờ bạn có thể dùng user hệ thống để truy cập vào FTP server rồi đó, nhưng ở đây mình sẽ tạo một user hệ thống mới và chỉ định thư mục sở hữu cho user này.
- Tạo user tên là test và có thư mục sở hữu là /home/ftp/test.
1
| useradd test -d /home/ftp/test/ |
- Sau đó gõ passwd test để thiết lập mật khẩu cho user này, khi gõ lệnh passwd này, chương trình sẽ hỏi password 2 lần, bạn chỉ việc gõ vào thôi!.
1
| passwd test |
- Nhớ gán quyền sở hữu thư mục /home/ftp/test cho user test để tránh lỗi phát sinh (ví dụ như upload lên không được).
1
| chown -R test:test /home/ftp/test/ |
- Bây giờ bạn có thể kết nối lên FTP server để sử dụng dịch vụ rồi đấy :D.
3. Làm thế nào để kết nối lên FTP server.
- Có rất nhiều chương trình FTP client để kết nối lên server như: filezilla (bạn có thể xem ở đây), ftp trên console,… Ở đây mình sẽ sử dụng FTP trên console để test dịch vụ.
1
| ftp 192.168.1.107 |
- Ở đoạn trên bạn sử dụng câu lệnh: ftp IP_OF_SERVER để kết nối tới server (P_OF_SERVER chính là IP của VPS mà nãy bạn đã cài FTP server đó!). Và chương trình sẽ hỏi user và password tài khoản, bạn có nhớ ở Bước 5 phần 2 ở trên ta đã tạo ra một user hệ thống không? (hoặc bạn sử dụng user hệ thống có sẵn!). Gõ vào và cảm nhận nào :D.
4. Lời kết.
- Sau lượt bài này, bạn đã hiểu cơ bản về FTP, cách thiết lập một FTP server trên linux, và như thế nào để kết nối lên server. Đến lượt bài thứ hai mình sẽ hướng dẫn các bạn setup thêm một số phần nâng cao như đã nêu trên. Chúc bạn thành công!. Và mình hi vọng rằng sau khi làm theo hướng dẫn của mình, các bạn có thể setup thành công, và nếu gặp lỗi gì, đừng ngại comment bên dưới nhé, mình sẽ hỗ trợ các bạn
Blogger Comment
Facebook Comment