vsftpd 500 OOPS: cannot change directory解決
今天有台機器由於hang住了進行重啟,重啟之後發現ftp不好使,開始以為是ftp服務不隨機器一起啟動,結果就 重啟了下。不過問題還是沒解決,依然不好使,報500 OOPS: cannot change directory 這個錯誤。銅鼓半天,才發現由於selinux原因。
進入到/etc/selinu/下。查看config文件,發現
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing ---多出了一行,這行與下面一樣,而且這樣賦值是錯的。就注釋掉了
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
SELINUX=disabled
更改之後,由於暫時不能重啟機器,就用setenforce 0 讓它暫時生效。
後來仔細查百度才知道
SELINUX有「disabled」「permissive」,「enforcing」3種選擇。
Disabled就不用說了,permissive就是Selinux有效,但是即使你違反了策略的話它讓你繼續操作,但是把你的違反的內容記錄下來。在我們開發策略的時候非常的有用。
相當於Debug模式。
Enforcing就是你違反了策略,你就無法繼續操作下去。
SELINUXTYPE呢,現在主要有2大類,一類就是紅帽子開發的targeted,它只是對於,主要的網絡服務進行保護,比如 apache,sendmail,bind,postgresql等,不屬於那些domain的就都讓他們在unconfined_t裡,可導入性高,可用性好但是不能對整體進行保護。