标签:文件的 xferlog tin ddr FTP安 连接 时间 nload enable
一、准备。
ubuntu虚拟机和window之间采用桥接方式(电脑主机最好是网线上网)
二、ftp服务器配置。
2.1. 安装ftp服务器。
目前Linux上使用较多的ftp服务器是vsftpd。所以,我们需要先安装vsftpd软件。在Ubuntu上安装vsftpd,使用的命令是
sudo apt-get install vsftpd
在终端输入这句命令,有可能会提示-“无法定位到软件包 vsftpd”,那么这个问题的解决办法是在 /etc/apt/sources.list文件的最后,添加如下代码,
deb http://ftp.us.debian.org/debian stable main contrib non-free deb http://ftp.us.debian.org/debian-non-US stable/non-US main contrib non-free deb http://ftp.us.debian.org/debian testing main contrib non-free deb http://ftp.us.debian.org/debian-non-US testing/non-US main contrib non-free deb http://ftp.us.debian.org/debian unstable main contrib non-free deb http://ftp.us.debian.org/debian-non-US unstable/non-US main contrib non-free
然后在终端中执行命令
apt-get update
经过漫长的等待,终端中最终会执行上面添加的代码。
2.2 vsftpd的配置。
安装好vsftpd后,我们就需要配置它,那么就要修改 /etc/vsftpd.conf文件。具体的配置和说明,见下文,
# 设置登录FTP欢迎信息
ftpd_banner=Welcome to CHL FTP service.
# 基本配置1
listen=YES # 服务器监听
local_enable=YES # 是否允许本地用户访问
write_enable=YES # 是否允许上传文件,不开启会报 550 permission denied
anonymous_enable=NO # 匿名访问允许,默认不要开启
anon_upload_enable=YES # 匿名上传允许,默认是NO
anon_mkdir_write_enable=YES # 匿名创建文件夹允许
# 基本配置2
local_umask=022 # FTP上本地的文件权限,默认是077。此时umask为022,则目录为777-022=755,文件为666-022=644。
dirmessage_enable=YES # 进入文件夹允许
connect_from_port_20=YES # 启用20号端口作为数据传送的端口
data_connection_timeout=120 # 设置数据连接超时时间
# 日志配置
utf8_filesystem=YES # vsftpd使用utf8文件系统
use_localtime=YES
xferlog_enable=YES # 激活上传和下传的日志
xferlog_file=/var/log/vsftpd.log # 设定系统维护记录FTP服务器上传和下载情况的日志文件
xferlog_std_format=YES # 使用标准的日志格式
# 自定义
local_root=/home/ftp # 设置自定义的ftp根目录的位置
# 读写权限
allow_writeable_chroot=YES # 解决"500 OOPS: vsftpd: refusing to run with writable root inside chroot()" 问题
write_enable=YES # 允许向FTP服务器写入权限
chown_uploads=YES # 设定是否允许改变上传文件的属主,与下面一个设定项配合使用
chown_username=whoever # 设置想要改变的上传文件的属主,可设为ftp
ascii_upload_enable=YES # 允许服务器以ASCII方式传输数据,但引起"SIZE /big/file"方式的DoS攻击
ascii_download_enable=YES
deny_email_enable=YES # 黑名单设置。如果很讨厌某些email address,可以取消他的登录权限
banned_email_file=/etc/vsftpd/allowed_users
# FTP限制最大连接数和传输速率,进行资源控制,避免负担过大而运行异常
max_client=50 # FTP服务器的所有客户端最大连接数不超过50个
max_per_ip=5 # 同一IP地址的FTP客户机与FTP服务器建立的最大连接数不超过5个
local_max_rate=100000 # FTP服务器的本地用户最大传输速率设置为100KB/s.
anon_max_rate=50000 # FTP服务器的匿名用户最大传输速率设置为50KB/s.
# 权限设置
#是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效
userlist_deny=NO
userlist_enable=NO # 是否启动限制用户的名单为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外
userlist_file=/etc/vsftpd.user_list
# 在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患,可配置如下
chroot_list_enable=YES # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_local_user=YES # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
chroot_list_file=/etc/vsftpd.chroot_list # 禁用名单,用于指定用户列表,该文件用于控制哪些用户可以切换到home目录的上级目录。
通过搭配能实现以下几种效果
当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
1. 需要手动创建一个目录-ftp的根目录,用户可以访问该目录下的资源,
mkdir /home/ftp
接着创建一个子目录,
mkdir /home/ftp/data
修改ftp这个目录的权限,
chmod -R 777 /home/ftp
2. 还需要手动创建一个文件allowed_users,位于 /etc下,创建该文件的命令是
touch allowed_users
创建文件成功后,我们就可以添加访问用户了,添加用户的命令是
useradd -d /home/ftp/data -s /sbin/nologin zhangxw
添加一个用户(zhangxw),但是该用户不能登录系统。
接着设置该用户的密码,输入命令,
passwd zhangxw
然后根据提示,输入密码即可。
3. 将上面添加的用户,手动写入到 /etc/vsftpd/allowed_users。只需要添加一行,写入用户名即可。
退出保存即可!重启下vsftp服务!
重启vsftpd,命令是
service vsftpd restart
PS:
如果想要删除ftp某个用户,可以使用如下命令,例如删除用户名为 ”zhangxw”的用户,
userdel zhangxw
配置好vsftpd后,我们就可以启动它了。命令为
service vsftpd start
如需查看vsftpd的状态,可以输入命令
service vsftpd status
参考:
https://blog.csdn.net/oxiaoxue123456789/article/details/81557896
https://www.jianshu.com/p/8f17e2a18515
标签:文件的 xferlog tin ddr FTP安 连接 时间 nload enable
原文地址:https://www.cnblogs.com/chenlizhi/p/13130923.html