Để có thể sử dụng các chương trình FTP thông dụng trên server Ubuntu 12.04, bạn cần phải cài đặt thêm chương trình vsftp. vs ở đây có nghĩa là “very secure” – rất bảo mật.

Cài đặt vsfptd

Chạy dòng lệnh sau

sudo apt-get install vsftpd

Sau khi tải và cài đặt xong, bạn đã có thể sử dụng ngay được rồi. Tuy nhiên, cần cấu hình thêm một chút để bảo mật hơn cho VPS.

Cấu hình vsftpd

Mở file cấu hình:

sudo nano /etc/vsftpd.conf

Chuyển Anonymous_enable  từ Yes sang No

anonymous_enable=NO

Bỏ comment dòng local_enable, chuyển thành Yes và cho phép write

local_enable=YES
write_enable=YES

Bỏ comment dòng chroot_local_user và chuyển thành Yes để user không thể truy cập các folder khác của server

chroot_local_user=YES

Lưu lại và thoát.

Tạo thư mục riêng cho user

mkdir /home/username/files

Thay đổi ownership

chown root:root /home/username

Khởi động lại vsftpd

sudo service vsftpd restart

Kết nối FTP Server

Bạn có thể kết nối đến server vsftpd bằng cách sử dụng đường dẫn ftp://example.com

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

13 Comments

  1. Hoang Huy 3 comment

    khi mình vào ftp://tenmien.com (tenmien là domain của mình) không được
    (Không thể truy cập trang web này) bị lỗi gì vậy bạn.
    nhg kết nối bằng filezilla ở chế độ sftp thì vẫn bình thường

    1. Việt Phương Moderator

      Địa chỉ đó chỉ để kết nối bằng giao thức FTP không phải bằng giao thức HTTP bạn à.

  2. Hai 14 comment

    mình muốn tạo 1 user và phân quyền cho nó chỉ có thể download/upload vào một thư mục web có sẵn thì làm sao nhỉ?

    1. Lữ Phú Hòa 17 comment

      useradd tenuser — tao user mới
      passwd tenuser — đat pass cho tenuser
      userdel tenuser — de xoa user neu đã có
      mặc định hệ thống sẽ tạo thư mục /home/tenuser
      phân quyền lên thư mục tenuser nhé

    2. Lữ Phú Hòa 17 comment

      chú ý Bỏ comment dòng chroot_local_user và chuyển thành Yes để user không thể truy cập các folder khác của server

      chroot_local_user=YES

  3. Thịnh Nguyễn 1 comment

    Hi anh Luân, em vừa thuê VPS của DigitalOcean, dùng ubuntu và đã cài đặt php, apache2 & mysql server để có thể chạy được web của mình (wordpress), nhưng mọi thao tác đều phải làm bằng tay, bằng tài khoản root (ssh và cả SCP). Em muốn tạo tài khoản ftp để sử dụng an toàn hơn, đồng thời hỗ trợ cho IDE sync file trực tiếp thông qua tài khoản ftp đó, cũng như cho phép wordpress quyền download package tự động thay vì phải nhập thông tin FTP mỗi khi muốn install plugin hay theme. Em xem hướng dẫn thì đã cài dc vsftpd, tạo user và trỏ user đến folder /home/user-name, khi dùng user này để kết nối FTP thì chỉ được hoạt động trong folder /home/user-name, trong khi website thì nằm trong /var/www (do Apache tạo), em lại tìm dc thông tin là phải tạo group rồi gán quyền own folder www cho group đó, sau đó add user mới vào group và user đó cũng sẽ có quyền như group. Tuy nhiên em ko tìm được câu lệnh cụ thể, sợ copy lệnh bậy bạ làm mất quyền của root trong www thì chết. Ngoài ra em cũng không hiểu lắm khi nói rằng có thể cấp quyền vào /var/www cho user, trong khi rõ ràng user đó chỉ có thể vào được /home/user-name?

    1. Luân Trần Admin

      Lỗi thông báo nhập tài khoản FTP mỗi khi bạn cài đặt plugin hay theme là do chưa phần quyền cho webserver Apache đọc ghi được dữ liệu trong /var/www. Bạn thử kiểm tra lại, các file trong đó chắc đang có owner là root:root đúng không. Để xử lý vấn đề này bạn không cần cài FTP, chỉ cần chỉnh lại owner là được rồi: https://hocvps.com/sua-loi-khong-cai-dat-duoc-plugin-theme-wordpress/

      Đa phần việc quy định thư mục cho user cấu hình trong file .conf, bạn hãy mở ra tìm hiểu thử xem. Nếu không thấy đoạn nào cấu hình thì comment lại để mình tìm hiểu nhé.

    2. Lữ Phú Hòa 17 comment

      bạn chỉ định đường link nó về đây nhé, cấu hình trong file /etc/httpd/conf/httpd.conf hoặc thêm file trong folder conf.d thêm file theo tên domain và nội dung như sau:

      ServerName doamin.com
      ServerAlias http://www.domain.com
      DocumentRoot /home/user-name/

  4. Wind Love 45 comment

    Bạn thể hướng dẫn chi tiết hơn đc k?
    Sau khi làm xong thì upload file vào thư mục nào thì ng` dùng Anonymous có thể tải nó xuống đc !

    1. Luân Trần Admin

      Hướng dẫn này mình để disable anonymous đó. Sao bạn lại cần enable cái này làm gì nhỉ?

      1. Wind Love 45 comment

        Để khi nào cài cho nó nhanh ! TỨc là nhanh đc dùng lun ! K phải mất công tạo tài khoản nữa !
        Bạn cũng có thể hướng dẫn cách cấu hình để các user lưu file vô đâu để tải về đi !
        Vd :
        Ng dùng tên là Wind ! Lưu file vào thư mục etc/apt/Wind
        Bạn biết làm k ?