按照 http://xinchibaobei.blog.163.com/blog/static/1263925092009101074313369 搭建好 vsFTP 后,发现只能用 ftp 或 anonymous 用户才能访问,就连root和自己的登录账号都无法访问。 这当然不爽!参考网上抄来抄去的方法,都说要装 libdb3-util ,后面还有大堆的安装和配置,懒得动。 终于发现了实践一族: http://sam1234567890.blog.163.com/blog/static/60175831200832683258463 http://bbs./viewthread.php?tid=11383 多谢两位!(如果嫌我后面说的简陋,可以参考以上两位的博客。) 1. 搭好vsFTP后,/etc目录下需要手动添加3个文件,内容暂时为空: vsftpd.user_list ftpusers (这个文件可能原来就有。不用手动加) vsftpd.chroot_list (这里我没用上,不过先建着) 2. 按如下方式修改 vsftpd.conf 文件: vsftpd.conf vim /etc/vsftpd.conf 运行这个就可以进入配置界面 listen=YES 独立运行模式 anonymous_enable=NO/YES (允许匿名登陆吗?=YES 可登陆 =NO 不可登陆) no_anon_password=NO/YES (匿名登陆要密码吗?=YES 要 =NO 不要) local_enable=YES/NO 本地用户可登陆吗? =YES 要 =NO 不要 write_enable=YES 本地用户有写权限吗? local_umask=022 不要动,前面如果有#就去掉,什么意思,不告诉你 connect_from_port_20=YES 端口设成20 ,不想要,自己在改: connect_from_port_205=YES idle_session_timeout=600 监听,多常时间,没响应,VSFTPD 把你踢出服务器 data_connection_timeout=600 连接服务器后,数据多常时间不能传入,断开服务 chroot_list_enable=YES 这一行,和下面一行,密切相关 chroot_list_file=/etc/vsftpd.chroot_list 这一行,上一行设置YES才生效。意思是:加入到这个文件内的用户,只能访问自己的目录。其它目录不能访问.建立下面有说明. secure_chroot_dir=/var/run/vsftpd 意思是:vsftpd 运行的目录。 pam_service_name=vsftpd 加密(pam) 传输模式,这个目录内的: /etc/pam.d/vsftpd rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key (KEY文件,不要动) 如果其它的没有。就自己,添加里面。(手动加入的呀。不要懒哦) : use_localtime=YES connect_timeout=60 accept_timeout=60 max_clients=8 max_per_ip=8 pasv_min_port=0,pasv_max_port=0 local_max_rate=0 tcp_wrappers=YES nopriv_user=nobody userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd.user_list (这里主要关注倒数第二句:userlist_deny=NO ,这样一来只有vsftpd.user_list文件中指定的用户才能访问) 3. 在 vsftpd.user_list 文件中添加如下内容: # vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES(default), never allow users in this file,and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers # for users that are denied. root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody ftp 4. 这时查看一下 ftpusers 文件中的内容,要把你想允许访问的用户删掉或注释掉。 5. 重启服务:service vsftpd restart 6. 这时你就能用root用户访问了。 如果你想让你登陆Linux的账号也能访问,只要把用户名写进 vsftpd.user_list 就行了。 (还是要确保 ftpusers 文件中没有这个用户)。另外别忘了重启服务。 7. 接下来要添加新用户。 添加用户:adduser iori 添加成功后,在 vsftpd.user_list 文件中添上 iori 重启服务后,就能访问FTP了。 但这里又遇到了一个问题: 如果我想添加一个ftp用户,既只想让他能够访问FTP,但不能让他登陆系统。按如下命令创建: adduser --shell /sbin/nologin ftpuser 可发现这个用户按7中的操作后还是无法访问FTP,报错: 530 Login incorrect. Login failed. 这个暂时没解决。
|