vsftpd 错误:530 and 500 错误解决方法

VSFTP  530 Login incorrect  And    500 OOPS: vsftpd: refusing to run with writable anonymous root
错误的解决方法
 
 
 
530 Login incorrect   :
在文件中限制匿名用户,做如下设置:
anonymous_enable=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

这样只有在user_list 里面的用户才可以访问ftp
但是在service vsftpd restart 后,
ftp localhost 测试,输入正确的用户名和密码之后,
却一直显示
:530 Login incorrect
Login Failed
后来发现在etc下面有个pam.d文件夹
进去打开vsftpd这个文件, 发现里面对之前的用户进行了限制,
将里面对应的限制注释掉,
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
问题解决。
 
 
 
 
 
 
500 OOPS: vsftpd: refusing to run with writable anonymous root

"
如果我们已经把 vsFTPd 服务器启动好了,但登录测试是会出现类似下面的提示;
500 OOPS: vsftpd: refusing to run with writable anonymous root
这表示 ftp 用户的家目录的权限不对,应该改过才对;
[root@localhost ~]# more /etc/passwd |grep ftp
ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin
我们发现 ftp 用户的家目录在 /var/ftp ,就是这个 /var/ftp 的权限不对所致,这个目录的权限是不能打开所有权限的;是您运行了 chmod 777 /var/ftp 所致;如果没有 ftp 用户这个家目录,当然您要自己建一个;
如下 FTP 用户的家目录是不能针对所有用户、用户组、其它用户组完全开放;
[root@localhost ~]# ls -ld /var/ftp
drwxrwxrwx 3 root root 4096 2005-03-23 /var/ftp
修正这个错误,应该用下面的办法;
[root@localhost ~]# chown root:root /var/ftp
[root@localhost ~]# chmod 755 /var/ftp
有的弟兄可能会说,那匿名用户的可读、可下载、可上传怎么办呢?这也简单,在 /var/ftp 下再建一个目录,权限是 777 的就行了,再改一改 vsftpd.conf OK 了;没有什么难的;
vsFTPd
出于安全考虑,是不准让 ftp 用户的家目录的权限是完全没有限制的,您可以去读一下 vsFTPd 的文档就明白的了;否则也不能称为最安全的 FTP 服务器了,对不对? "
2:
防火墙的打开相应的端口 21,20
3:
因为我是 adsl 双网卡上网的形式 , 所以还要加载 ip_conntrack_ftp 这个模块 / 这个不要忘了 .
 
 
 
 
另附上 VSFTP 的配置文件:
#About host settings
connect_from_port_20=YES
# 记得在前一小节提到的主动式连线使用的 FTP 伺服器的埠号吗?这就是 ftp-data 的埠号;
 
listen_port=21
#vsftpd 使用的命令通道之埠号,如果您想要使用非正规的埠号,在这个设定项目修改吧!不过你必须要知道,这个设定值仅适合以 stand alone 的方式来启动喔! ( 对于 super daemon 无效 )
 
dirmessage_enable=YES
# 当使用者进入某个目录时,会显示该目录需要注意的内容,显示的档案预设是 .message ,你可以使用底下的设定项目来修订!
 
message_file=.message
# dirmessage_enable=YES 时,可以设定这个项目来让 vsftpd 寻找该档案来显示讯息!
 
listen=YES
# 若设定为 YES 表示 vsftpd 是以 standalone 的方式来启动的!
 
pasv_enable=YES
# 启动被动式连线模式 (passive mode) ,一定要设定为 YES 的啦!
 
use_localtime=YES
# 是否使用本地时间? vsftpd 预设使用 GMT 时间 ( 格林威治 ) ,所以会比台湾晚 8 小时,建议设定为 YES 吧!
 
write_enable=YES
# 如果你允许使用者上传资料时,就要启动这个设定值;
 
connect_timeout=60
# 单位是秒,在资料连接的主动式连线模式下,我们发出的连接讯号在 60 秒内得不到用户端的回应,则不等待并强制断线咯。
 
accept_timeout=60
# 当使用者以被动式 PASV 来进行资料传输时,如果主机启用 passive port 并等待 client 超过 60 秒而无回应,那么就给他强制断线!这个设定值与 connect_timeout 类似,不过一个是管理主动连线,一个管理被动连线。
 
data_connection_timeout=300
# 如果伺服器与用户端的资料连线已经成功建立 ( 不论主动还是被动连线 ) ,但是可能由于线路问题导致 300 秒内还是无法顺利的完成资料的传送,那用户端的连线就会被我们的 vsftpd 强制剔除!
 
idle_session_timeout=300
# 如果使用者在 300 秒内都没有命令动作,强制离线!
 
max_clients=50
# 如果 vsftpd 是以 stand alone 方式启动的,那么这个设定项目可以设定同一时间,最多有多少 client 可以同时连上 vsftpd 哩!
 
max_per_ip=5
# 与上面 max_clients 类似,这里是同一个 IP 同一时间可允许多少连线?
 
pasv_min_port=0, pasv_max_port=0
# 上面两个是与 passive mode 使用的 port number 有关,如果您想要使用 65400 65410 11 port 来进行被动式连线模式的连接,可以这样设定 pasv_max_port=65410 以及 pasv_min_port=65400 。如果是 0 的话,表示随机取用而不限制。
 
#ftpd_banner= 一些文字�f明
 
# 当使用者连线进入到 vsftpd 时,在 FTP 用户端软体上头会显示的说明文字。不过,这个设定值资料比较少啦!建议你可以使用底下的设定值来取代这个项目;
 
banner_file=/etc/vsftpd/welcome.txt
# 这个项目可以指定某个纯文字档作为使用者登入 vsftpd 伺服器时所显示的欢迎字眼。
#
 
#
#
#Entity user settings
#
guest_enable=NO
# 若这个值设定为 YES 时,那么任何非 anonymous 登入的帐号,均会被假设成为 guest ( 访客 ) 喔!至于访客在 vsftpd 当中,预设会取得 ftp 这个使用者的相关权限。但可以透过 guest_username 来修改。
 
guest_username=ftp
# guest_enable=YES 时才会生效,指定访客的身份而已。
 
local_enable=YES
# 这个设定值必须要为 YES 时,在 /etc/passwd 内的帐号才能以实体用户的方式登入我们的 vsftpd 主机喔!
 
write_enable=YES
# 是否允许实体用户写入
 
local_max_rate=60000
# 实体用户的传输速度限制,单位为 bytes/second 0 为不限制。
 
chroot_local_user=YES
#将使用者限制在自己的家目录之内(chroot)!这个设定在vsftpd当中预设是NO,因为有底下两个设定项目的辅助喔!所以不需要启动他
#但如果启动了他,则表示实体用户默认就已经被chroot,写在/etc/vsftpd/chroot_list里的用户反而是没有被chroot的.
 
chroot_list_enable=YES
# 是否启用将某些实体用户限制在他们的家目录内?预设是 NO ,不过,如果您想要让某些使用者无法离开他们的家目录时,可以考虑将这个设定为 YES ,并且规划下个设定值
 
chroot_list_file=/etc/vsftpd/chroot_list
# 如果 chroot_list_enable=YES 那么就可以设定这个项目了!他里面可以规定那一个实体用户会被限制在自己的家目录内而无法离开! (chroot) 一行一个帐号即可!
 
userlist_enable=YES
# 是否借助 vsftpd 的抵挡机制来处理某些不受欢迎的帐号,与底下的设定有关;
 
userlist_deny=YES
# userlist_enable=YES 时才会生效的设定,若此设定值为 YES 时,则当使用者帐号被列入到某个档案时,在该档案内的使用者将无法登入 vsftpd 伺服器!该档案档名与下列设定项目有关。
userlist_file=/etc/vsftpd/user_list
# 若上面 userlist_deny=YES 时,则这个档案就有用处了!在这个档案内的帐号都无法使用 vsftpd 喔!
#
#
#
#Anonymous settings
#
anonymous_enable=YES
# 设定为允许 anonymous 登入我们的 vsftpd 主机!预设是 YES ,底下的所有相关设定都需要将这个设定为 anonymous_enable=YES 之后才会生效!
 
anon_root=/var/ftp
anon_world_readable_only=YES
# 仅允许 anonymous 具有下载可读档案的权限,预设是 YES
 
anon_other_write_enable=YES
# 是否允许 anonymous 具有写入的权限?预设是 NO !如果要设定为 YES ,那么开放给 anonymous 写入的目录亦需要调整权限,让 vsftpd PID 拥有者可以写入才行!
 
anon_mkdir_write_enable=YES
# 是否让 anonymous 具有建立目录的权限?预设值是 NO !如果要设定为 YES ,那么 anony_other_write_enable 必须设定为 YES
 
# 是否让 anonymous 具有上传资料的功能,预设是 NO ,如果要设定为 YES ,则 anon_other_write_enable=YES 必须设定。
 
deny_email_enable=YES
# 将某些特殊的 email address 抵挡住,不让那些 anonymous 登入!如果以 anonymous 登入主机时,不是会要求输入密码吗?密码不是要您输入您的 email address 吗?如果你很讨厌某些 email address ,就可以使用这个设定来将他取消登入的权限!需与下个设定项目配合:
 
#banned_email_file=/etc/vsftpd/banned_emails
# 如果 deny_email_enable=YES 时,可以利用这个设定项目来规定哪个 email address 不可登入我们的 vsftpd 喔!在上面设定的档案内,一行输入一个 email address 即可!
 
no_anon_password=YES
# 当设定为 YES 时,表示 anonymous 将会略过密码检验步骤,而直接进入 vsftpd 伺服器内喔!所以一般预设都是 NO 的!
 
anon_max_rate=40000
# 这个设定值后面接的数值单位为 bytes/ 秒,限制 anonymous 的传输速度,如果是 0 则不限制 ( 由最大频宽所限制 ) ,如果您想让 anonymous 仅有 30 KB/s 的速度,可以设定『 anon_max_rate=30000
 
anon_umask=077
# 限制 anonymous 的权限!如果是 077 anonymous 传送过来的档案权限会是 -rw------- 喔!
#
#
#
# About system settings
ascii_download_enable=YES
# 如果设定为 YES ,那么 client 就可以使用 ASCII 格式下载档案。
 
ascii_upload_enable=YES
# 与上一个设定类似的,只是这个设定针对上传而言!预设是 NO
 
one_process_model=NO
# 这个设定项目比较危险一点~当设定为 YES 时,表示每个建立的连线都会拥有一支 process 在负责,可以增加 vsftpd 的效能。不过,除非您的系统比较安全,而且硬体配备比较高,否则容易耗尽系统资源喔!一般建议设定为 NO 的啦!
 
tcp_wrappers=YES
# 当然我们都习惯支援 TCP Wrappers 的啦!所以设定为 YES 吧!
 
xferlog_enable=YES
# 当设定为 YES 时,使用者上传与下载档案都会被纪录起来。记录的档案与下一个设定项目有关:
 
xferlog_file=/var/log/vsftpd.log
# 如果上一个 xferlog_enable=YES 的话,这里就可以设定了!这个是登录档的档名啦!
 
xferlog_std_format=NO
# 是否设定为 wu ftp 相同的登录档格式? !预设为 NO ,因为登录档会比较容易读!不过,如果您有使用 wu ftp 登录档的分析软体,这里才需要设定为 YES
 
nopriv_user=nobody
# 我们的 vsftpd 预设以 nobody 作为此一服务执行者的权限。因为 nobody 的权限相当的低,因此即使被入侵,入侵者仅能取得 nobody 的权限喔!
 
pam_service_name=vsftpd
# 这个是 pam 模组的名称,我们放置在 /etc/pam.d/vsftpd 即是这个咚咚!
#
#setting's help
#/etc/vsftpd/welcome.txt
#welcome information
#/etc/vsftpd/chroot_list
#chroot user list
#/etc/vsftpd/user_list
#cannot login user list
#/etc/vsftpd/banned_emails
#if anonymous user setting's yes, the file setting cannet't login's ID
 
 
只想要实体用户登陆,修改 anon_enable NO 即可
 

你可能感兴趣的:(职场,休闲)