搭建nginx与安装vsftpd提示530 Login incorrect

来源:互联网 发布:少女时时彩计划软件 编辑:程序博客网 时间:2024/05/22 11:33

最近要搭建nginx服务器和ftp服务

nginx服务器
在线安装 $sudo apt-get install nginx

安装nginx依赖包运行命令:
sudo apt-get install libssl-dev
sudo apt-get install libpcre3 libpcre3-dev

启动Nginx $sudo /etc/init.d/nginx start

ubuntu安装Nginx之后的文件结构大致为:

所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下

启动程序文件在/usr/sbin/nginx

日志放在了/var/log/nginx中,分别是access.log和error.log

并已经在/etc/init.d/下创建了启动脚本nginx

默认的虚拟主机的目录设置在了/usr/share/nginx/html

ubuntu 14.04 安装vsftpd提示530 Login incorrect
配置vsftpd,此人简洁明了:http://www.cnblogs.com/CSGrandeur/p/3754126.html

安装ftp
sudo apt-get install vsftpd

配置vsftpd.conf
sudo nano /etc/vsftpd.conf

#禁止匿名访问anonymous_enable=NO#接受本地用户local_enable=YES#允许上传write_enable=YES#用户只能访问限制的目录chroot_local_user=YES#设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建local_root=/home/ftp

看网上说加一行“pam_service_name=vsftpd”,我看我这个配置文件本来就有,就不管了。

添加ftp用户
sudo useradd -d /home/ftp -M ftpuser
sudo passwd ftpuser

调整文件夹权限
这个是避免“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”
sudo chmod a-w /home/ftp
sudo mkdir /home/ftp/data
这样登录之后会看到data文件夹,虽然稍麻烦,原因不表了。。查资料这么辛酸已经不易。。

改pam.d/vsftpd
这时候直接用useradd的帐号登录ftp会530 login incorrect
sudo nano /etc/pam.d/vsftpd
注释掉 #auth required pam_shells.so

重启vsftpd
sudo service vsftpd restart

这时就可以用刚才建的ftpuser这个用户登录ftp了,看到的是local_root设置的/home/ftp,并且限制在该目录。
可以在浏览器用ftp://xxx.xxx.xxx.xxx访问,也可以用ftp软件比如flashFXP,密码就是ftpuser的密码。

登录
ftp localhost
用户名为ftpuser,密码自己安装时设置

ubuntu 14.04 安装vsftpd提示530 Login incorrect

这个网上搜了很多方法都不靠谱,最终解决如下:

这是因为ubuntu启用了PAM,所在用到vsftp时需要用到 /etc/pam.d/vsftpd 这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以只要删除了就可以了。
sudo rm /etc/pam.d/vsftpd

500 OOPS:could not read chroot() list file:/etc/vsftpd.chroot_list
解决方法:sudo touch /etc/vsftpd.chroot_list

上传文件的权限很低,sudo gedit /etc/vsftpd.conf中
local_umask=022打开

注:FileZilla软件不错,测试ftp的连接是否正常。再程序连接

public class FTPTest {    @Test    public  void testFtpClient() throws SocketException, IOException {        FTPClient ftpClient = new FTPClient();        ftpClient.connect("192.168.254.128", 21);        ftpClient.login("ftpuser", "111111");        FileInputStream inputStream = new FileInputStream(new File("F:\\IPMAC.txt"));        ftpClient.changeWorkingDirectory("/data");          //"/data/IPMAC.txt"默认是home路径,即/data,而不是/home/ftp/data,估计是配置文件中local_root=/home/ftp的原因        System.out.println(ftpClient.storeFile("IPMAC.txt", inputStream));          inputStream.close();        ftpClient.logout();    }}
0 0
原创粉丝点击