Cài đặt FTP (Vsftpd) trên Ubuntu
Đăng ký cập nhập video từ netweb.vn
FTP, viết tắt của File Transfer Protocol, là một giao thức mạng từng được sử dụng rộng rãi để di chuyển tệp giữa máy khách và máy chủ. Kể từ đó, nó đã được thay thế bằng các cách phân phối tệp nhanh hơn, an toàn hơn và thuận tiện hơn. Nhiều người dùng Internet thông thường mong đợi tải trực tiếp từ trình duyệt web của họ https
và người dùng dòng lệnh có nhiều khả năng sử dụng các giao thức an toàn như scp
hoặc SFTP .
FTP vẫn được sử dụng để hỗ trợ các ứng dụng kế thừa và quy trình làm việc với các nhu cầu rất cụ thể. Nếu bạn có lựa chọn về giao thức sẽ sử dụng, hãy xem xét khám phá các tùy chọn hiện đại hơn. Tuy nhiên, khi bạn cần FTP, vsftpd là một lựa chọn tuyệt vời. Được tối ưu hóa về bảo mật, hiệu suất và độ ổn định, vsftpd cung cấp khả năng bảo vệ mạnh mẽ chống lại nhiều vấn đề bảo mật được tìm thấy trong các máy chủ FTP khác và là mặc định cho nhiều bản phân phối Linux.
Trong hướng dẫn này, bạn sẽ định cấu hình vsftpd để cho phép người dùng tải tệp lên thư mục chính của họ bằng FTP với thông tin đăng nhập được bảo mật bằng SSL / TLS.
Nội dung
Cài đặt vsftpd
Hãy bắt đầu bằng cách cập nhật danh sách gói của chúng tôi và cài đặt vsftpd
daemon:
sudo apt update
sudo apt install vsftpd
Khi quá trình cài đặt hoàn tất, hãy sao chép tệp cấu hình để có thể bắt đầu với cấu hình trống, lưu bản gốc làm bản sao lưu:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Với bản sao lưu cấu hình tại chỗ, chúng tôi đã sẵn sàng để cấu hình tường lửa.
Mở tường lửa
Hãy kiểm tra trạng thái tường lửa để xem nó có được kích hoạt hay không. Nếu có, chúng tôi sẽ đảm bảo rằng lưu lượng FTP được phép để các quy tắc tường lửa không chặn các thử nghiệm của chúng tôi.
Kiểm tra trạng thái tường lửa:
sudo ufw status
Trong trường hợp này, chỉ SSH được phép thông qua:
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Bạn có thể có các quy tắc khác hoặc không có quy tắc tường lửa nào cả. Vì chỉ lưu lượng SSH được phép trong trường hợp này, chúng tôi sẽ cần thêm các quy tắc cho lưu lượng FTP.
Hãy mở các cổng 20
và 21
cho FTP, cổng 990
khi chúng tôi bật TLS và các cổng 40000-50000
cho phạm vi cổng thụ động mà chúng tôi định đặt trong tệp cấu hình:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw status
Các quy tắc tường lửa của chúng tôi bây giờ sẽ giống như sau:
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
990/tcp ALLOW Anywhere
20/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere
40000:50000/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
20/tcp (v6) ALLOW Anywhere (v6)
21/tcp (v6) ALLOW Anywhere (v6)
990/tcp (v6) ALLOW Anywhere (v6)
40000:50000/tcp (v6) ALLOW Anywhere (v6)
Khi vsftpd
đã cài đặt và mở các cổng cần thiết, hãy chuyển sang tạo người dùng FTP chuyên dụng.
Định Cấu Hình Máy Chủ FTP (Vsftpd) Cho Nhiều Người Dùng Với Thư Mục Trang Chủ Khác Nhau
Bước 1: Tạo hai người dùng có tên là ftpuser1 và ftpuser2 bằng lệnh dưới đây.
sudo adduser ftpuser1
sudo adduser ftpuser2
Lưu ý: Nó sẽ yêu cầu bạn nhập mật khẩu, chỉ cần nhập mật khẩu mong muốn của bạn và nó cũng sẽ yêu cầu thông tin người dùng như họ tên, số phòng, số điện thoại cơ quan, v.v., bạn có thể bỏ qua bằng cách nhấn enter.
Bước 2: Cấu hình FTP Server (vsftpd) bằng cách cập nhật tệp cấu hình vsftpd.conf bằng lệnh dưới đây.
sudo nano /etc/vsftpd.conf
Lệnh trên sẽ mở tệp vsftpd.conf trong trình soạn thảo nano và sau đó chúng ta cần dán các dòng dưới đây vào cuối tệp
# setup virtual users config folder
user_config_dir=/etc/vsftpd_user_config_dir/
Lưu ý: Chúng tôi cần phải khởi động lại vsftpd mỗi khi chúng tôi thực hiện các thay đổi trong tệp cấu hình vsftpd.conf và việc kiểm tra trạng thái cũng là cách tốt bằng cách sử dụng lệnh dưới đây
sudo systemctl restart vsftpd
sudo systemctl status vsftpd
Bước 3: Thiết lập thư mục chính
Để định cấu hình thư mục chính, hãy tạo thư mục / etc / vsftpd_user_config_dir / và tạo hai tệp có cùng tên chính xác của hai người dùng:
sudo mkdir /etc/vsftpd_user_config_dir/
sudo nano /etc/vsftpd_user_config_dir/ftpuser1
Lệnh nano ở trên sẽ tạo tệp mới và tự động mở và sau đó chúng tôi sẽ xác định thư mục chính cho người dùng đầu tiên trong tệp theo cách sau:
local_root=/var/backup/
write_enable=YES
bây giờ chúng ta sẽ tạo một tệp khác cho người dùng thứ hai theo cách tương tự và chỉnh sửa nó nhưng lần này thư mục chính sẽ là “/ home / ftpuser / ftpuser2”
sudo nano /etc/vsftpd_user_config_dir/ftpuser2
local_root=/var/www/html/
write_enable=YES
Bước 4: Tạo thư mục chính cho cả người dùng bằng lệnh dưới đây
sudo mkdir /home/ftpuser/ftpuser1
sudo mkdir /home/ftpuser/ftpuser2
Bước 5: Tạo nhóm và thêm người dùng vào nhóm bằng lệnh dưới đây
sudo groupadd ftpusers
sudo usermod -a -G ftpusers ftpuser1
sudo usermod -a -G ftpusers ftpuser2
Bước 6: Thay đổi quyền sở hữu thư mục “/var/backup/” thành nhóm ftpusers và làm cho thư mục “/var/backup/” có thể ghi theo nhóm bằng lệnh dưới đây để tất cả người dùng trong nhóm đều có thể truy cập và ghi được thư mục đó.
sudo chown -R root:ftpusers /var/backup/
sudo chmod -R g+w /var/backup/
Quản lý user và group ubuntu
Kiểm tra danh sách User
Danh sách user của Linux được lưu trong file /etc/passwd, để xem danh sách user này sử dụng lệnh cat
cat /etc/passwd
Hiển thị thông tin 1 user bằng lệnh id
id thietkewebs
Tạo mới một user
sudo adduser user1
Thêm/Xóa user vào group
Để add 1 user vào group sử dụng command usermod
sudo usermod -a -G root user1
Thêm user vào nhiều group
sudo usermod -a -G group1,group2 user1
Thêm nhiều user vào 1 group
sudo gpasswd -M user1,user2,user3 group1
Xóa user khỏi 1 group
sudo gpasswd -d username groupname
Thay đổi mật khẩu của user
sudo passwd user1
Xóa 1 user
sudo userdel user1
Quản lý group
Kiểm tra danh sách group
Thông tin của 1 group trong file /etc/group, tương tự để hiển thị danh sách group chúng ta sử dụng command cat
cat /etc/group
Tạo 1 group
sudo groupadd group1
Tạo nhiều group
sudo groupadd group1, group2, group3
Liệt kê danh sách User trong Groups
sudo groups
sudo groups user1
Xóa 1 group
sudo groupdel group1
Các lỗi hay gặp
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Thêm dòng này vào cuối file: /etc/vsftpd.conf
allow_writeable_chroot=YES
Lỗi user truy cập vào được nhiều thư mục, mở dòng này ra, nếu chưa có thì thêm vào
chroot_local_user=YES
Bài viết mới cập nhập
- Cách cài đặt Docker trên Ubuntu 20.04 LTS
- Series hướng dẫn cài đặt vps chi tiết chạy website wordpress
- Hỗ trợ dài hạn và phát hành tạm thời trên Ubuntu
- Cách cài đặt nhiều phiên bản PHP với Nginx trên Ubuntu
- Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP) trên Ubuntu 20.04
- Cách thay đổi cổng SSH trên Linux Ubuntu 20.04
- Cách thiết lập tường lửa với UFW trên Ubuntu 20.04
Bình luận trên facebook netweb.vn