chcon: '/ usr / sbin / xrdp' etiketsiz dosyaya kısmi bağlam uygulanamıyor


9

SELinux'u bu öğreticiden xrdp'yi yüklemek üzere yapılandırmak için bu satırı yürütmeye çalıştığımda :

# chcon --type=bin_t /usr/sbin/xrdp
# chcon --type=bin_t /usr/sbin/xrdp-sesman

Bu hataları alıyorum:

chcon: can't apply partial context to unlabeled file '/usr/sbin/xrdp'
chcon: can't apply partial context to unlabeled file '/usr/sbin/xrdp-sesman'

CentOS 7.2 64 bitindeyim.

Yanıtlar:


6

Ayrıca CentOS 7'deyim ve bu benim için çalışıyor:

chcon -h system_u:object_r:bin_t:s0 /usr/sbin/xrdp
chcon -h system_u:object_r:bin_t:s0 /usr/sbin/xrdp-sesman

1
Thomas oldukça kapsamlı bir cevap verirken, çözüm o kadar da kolay değil. Aslında çalışan bu iki komuta ulaşana kadar bir çok deneme yanılma yapmak zorunda kaldım
Adelin

Bu benim için bir CentOs kutusunda da işe yaradı.
ramires.cabral

4

Komutunuz daha fazla bilgi vermek zorunda. Daha önce tartışılmıştır (ancak hiçbir kopya görmüyorum ).

Örneğin,

Örneğin, ls -lZörnek bir liste için şu etiketleri verir:

$ ls -lZ msginit msgmerge msgunfmt
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0   msginit
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0   msgmerge
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0   msgunfmt

ve argümanında chconolduğu gibi bir şey bekliyor unconfined_u:object_r:bin_t:s0. A bin_tsadece kısmi bilgidir.

Başvurulan prosedür işe yaramış olmalı ve chconfazlalık kullanılmalıdır. CentOS7'mi kontrol ederken, xrdpyükledim ve bir liste gösteriyor

$ ls -lZ xrdp xrdp-chansrv xrdp-sesman xrdp-sessvc
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       xrdp
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       xrdp-chansrv
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       xrdp-sesman
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       xrdp-sessvc

system_uAlan SELinux'un olan kullanıcı , object_ralandır rolü , bin_tbir tür ve s0(varsayılan) 'dir seviyesi . İçindeki dosyalar /usr/sbinbağlamlarını gösterilen bir kalıptan alırlar semanage fcontext -l(ancak çok fazla eşleşme vardır). Kılavuzu izleyerek, xrdp- veya hatta için kalıbı kaldırmış olabilirsiniz /usr/sbin. Ancak, aşağıdakileri kullanarak kullanıcı ve rolü belirterek komutta daha açık olabilirsiniz chcon:

chcon -u system_u -r object_r --type=bin_t /usr/sbin/xrdp
chcon -u system_u -r object_r --type=bin_t /usr/sbin/xrdp-sesman

Alternatif olarak, desenler sağlamsa ancak dosyaları yüklemek yerine (örneğin) dosyaları taşıdıysanız,

restorecon -v /usr/sbin/xrdp
restorecon -v /usr/sbin/xrdp-sesman

Daha fazla okuma:


3
Hala anlamadım, o zaman bunun için hangi komutun düzeltileceğini söyleyebilir misiniz?
linux'a

2

Birisine yardımcı olabilir, işte benim basit 2 sentim. Selinux'u bir şekilde devre dışı bıraktıysanız, bu sorunla karşılaşabilirsiniz. Bunu çözmek için selinux'u normale döndürmeniz yeterlidir. / etc / selinux / config dosyasını aç ve değiştir

SELINUX devre =

geri dön

SELINUX = zorlayıcı özellikte

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.