前一阵,公司的某个项目的linux测试数据库服务器应客户的要求做安全合规,大约30多项。
合规做过后,因为是测试系统,使用的人不多,也没暴露出来一些问题。
但是今天上去想用FTP导一个文件到本地,先报出了一个错误:
500 OOPS: cannot locate user entry:nobody
这个错误导致ftp工具无法登陆上服务器
上网搜索了一下这个报错,看到的解决办法为在root
用户下执行adduser nobody
即可解决
回想一下当时做的安全合规内有一项:删除或屏蔽与实际生产系统无关的账号
当时把无关的账号都给删掉了,看来删除会对ftp操作有影响,还需要加回来。
执行命令:adduser nobody
再次尝试登陆ftp服务器,确实能够登陆了,但是想要切换到我想要的文件的目录的时候,报出新的错误:
500 OOPS: cannot change directory:/home/oracle
再次在网上搜索报错信息,得知跟selinux
有关:
文章中明确指出: Vsftp 550 failed to change directory
错误是因为原因是SElinux的FTP传输审核功能禁止切换目录。
在服务器上输入more /etc/sysconfig/selinux
,发现SELINUX=enforcing
,而非SELINUX=disabled
,看来是合规的时候启用了selinux。
修改selinux是要重启服务器的,但是不太想重启,因为只是拿一个文件而已,于是执行如下命令:
setenforce 0
至此在ftp工具上目录可以切换了,将整个过程分享一下
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。