Tôi có một số thứ mà tôi muốn có thể đứng lên làm máy chủ trên Fedora. Tôi biết tôi có thể chạy ít nhất một số trong số này trong người bán rong
hoặc người đóng tàu
nhưng tôi đã biết làm thế nào để làm điều đó. Tôi cũng đã biết cách cho phép nó đối với các dịch vụ hiện có như ssh
nếu tất cả những gì tôi muốn làm là sử dụng một cổng tùy chỉnh thông qua:
sudo semanage port -a -t ssh_port_t -p tcp 2222
Nhưng vấn đề của tôi là selinux đã xác định ssh_port_t
loại. Điều gì sẽ xảy ra nếu tôi có một số ứng dụng tùy chỉnh mà tôi không thể hoặc không muốn chạy trong một vùng chứa vì lý do nào đó, làm cách nào để tôi cho phép một cổng cho ứng dụng nào đó KHÔNG PHẢI có một loại đã được xác định trước trong cổng semanage --list
?
Trong ví dụ này, giả sử tôi đang cố chạy /path/myNiftyGameServer và muốn cho phép nó kết nối trên cổng udp 12345 (hiện không được sử dụng trên hệ thống của tôi). Tôi có thể làm cái này như thế nào?
Về nền tảng, tôi không tự nhận mình là một chuyên gia nhưng tôi cảm thấy tương đối thành thạo với bash và Linux nói chung nhưng tôi vẫn còn là một người mới khi nói đến SELinux (tôi biết về các nhãn, phục hồi
, và một số cơ bản quản lý
các lệnh nhưng tôi vẫn đang học).
Vui lòng cho rằng tôi không muốn vô hiệu hóa SELinux (vì tôi là như vậy). Nếu câu hỏi này có vẻ không thực tế, bạn có thể đưa ra các đề xuất bổ sung nhưng tôi chủ yếu hỏi vì tôi tò mò về cách giải quyết vấn đề này trong SELinux và không thể tự mình tìm ra giải pháp ngoại trừ các loại hiện có như ssh của tôi ví dụ trên. Vui lòng đề xuất các chủ đề đọc có liên quan khác cho người mới sử dụng SELinux.
Chỉnh sửa: Từ các tìm kiếm bổ sung và dựa trên việc tôi tìm thấy một Máy chủ Starbound trên Centos và một Chính sách máy chủ chuyên dụng Soldat, Tôi đoán rằng có lẽ tôi cần học cách viết chính sách SELinux? Thật điên rồ khi tôi cần nhiều như vậy khi một dịch vụ đơn giản là không có tên nhưng tôi vẫn muốn học cách thực hiện.
Chỉnh sửa 2: Sau khi dành thời gian để đọc kỹ chúng, liên kết Starbound dường như không phải là thứ tôi đang theo đuổi; cách viết chính sách SELinux duy nhất là dành cho một máy chủ Apache riêng biệt (Apache đã được xác định) chứ không phải cho một máy chủ trò chơi. Cái Soldat có vẻ rất gần với những gì tôi đang theo đuổi nhưng tôi nghĩ rằng tôi cần có kiến thức cơ bản về viết chính sách để có thể đạt được điều đó. Đặc biệt, tôi thực sự chỉ quan tâm đến cách mở cổng cho máy chủ/dịch vụ web tùy chỉnh. Đặt quyền truy cập đường dẫn tệp nghe cũng hay nhưng tôi có thể quản lý điều đó bằng tài khoản người dùng trong khi ngay cả khi tôi mở một cổng mạng trong tường lửa-cmd (tường lửa), nó vẫn sẽ bị SELinux chặn nếu tôi không nhầm (tôi biết tôi đã có cái này trong quá khứ nhưng tôi cho rằng tôi có thể kiểm tra lại để chắc chắn).