一、vsftpd介绍
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
二、vsftpd安装
#yum install vsftpd
三、安装后的基本配置
#vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=YES
write_enable=YES
ftpd_banner=Welcome to Mven.CN FTP service.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#vi /etc/vsftpd/chroot_list
ftpuser
修改以上这些,其他的可以不用动
四、启动vsftpd服务
#service vsftpd restart
启动服务后,这样就可以使用FTP了。
五、vsftpd配置文件说明
#vi /etc/vsftpd/vsftpd.conf
#匿名设置
anonymous_enable=YES 是否允许匿名ftp,如否则选择NO
anon_upload_enable=YES 是否允许匿名用户上传文件
anon_mkdir_write_enable=YES 是否允许匿名用户创建目录
#基本设置
local_enable=YES 是否允许本地用户登录
write_enable=YES 是否允许用户对FTP服务器具有写权限
local_umask=022 设置本地用户的文件掩码,默认022
#欢迎(提示)信息设置
ftpd_banner=Welcome to Mven.CN FTP service. 设置FTP服务器欢迎消息
dirmessage_enable=YES 是否启用目录说明
message_file=.message 设置访问一个目录时获得的目录信息文件的文件名,默认是.message
#日志配置
xferlog_enable=YES 是否启用上传和下载日志的功能
xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log
#连接数和速度
max_clients=100 最大客户端数100,默认是0不限止
max_per_ip=5 每个客户端最大连接数5
local_max_rate=500000 本地用户速度限制(单位是b)
anon_max_rate=2000 匿名和虚拟用户速度限制(单位是b)
#限制用户设置
chroot_local_user=YES 把所有用户限制在自己的home目录下 全局生效
chroot_list_enable=YES 是否将系统用户限制在自己的home目录下
chroot_list_file=/etc/vsftpd/chroot_list 此文件中列出的用户将被限制在自己的home目录下
如果chroot_local_user=YES,chroot_list_enable=YES的话,在chroot_list中的本地用户就不能锁定在自己的目录内了,而没有在chroot_list文件中的本地用户可以锁定在自己的家目录中。
userlist_enable=YES 是否启用用户访问列表。如果启用了则出现在/etc/vsftpd/user_list中的用户都不能登录ftp。
userlist_deny=NO 出现在/etc/user_list中的用户能登录ftp,没有出现的用户不能登录ftp
deny_email_enable=YES 是否允许禁止匿名用户使用某些邮件地址
banned_email_file=/etc/vsftpd/banned_emails 如果是输入禁止的邮件地址的路径和文件名
#其他设置
connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)
chown_upload=YES 是否改变上传文件后的属主
chown_username=username 把上传的文件的属主都改成username
idle_session_timeout=600 设置默认的断开不活跃session的时间
xferlog_std_format=YES 是否使用标准的ftp xferlog模式
data_connection_timeout=120 设置数据传输超时时间
nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody
ascii_upload_enable=YES
ascii_download_enable=YES 是否使用ascii码方式上传和下载文件
listen=YES 是否开启监听
tcp_wrappers=YES tcp_wrappers设置,俗称“防水墙”,针对进程,防火墙针对IP、Port、service
实验:让匿名用户可以上传,但不能查看等功能
1、在FTP Server操作
#mkdir /var/ftp/up
#chown root:ftp /var/ftp/up
#chmod 730 /var/ftp/up
#vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #启用匿名用户
anon_upload_enable=YES #匿名用户可以上传
chown_uploads=YES #更改上传后文件的所有者
chown_username=daemon #更改上传后文件的所有者名称
anon_umask=077 #上传文件后的权限,600
#service vsftpd restart
2、在FTP Client操作
#cd /tmp #切换到/tmp目录
#mkdir ftpfile #创建测试文件
#ftp 192.168.1.83 #连接到FTP服务器
ftp> cd up #切换到up目录
ftp> put ftpfile #上传文件
ftp> ls #只能上传不能查看
3、完成后在FTP Server上查看
[root@rhce1 ftp]# cd /var/ftp/up
[root@rhce1 up]# ls -l
total 0
-rw――- 1 daemon ftp 0 May 26 22:28 ftpfile
vsftp的含义就是Very Security Ftp,其实就是一款FTP软件。
1、下载:
从天空软件园下载软件,我的版本是2.2.2,软件名为vsftpd-2.2.2.tar.gz
2、编译源代码:
tar xvzf vsftpd-2.2.2.tar.gz (解压,并进入解压后目录vsftpd-2.2.2)
3. 将vsftpd-2.2.2复制到/etc 目录下
cp -r ./vsftpd-2.2.2 /etc/vsftpd-2.2.2
4. 修改目录权限,为了方便,我将权限设为777,可以根据需要设
chmod -R 777 /etc/vsftpd-2.2.2
5. 编译源文件
cd /etc/vsftpd-2.2.2
make
6. 安装
make install
7. 编辑配置:
用vi打开vsftpd.conf,默认的不用管他了
直接在最后一行加上Listen=YES(独立的VSFTPD服务器)
8. 启动服务:
/etc/init.d/vsftpd start
用netstat -tnl查看,如果有21端口证明已经安装配置成功
这个时候已经能用FTP,但不能使用匿名访问。
9. 匿名访问:
mkdir /var/ftp
chown root.root /var/ftp
chmod og-w /var/ftp
这样就能匿名访问。如果还不清楚的话可以参考安装 帮助more INSTALL
10. 开机自启动
用vi打开、etc/rc.local在里面加入/etc/init.d/vsftpd start 即可。
以下是vsftpd.conf的参数程序代码:
Anonymous_enable=yes 允许匿名登陆
Dirmessage_enable=yes 切换目录时,显示目录下.message的内容
Local_umask=022 FTP上本地的文件权限,默认是077
Connect_form_port_20=yes 启用FTP数据端口的数据连接
Xferlog_enable=yes 激活上传和下传的日志
Xferlog_std_format=yes 使用标准的日志格式
Ftpd_banner=XXXXX 显示欢迎信息
Pam_service_name=vsftpd 验证方式
Listen=yes 独立的VSFTPD服务器
Anon_upload_enable=yes 匿名用户上传权限
Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件
Write_enable=yes 本地用户写的权限
Anon_other_write_enable=yes 匿名帐号可以有删除的权限
Anon_world_readable_only=no 匿名用户浏览权限
Ascii_upload_enable=yes 启用上传的ASCII传输方式
Ascii_download_enable=yes 启用下载的ASCII传输方式
Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息
Idle_session_timeout=600(秒) 用户会话空闲后10分钟
Data_connection_timeout=120(秒) 将数据连接空闲2分钟断
Accept_timeout=60(秒) 将客户端空闲1分钟后断
Connect_timeout=60(秒) 中断1分钟后又重新连接
Local_max_rate=50000(bite) 本地用户传输率50K
Anon_max_rate=30000(bite) 匿名用户传输率30K
Pasv_min_port=5000 将客户端的数据连接端口改在
Pasv_max_port=6000 5000-6000之间
Max_clients=200 FTP的最大连接数
Max_per_ip=4 每IP的最大连接数
Listen_port=5555 从5555端口进行数据连接
Local_enble=yes 本地帐户能够登陆
Write_enable=no 本地帐户登陆后无权删除和修改文件
Chroot_local_user=yes 本地所有帐户都只能在自家目录
Chroot_list_enable=yes 文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes 在指定的文件中的用户不可以访问
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/ 路径/文件名 连接失败时显示文件中的内容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 将虚拟服务绑定到某端口
Guest_enable=yes 虚拟用户可以登陆
Guest_username=所设的用户名 将虚拟用户映射为本地用户
Chown_uploads=yes 改变上传文件的所有者为root
Chown_username=root
Deny_email_enable=yes 是否允许禁止匿名用户使用某些邮件地址
Banned_email_file=//任意指定的路径/xx/
Pasv_enable=yes 服务器端用被动模式
User_config_dir=/任意指定的路径//任意文件目录 指定虚拟用户存放配置文件的路径上传的ASCII传输方式
Ascii_download_enable=yes 启用下载的ASCII传输方式
Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息
Idle_session_timeout=600(秒) 用户会话空闲后10分钟
Data_connection_timeout=120(秒) 将数据连接空闲2分钟断
Accept_timeout=60(秒) 将客户端空闲1分钟后断
Connect_timeout=60(秒) 中断1分钟后又重新连接
Local_max_rate=50000(bite) 本地用户传输率50K
Anon_max_rate=30000(bite) 匿名用户传输率30K
Pasv_min_port=5000 将客户端的数据连接端口改在
Pasv_max_port=6000 5000-6000之间
Max_clients=200 FTP的最大连接数
Max_per_ip=4 每IP的最大连接数
Listen_port=5555 从5555端口进行数据连接
Local_enble=yes 本地帐户能够登陆
Write_enable=no 本地帐户登陆后无
參考來源:請按我
沒有留言:
張貼留言