SELinux là một phần bảo mật của Server/VPS. Tuy nhiên trong nhiều trường hợp bạn muốn cài đặt phần mềm sẽ bắt buộc phải tắt SELinux đi thì mới có thể cài đặt được. Ví dụ như mình đang cần cài FASTPANEL như hình bên dưới thì khi có SELinux mình sẽ không thể nào cài đặt được.
Và trong bài viết này mình sẽ hướng dẫn các bạn disable SELinux CentOS 7 (vô hiệu hóa SELinux).
SELinux là gì?
SELinux là một tính năng bảo mật nhằm hạn chế truy cập vào một số module nhất định trên nhân Kernel. Với CentOS 7 khi được cài đặt thì SELinux mặc định được bật. Và SELinux cũng được cài trên các OS Linux khác như Debian. SELinux được quản lý thông qua những nguyên tắc hay còn được gọi là “policies”, dùng để hạn chế hoặc cho phép các ứng dụng nhất định truy cập vào các thành phần quan trọng của hệ thống.
Dưới đây là các trạng thái của SELinux:
- Trạng thái Enforcing chặn tất cả truy cập không phép. Ở trạng thái này, SELinux được bật.
- Trạng thái Permissive SELinux sẽ chỉ có cảnh báo chứ không chặn truy cập.
- Trạng thái Disable SELinux sẽ bị tắt và mọi truy cập không phép đều thực hiện được và không có bất kì cảnh báo nào được đưa ra.
Vậy là chúng ta đã biết được cách hoạt động của SELinux. Và biết được có nên vô hiệu hóa nó hay không.
Disable SELinux CentOS 7
Với SELinux bạn sẽ có hai lựa chọn đó là vô hiệu hóa tạm thời và vô hiệu hóa vĩnh viễn. Mỗi trạng thái đều có lợi ích riêng.
Đối với vô hiệu hóa tạm thời bạn sẽ không cần khởi động lại VPS/Server để SELinux thay đổi trạng thái. Và sau khi VPS/Server được khởi động lại SELinux sẽ tự động được bật theo hệ điều hành.
Còn đối với việc vô hiệu hóa hoàn toàn bạn sẽ phải khởi động lại VPS/Server thì mới vô hiệu hóa hoàn toàn được SELinux.
Tùy vào mục đích của bạn mà các bạn xem một trong hai trường hợp nhé.
Cách 1: Vô hiệu hóa SELinux tạm thời trên CentOS 7
Để Vô hiệu hóa SELinux tạm thời trên CentOS 7, đầu tiên chúng ta cần làm là SSH hoặc truy cập VPS hoặc máy chủ của bạn với quyền root trước.
Sau khi đã SSH thành công chúng ta sử dụng lệnh sestatus
để kiểm tra trạng thái SELinux:
Như bạn có thể thấy hình trên của mình current mode (trạng thái hiện tại) SELinux đang được bật ở trạng thái . Sau đó chúng ta sử dụng lệnh setenforce 0
để vô hiệu hóa tạm thời SELinux.
Vậy là chúng ta đã vô hiệu hóa tạm thời SELinux thành công. Điểm lợi thế của cách này là không cần phải khởi động lại VPS/Server của bạn.
Cách 2: Vô hiệu hóa SELinux vĩnh viễn trên CentOS 7
Để vô hiệu hóa SELinux vĩnh viễn trên CentOS 7 chúng ta sẽ cần thay đổi tệp tin cấu hình của SELinux một chút.
Sử dụng lệnh vi /etc/sysconfig/selinux
để chỉnh sửa tệp tin cấu hình của SELinux.
Tìm đến dòng SELINUX=enforcing
chọn phím i
để vào trạng thái chỉnh sửa tệp tin và chỉnh thành SELINUX=disabled
.
Sau đó nhấn phím ESC
để thoát trạng thái chỉnh sửa và sử dụng tổ hợp phím :x
+ Enter
để lưu lại. Cuối cùng các bạn sẽ cần sử dụng lệnh reboot
để khởi động lại VPS/Server. Sau đó kiểm tra lại trạng thái SELinux bằng lệnh sau:
sestatus
Kết quả bạn sẽ thấy SELinux đã được vô hiệu hóa trên CentOS 7.
Lời kết
SELinux là một lớp bảo mật rất tốt trên CentOS 7. Tuy nhiên trong một vài trường hợp thì chúng ta cần tắt đi và hiện tại bảo mật trên CentOS nói chung và Linux nói riêng cũng đã rất tốt nên việc vô hiệu hóa SELinux đi cũng gần như không mất sự bảo mật đi quá nhiều.
Như vậy là bạn đã nắm được cách disable SELinux CentOS 7 (vô hiệu hóa SELinux).