LPIC-System Administrator - Hướng dẫn cài FTP Server Centos 7 với group user Active Directory Domain Windowns


Quay trở lại thời gian làm đêm ngồi rảnh viết blog, hôm trước có cắn đá để ra một bài Hướng dẫn Join Domain Server Centos 7 với AD Windowns


Lấy lại bài hôm trước vì đã có AD Server Centos join domain hoàn tất, hôm nay kế thừa lại nó để chơi tiếp thôi :)

Đâu tiên cần tạo 1 group trên AD và add user FTP vào, cái này là xác là làm trước trên windowns để xong phần windowns trước để khỏi lăn tăn.

Trên windowns ở đây có Group : CentosGroup01 nó bao gồm 2 user con Centos01Centos02


Sau khi hoàn tất ở trên xem như xong phần  AD windows rồi, bắt đầu tới giai đoạn tiếp theo đó là cài FTP. Ở linux có nhiều bộ cài FTP nhưng ở đây dùng vsftpd . Còn nó là gì thì nghe wikipedia nói như sau : very secure FTP daemon(Rất an toàn) nghe tới đây là khoái khoái :) :) và là một máy chủ FTP cho các hệ thống giống Unix , bao gồm cả Linux . Nó được cấp phép theo Giấy phép Công cộng GNU . Nó hỗ trợ IPv6 và SSL . vsftpd hỗ trợ rõ ràng (kể từ 2.0.0) và ngầm (từ 2.1.0) FTPS . vsftpd là máy chủ FTP mặc định trong các bản phân phối Ubuntu , CentOS , Fedora , NimbleX , Slackware và RHEL Linux.

Note:
Đầu tiên login vào Centos 7 và cấu hình CentosGroup01 vào Centos, gán cho nó quyền như là root, giống trong windowns add user vào local admin (Lưu ý là FTP không cần phần này) phần add này là mục đích mở rộng thêm như cấu hình Group user domain được quyền như root. Sau này có nhu cầu gì thì dùng.

Có nghĩa là Add 1 group và các user của group có quyền như root, khi cài đặt cái gì thì chỉ cần dùng sudo trước và nhập passwod user đó là ngang root. Cách này người ta thường gọi add Active Directory group in Sudoers ...

[centos01@ domain~]#  sudo nội dung thực thi




OK, kết quả như ở trên và cách làm như sau :

Đăng nhập bằng root vào Centos 7 đã join domain và thực hiện lệnh sau

[root@ CemtosServer~]#  visudo



Kéo xuống bên dưới và nhập thông tin Group vào để nâng quyền


Cú pháp khá đơn giản :

%DOMAIN\\GROUP ALL=(ALL) ALL

% : Ký hiệu đứng đầu
Domain : tên domain
\\ : Trong linux domain\group1 thì cầu \\ linux hiểu : domain\\group1
ALL=(ALL) ALL : là full quyền của root(Có thể tham khảo các gợi ý trong file)

Tương tự như Domain Admin chưa gán vào thì khi thực thi quyền root của tài khoản Domain Admin sẽ bị lỗi, nếu đã join domain cho linux thì phần này rất quan trong


Thêm cú pháp sau sẽ thành công

%DOMAIN\\Domain\ Admins ALL=(ALL) ALL

Vậy là đã nói xong phần gán quyền cho AD vào Centos, như windowns gọi là set local admin, giờ tiếp theo là phần chính của mục này là cài FTP dùng user AD.

Bước 1 : Muốn cài FTP vsftpd thì đầu tiên phải cài gói cài đặt này, chạy dòng lệnh sau (Do dùng user domain nên dùng sudo :))

[centos01@domain.local@CentosServer ~]$ sudo yum install vsftpd



Bước 2 :Khởi động và Enable vsftpd

[centos01@domain.local@CentosServer ~]$ sudo systemctl start vsftpd

[centos01@domain.local@CentosServer ~]$ sudo systemctl enable vsftpd


Bước 3 :FTP sử dụng port 21 nên mở port firewall lên, hoặc có thể tắt hết cũng được, muốn tắt hết tham khảo bài LPIC-System Administrator(Red Hat)

[centos01@domain.local@CentosServer ~]$ sudo firewall-cmd --zone=public --permanent --add-port=21/tcp

[centos01@domain.local@CentosServer ~]$ sudo firewall-cmd --zone=public --permanent --add-service=ftp

[centos01@domain.local@CentosServer ~]$ sudo firewall-cmd --reload


Bước 4 : Cấu hình file config FTP

Trước khi làm gì backup ra 1 bản config để dùng lại nếu có phát sinh lỗi.

[centos01@domain.local@CentosServer ~]$ sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup

Sau khi backup lại một file vsftpd.conf.backup để hờ sử dụng sau và tiến hành cấu hình file vsftpd.conf

[centos01@domain.local@CentosServer ~]$ sudo vi /etc/vsftpd/vsftpd.conf



Kiểm tra những dòng sau như bên dưới
//---------------------------------------------------------------------//
anonymous_enable=NO            
local_enable=YES
write_enable=YES
local_umask=022        
dirmessage_enable=YES         
xferlog_enable=YES
connect_from_port_20=YES       
xferlog_std_format=YES         
listen=NO   
listen_ipv6=YES        
pam_service_name=vsftpd       
userlist_enable=YES         
tcp_wrappers=YES  
local_root=/home/ftp_shares
//---------------------------------------------------------------------//

local_root=/home/ftp_shares : Tại sao có dòng này, có nghĩa là khi tạo FTP mặc định khi login FTP sẽ sinh ra profile user FTP đó và mặc định redirect folder sẽ nằm bên trong profile. Khi set local root thì mặc định khi login vào ftp thì tự động redirect về /home/ftp_shares, dùng cấp 10 user cũng chỉ về 1 folder chung, cái này tùy policy mỗi nới

Bước 5 :  Cấu hình allow FTP và quyền chmod khi một user khác đăng nhập FTP sẽ tự động phân quyền có user đó

[centos01@domain.local@CentosServer ~]$  sudo vi /etc/vsftpd/user_list



Bước 6 : Cấu hình bảo mật FTP với SELinux(Securing FTP Server with SELinux)

Chạy câu lệnh sau :

[centos01@domain.local@CentosServer ~]$  sudo setsebool -P tftp_home_dir on

[centos01@domain.local@CentosServer ~]$  sudo semanage boolean -m ftpd_full_access --on

Có thể kiểm tra trạng thái FTP bằng câu lệnh

[centos01@domain.local@CentosServer ~]$  sudo getsebool -a | grep ftp


Note : check xem tftp_home_dir --> on ftpd_full_access --> on  là mọi thứ ok.

Cuối cùng là đăng nhập vào FTP tận hưởng thành quả.



Nhãn: