semanage Komut Oluşturucu
SELinux politikası eşlemelerini yönetmek için semanage komutları oluştur (fcontext, login, user, port, boolean)
semanage ile Başlarken
## semanage nedir?
`semanage`, SELinux ilke eşlemelerini yönetir — çekirdeğe bir işlemin, dosyanın, portun veya oturum açma kullanıcısının ne yapmasına *izin verildiğini* söyleyen etiketler. Zorlama/izinli modu kendisi değiştirmez (bu `setenforce`'un işidir); bunun yerine SELinux ilkesinin kullandığı kalıcı eşlemeleri yapılandırır.
## Nasıl Kullanılır
1. **Bir nesne seçin**: `fcontext` (dosya etiketleri), `login` (Linux kullanıcısı → SELinux kullanıcısı eşlemesi), `user`, `port` veya `boolean`. 2. **Bir eylem seçin**: `add` (`-a`), `modify` (`-m`), `delete` (`-d`) veya `list` (`-l`). 3. **SELinux türünü** (`-t`) ve **değeri** (yol regex'i, port, kullanıcı vb.) ayarlayın. 4. **Dosya bağlamını uygulayın**: `fcontext` değişiklikleri için, mevcut dosyaların yeniden etiketlenmesi amacıyla ardından `restorecon` çalıştırın. 5. **Kopyala ve Çalıştır**: `sudo` öneki ekleyin.
Nesneler, Eylemler ve Seçenekler
### `fcontext` Dosya-bağlam eşlemeleri Bir yol regex'ini bir SELinux türüne bağlayın. Ekledikten veya değiştirdikten sonra, mevcut dosyaları yeniden etiketlemek için `restorecon -Rv /path` çalıştırın: `semanage fcontext -a -t httpd_sys_content_t '/web(/.*)?'`.
### `login` Linux kullanıcısı → SELinux kullanıcısı eşlemesi Bir Linux oturum açmasını (veya `__default__`) bir SELinux kullanıcısına eşleyin, örn. `semanage login -a -s user_u john`.
### `user` SELinux kullanıcıları SELinux kullanıcılarını ve üstlenebilecekleri rolleri oluşturun veya değiştirin.
### `port` Port → tür eşlemeleri Kısıtlı bir hizmetin bağlanabilmesi için bir ağ portunu etiketleyin: `semanage port -a -t http_port_t -p tcp 8080`.
### `boolean` İlke boolean'ları Bir ilke davranışını değiştirmek için adlandırılmış bir boolean'ı açın veya kapatın (`semanage boolean -m --on httpd_can_network_connect`).
### Eylemler `-a` / `-m` / `-d` / `-l` Yeni bir eşleme ekleyin, mevcut birini değiştirin, birini silin veya mevcut eşlemeleri listeleyin.
▶SELinux bağlamı nedir ve neden önemlidir?
▶Bir fcontext kuralı ekledim ama httpd dosyaları hâlâ okuyamıyor — neden?
▶Bir hizmetin standart olmayan bir portta dinlemesine nasıl izin veririm?
Bu araç size yardımcı olduysa, bana bir kahve ısmarlamayı düşünün.
Bana bir kahve ısmarla