前一陣,公司的某個項目的linux測試數據庫服務器應客戶的要求作安全合規,大約30多項。
合規作事後,由於是測試系統,使用的人很少,也沒暴露出來一些問題。html
可是今天上去想用FTP導一個文件到本地,先報出了一個錯誤:linux
500 OOPS: cannot locate user entry:nobody
這個錯誤致使ftp工具沒法登錄上服務器數據庫
上網搜索了一下這個報錯,看到的解決辦法爲在root
用戶下執行adduser nobody
便可解決安全
參考資料:http://blog.csdn.net/xxx8686/...服務器
回想一下當時作的安全合規內有一項:刪除或屏蔽與實際生產系統無關的帳號
當時把無關的帳號都給刪掉了,看來刪除會對ftp操做有影響,還須要加回來。oracle
執行命令:adduser nobody
再次嘗試登錄ftp服務器,確實可以登錄了,可是想要切換到我想要的文件的目錄的時候,報出新的錯誤:工具
500 OOPS: cannot change directory:/home/oracle
再次在網上搜索報錯信息,得知跟selinux
有關:測試
參考資料:http://blog.sina.com.cn/s/blo...spa
文章中明確指出: Vsftp 550 failed to change directory
錯誤是由於緣由是SElinux的FTP傳輸審覈功能禁止切換目錄。.net
在服務器上輸入more /etc/sysconfig/selinux
,發現SELINUX=enforcing
,而非SELINUX=disabled
,看來是合規的時候啓用了selinux。
修改selinux是要重啓服務器的,可是不太想重啓,由於只是拿一個文件而已,因而執行以下命令:
setenforce 0
至此在ftp工具上目錄能夠切換了,將整個過程分享一下