Khi làm việc với server chắc chắn việc phải sử dụng FTP là điều tất yếu. Do đó ProFTPD là một giải pháp ngon lành để tạo FTP Server. Với thao tác cực kỳ đơn giản mà tốc độ cực kỳ nhanh.
1. Để cài đặt ta dùng cli sau:
# yum install proftpd -y
Để cấu hình ta vào file: /etc/proftpd.conf
Với thiết lập DefaultRoot ~ thì các user không thể truy cập FTP ra ngoài thư mục gốc. (Nên để)
Kiểm tra file /etc/shells đảm bảo trong /etc/shells có /sbin/nologin hoặc /bin/false:
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/false
Khởi động:
# service proftpd start
Set service:
# chkconfig proftpd on
Nếu dùng iptables hoặc firewall ta mở cổng 21 và khai báo ftp service là ok.
2 Tạo FTP user
– Vớ Proftpd ta có 2 cách đó là dùng local user hoặc virtual user, tuy nhiên chúng ta chỉ được sử dụng 1 trong 2 cách mà thôi.
a. Local user
Bạn có thể sử dụng user của hệ điều hành Linux – Local User để đăng nhập FTP Server, trừ các user trong /etc/ftpusers. Khi đó, ProFTPD xác thực đăng nhập bằng mod_auth_unix
Tạo user mới useradd với các tùy chọn:
-g thiết lập user vào group. Để dễ dàng trong việc chỉnh sửa, bạn nên add user vào group nginx và cho phép chỉnh sửa đối với group owner – nginx.
-s thiết lập shell đăng nhập. Trong đó, shell sbin/nologin hoặc /bin/false chặn truy cập SSH. Khi đó, user được tạo chỉ có thể đăng nhập trên FTP, không thể đăng nhập SSH cũng như chạy lệnh hệ thống.
-d thiết lập thư mục gốc của user.
Như vậy, để tạo FTPuser ftp1 chỉ có thể truy cập thư mục /home/ftp1/, đồng thời không thể đăng nhập SSH:
# useradd ftp1 -g nginx -s /sbin/nologin -d /home/ftp1/
Lưu ý: Nếu muốn chỉnh sửa user đã được tạo:
# usermod -a -G nginx ftp1 -s /sbin/nologin
Thiết lập quyền chỉnh sửa của Group Owner Nginx đối với thư mục web:
# chmod -R g+rw /home/ftp1/
b. Virtual User
Virtual User là user ảo được tạo bởi FTPassWD, chỉ có thể sử dụng trên FTP (không phải user hệ thống Linux). Khi đó, ProFTPD xác thực đăng nhập bằng mod_auth_file.
Chương trình ProFTPD Utilities với nhiều công cụ nhỏ bên trong sẽ giúp thiết lập, quản lý ProFTPD. Trong đó, công cụ ftpasswd dùng để thiết lập Virtual User.
# yum install proftpd-utils -y
Tạo thư mục lưu thông tin đăng nhập Virtual User:
# mkdir /etc/proftpd
# touch /etc/proftpd/passwd /etc/proftpd/group
# chown -R nobody:nobody /etc/proftpd# sudo chmod o-rwx /etc/proftpd/passwd
# sudo chmod o-rwx /etc/proftpd/group
Chỉnh sửa cấu hình ProFTPD tại /etc/proftpd.conf
Comment (#) dòng
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c
Chèn xuống dưới :
AuthOrder mod_auth_file.c
AuthUserFile /etc/proftpd/passwd
AuthGroupFile /etc/proftpd/group
RequireValidShell off
Rồi tiến hành restart service:
# service proftpd restart
Tạo user mới (UID và GID bạn nhập tùy ý số lớn hơn 500)
# ftpasswd –passwd –name=ftp1 –uid=1000 –gid=1000 –home=/home/ftp1/ –shell=/sbin/nologin –file=/etc/proftpd/passwd
ftpasswd: using alternate file: /etc/proftpd/passwd
ftpasswd: creating passwd entry for user ftp1
Password: #nhập_mật_khẩu
Thiết lập quyền chỉnh sửa với thư mục web :
# chmod -R o+rw /home/ftp1/
Vậy là xong rồi đấy, giờ bạn có thể kết nối FTP đến server sử dụng account đã tạo ở trên.
3. Gỡ bỏ
Để gỡ bỏ ta dùng:
# yum remove proftpd
Chúc các bạn thành công!
Mình lập blog này với mục đích lưu lại + chia sẻ các các kiến thức mình đã biết hoặc đang tìm hiểu. Cơ bản giúp ích cho mình 🙂 Nhưng hy vọng sẽ mang lại sự khởi đầu thuận lợi cho người mới bắt đầu!