前一阵,公司的某个项目的linux测试数据库服务器应客户的要求做安全合规,大约30多项。
合规做过后,因为是测试系统,使用的人不多,也没暴露出来一些问题。

但是今天上去想用FTP导一个文件到本地,先报出了一个错误:

500 OOPS: cannot locate user entry:nobody

这个错误导致ftp工具无法登陆上服务器

FTP工具无法登陆

上网搜索了一下这个报错,看到的解决办法为在root用户下执行adduser nobody即可解决

参考资料:http://blog.csdn.net/xxx8686/...

回想一下当时做的安全合规内有一项:删除或屏蔽与实际生产系统无关的账号
当时把无关的账号都给删掉了,看来删除会对ftp操作有影响,还需要加回来。

执行命令:adduser nobody
再次尝试登陆ftp服务器,确实能够登陆了,但是想要切换到我想要的文件的目录的时候,报出新的错误:

500 OOPS: cannot change directory:/home/oracle

图片描述

再次在网上搜索报错信息,得知跟selinux有关:

参考资料:http://blog.sina.com.cn/s/blo...

文章中明确指出: Vsftp 550 failed to change directory 错误是因为原因是SElinux的FTP传输审核功能禁止切换目录。

在服务器上输入more /etc/sysconfig/selinux,发现SELINUX=enforcing,而非SELINUX=disabled,看来是合规的时候启用了selinux。

修改selinux是要重启服务器的,但是不太想重启,因为只是拿一个文件而已,于是执行如下命令:

setenforce 0

至此在ftp工具上目录可以切换了,将整个过程分享一下


少放香菜
56 声望3 粉丝