LPIC-System Administrator - Hướng dẫn cài FTP Server Centos 7 với group user Active Directory Domain Windowns
Thứ Năm, 22 tháng 11, 2018
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 và 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 Centos01 và Centos02
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 và 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ả.