转载:沐心_
地址:http://bbs.csdn.net/topics/392186116
----------------------------------------------------------
目标:安装 vsftpd 服务
为了安装方便 全程使用root模式
一、步骤----------------------------------------------
1、切换root用户模式 (已在root模式下的请忽略)
sudo -i
#然后提示你输入当前用户密码,输入密码后回车后如果密码正确控制台就变成 root@***:/# 了。
2、更新软件源
apt-get update
3、安装 vsftpd
apt-get install vsftpd
#安装完成后vsftpd会创建一个用户组和一个用户,据说匿名用户会使用使用cat /etc/group 可以查看用户组 cat /etc/passwd 可以查看用户以及用户的默认目录
#vsftpd默认创建的用户 ftp 默认目录是 /srv/ftp 命令行是false
4.0、了操作方便我们给FTP创建自定义FTP目录和用户组
4.1、创建FTP目录 /home/ftp 当然你也可以创建到其它目录
mkdir /home/ftp
4.2、创建FTP用户组 ftp-g 这个你们也可以用其它组名
groupadd ftp-g
4.3、设置FTP目录读写权限(注:用户登陆的根目录如果权限设置的太大会导致无法登陆,根目录下的子目录可以给很大的权限)
chmod 755 /home/ftp
4.4、设置文件夹归属 root 以及 我们新建的 FTP用户组
chown root:ftp-g /home/ftp
5.0、设置FTP用户目录以及添加FTP用户
5.1、为用户ftp_a 创建目录 a并设置权限
mkdir /home/ftp/a
chmod 755 /home/ftp/a
5.2、添加用户 ftp_a 并设置归属用户组为 ftp-g 以及设置缺省目录(FTP登陆目录) -s /sbin/nologin 禁止用户登陆控制台
useradd -g ftp-g -d /home/ftp/a -s /sbin/nologin ftp_a
5.3、给新用户 ftp_a 设置密码(无密码不能登陆)
passwd ftp_a
#然后按照提示输入两遍密码 比如我们设置为 123456798
6、给FTP开放外网端口(默认:tcp端口 21)
ufw allow 21/tcp
7、启动FTP服务
/etc/init.d/vsftpd start
8、使用我们创建的用户链接FTP服务器进行文件上传下载测试
二、问题----------------------------------------------
问题1 、用户登陆提示 530 login incorrect解决方法
打开 /etc/vsftpd.conf
将 pam_service_name=vsftpd 改成 pam_service_name=ftp 然后保存
重启vsftpd服务再登陆即可
/etc/init.d/vsftpd restart
问题2、上传文件 550报错
修改 /etc/vsftpd.conf
取消 write_enable=YES 的注释
保存 重启vsftpd服务即可
问题3、用户登陆FTP后可以访问上级目录
修改 /etc/vsftpd.conf 文件 去掉下面 选项 的注释 即可阻止用户访问上级目录chroot_local_user=YES 保存重启服务即可
问题4、修改默认端口修改 /etc/vsftpd.conf 文件
注释掉 #connect_from_port_20=YES
添加listen_port=你想要的端口
保存重启服务
记得防火墙要开端口