ubuntu16 ftp 服务 vsftp 配置

沐心_ 2017-06-29 10:36:45

版权声明:转载请注明作者和出处。
目标:安装 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=你想要的端口
保存重启服务
记得防火墙要开端口


# vsftpd.conf 配置文件部分参数列表
# 设置 vsftpd是否可以独立运行 守护进程从 initscript 开始
listen=NO

# 是否监听IPV6端口
listen_ipv6=YES

# 是否允许匿名访问FTP
anonymous_enable=NO

# 是否允许本地用户登陆
local_enable=YES

# 取消注释以启用任何形式的FTP写入命令
write_enable=YES


# 本地用户默认上传文件权限为077 你可以将其改为022或其他
#local_umask=022

# 取消注释允许匿名FTP用户上传文件
#anon_upload_enable=YES

# 取消注释允许匿名FTP用户创建文件夹
#anon_mkdir_write_enable=YES

# 激活目录消息 用户切换目录会发送给他消息
dirmessage_enable=YES

# 如果启用 vsftpd将显示目录列表与时间默认GMT
use_localtime=YES

# 激活 上传/下载 的日志记录
xferlog_enable=YES

# 确保端口传输链接源来自端口20
connect_from_port_20=YES

#上传匿名文件
#chown_uploads=YES
#chown_username=whoever

#日志
xferlog_file=/var/log/vsftpd.log

#启用 xferlog 默认位置 /var/log/xferlog
#xferlog_std_format=YES

#允许的空闲时间
#idle_session_timeout=600

#允许的数据传输时间
#data_connection_timeout=120

#启用port模式
#port_enable=YES

#启用主动模式
#pasv_enable=YES
#pasv_min_port=最小端口
#pasv_max_port=最大端口

#不知道什么鬼
#nopriv_user=ftpusername

#启用此功能服务器能识别异步ABOR请求
#async_abor_enable=YES

#启用ASCII模式 (不要启用会被Dos攻击)
#ascii_upload_enable=YES
#ascii_download_enable=YES

#设置FTP登陆欢迎语
ftpd_banner=欢迎来到我的FTP服务器

#设置禁止登陆的Emal用户列表
#deny_email_enable=YES
# (默认列表文件位置)
#banned_email_file=/etc/vsftpd.banned_emails

#将本地用户限制在其主目录(禁止跨目录)
#chroot_local_user=YES

#定义不受目录限制影响的用户列表
#chroot_list_enable=YES
# (列表文件位置)
#chroot_list_file=/etc/vsftpd.chroot_list

#激活内置 -R 选项
#ls_recurse_enable=YES

#定义 sftpd的空目录
secure_chroot_dir=/var/run/vsftpd/empty

#该字符串是vsftpd将使用的PAM服务的名称。
pam_service_name=sftpd

#rsa证书位置
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

#rsa密钥位置
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

#是否启用SSL
ssl_enable=NO

#是否允许匿名用户启用SSL
allow_anon_ssl=NO

#dsa证书的位置
dsa_cert_file=/path/file

#非匿名用户登陆时是否加密,默认为yes
force_local_logins_ssl=YES

#非匿名用户传输数据时是否加密,默认为yes
force_local_data_ssl=YES

#匿名用户登录时是否加密
force_anon_logins_ssl=NO

#匿名用户数据传输时是否加密,默认为no
force_anon_data_ssl=NO

#是否激活sslv2加密
ssl_sslv2=NO

#是否激活sslv3加密
ssl_sslv3=NO

#是否激活tlsv1加密
#ssl_tlsv1=YES

#加密方法
#ssl_ciphers=DES-CBC3-SHA

禁用SSL会话重用(WinSCP需要)
#require_ssl_reuse=NO '

#选择哪个SSL密码vsftpd将允许加密的SSL连接(FileZilla需要)
ssl_ciphers=HIGH
...全文
594 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
云霄飞车 2017-11-12
  • 打赏
  • 举报
回复
mark```````````

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧