Cài đặt ProFTPD trên centos 7, tạo ftp user

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!

Giới thiệu honest 237 bài viết
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!