匿名用户 /var/ftp
本地用户 /home/username
配置vsftpd时,强烈建议
·# cp /etc/vsftpd.conf /etc/vsftpd.conf1 //备份,vsftpd.conf是个比较苛刻的主文件,修改时不当心在有效行后加一个空格就会使服务启用失败
# diff /etc/vsftpd.conf /etc/vsftpd.conf1 //文件内容比较
·作一步,重启一下,测试
# vi /etc/vsftpd.conf
anonymous_enable=YES // :7 ,匿名账户可登录
local_enable=YES // :10 ,本地账户能够登录
write_enable=YES // :13 ,用户经过ftp在服务器上是否有写权限
local_umask=022 // :17 ,建立时默认权限。文件夹=777-umask,文件=666-umask
anon_upload_enable=YES // :22 ,容许匿名账户上传
anon_mkdir_write_enable=YES // :26 ,容许匿名账户建立文件夹
chown_uploads=YES // :41 ,开启匿名账户上传自动更改所属功能
chown_username=bob // :42 ,属主改成bob
idle_session_timeout=600 // :52 ,空闲会话超时时间
ascii_upload_enable=YES // :76 ,以ASCII方式上传
ftpd_banner=Welcome to blah FTP service. // :80 ,欢迎界面
chroot_list_enable=YES // :91 ,开启用户更改根目录功能,默认为禁用更改根
chroot_list_file=/etc/vsftpd.chroot_list // :93 ,该文件中全部用户没法更改根
查看文件其它参数 # man vsftpd.conf
anon_other_write_enable=YES // 容许匿名账户删除、重命名
anon_root=/ftp // 更改匿名账户根目录,默认为"/var/ftp"
local_root=/local // 更改本地账户根目录为/local,默认为用户主目录~
userlist_enable=YES // 开启用户列表功能
userlist_deny=YES // 用户列表文件中全部账户全拒绝。NO时,只有列表中用户能登录
userlist_file=/etc/vsftpd.user_list // 用户列表文件
anon_max_rate=0 // 匿名用户最大传输速率,0为无限
local_max_rate=0 // 本地用户最大传输速率,0为无限
max_clients=0 // 最大客户端链接数,0为无限
pasv_max_port=0 // 客户端端口最大限制,0为无限制
pasv_min_port=0 // 客户端端口最小限制,0为无限制
测试:
方法1、IE(不建议)
方法2、cmd(强烈推荐),有回显提示。
ftp经常使用测试命令
? 帮助
bye 退出
quit 退出
exit 退出(仅linux客户端)
cd 服务器端路径更改
lcd 本地路径更改
pwd 显示服务器端当前路径
dir 显示服务器端当前目录中内容(显示权限)
ls 显示服务器端当前目录中内容(在linux中使用时也显示权限)
put 上传
get 下载
mkdir 建文件夹
rmdir 删除文件夹
rename 重命名
delete 删除文件
实验1、针对于本地用户的设置
一、限定只有本地账户能登录,匿名账户没法登录
二、本地账户bob不能够更改自已主目录之外的其余目录
三、在本地账户中只有bob能登录,alice不能登录
四、本地账户能够上传文件,以ASCII方式上传
五、登录时显示欢迎信息“Welcome to my ftp site”
# vi /etc/vsftpd.conf
anonymous_enable=NO // 一、:7;需改
local_enable=YES // 一、:10;默认,确认
230 Login successful. Have fun. 验证:登录成功提示
Login failed. 验证:登录失败提示
chroot_list_enable=YES // 二、:91;需删除开头#号注释
chroot_list_file=/etc/vsftpd.chroot_list // 二、:93;需删除开头#号注释
ftp> pwd
257 "/" 验证:成功显示
257 "/home/bob" 验证:改以前显示
userlist_enable=YES // 三、添加
userlist_deny=NO // 三、添加
userlist_file=/etc/vsftpd.user_list // 三、添加
write_enable=YES // 四、:13;默认,确认
ascii_upload_enable=YES // 四、:76;需删除开头#号注释
ftpd_banner=Welcome to my ftpsite // 五、:80;需删除开头#号注释,需修改
x: > ftp 192.168.1.201
Connected to 192.168.1.201.
220 Welcome to my ftp site 验证:未登录提示
# echo bob >> /etc/vsftpd.user_list // 三、添加新行bob
# echo bob > /etc/vsftpd.chroot_list // 二、需存在该文件
# chkconfig vsftpd on // 超级守护当即启动、开机自动启动
# service xinetd restart // 重启vsftpd服务
测试:
x: > ftp linux.wnt.com.cn
实验2、针对于匿名账户的设置
一、只有匿名账户能够登录
二、在FTP目录下建立incoming目录
三、容许匿名访问,但不容许在ftp目录中建立,删除
四、容许匿名用户在incoming目录中上传,建立,删除目录。
五、匿名账户上传的文件,自动变为alice所属
六、用户空闲600秒自动中断
七、匿名账户最大传输速率50kbytes/sec
八、客户端口链接范围50000到60000
# vi /etc/vsftpd.conf
anonymous_enable=YES // 一、:7或“/anonymous” 确认
local_enable=NO // 一、:10或“/local” 修改
anon_upload_enable=YES // 四、:22或“/upload” 删除注释
anon_mkdir_write_enable=YES // 四、:26或“/mkdir” 删除注释
anon_other_write_enable=YES // 四、:27 添加
chown_uploads=YES // 五、:41或“/chown” 删除注释
chown_username=alice // 五、:42 删除注释,再修改
idle_session_timeout=600 // 六、:52或“session” 删除注释
anon_max_rate=50000 // 七、 添加
pasv_min_port=50000 // 八、 添加
pasv_max_port=60000 // 八、 添加
# mkdir /var/ftp/incoming // 二、
# chmod go+w /var/ftp/incoming // 四、 g(group)组、o(other)其它人全有写权限
# chkconfig vsftpd on ==> # service xinetd restart
实验3、针对于超级守护的安全性限制(8。0版本可配,因9。0后vsftpd改成独立守护进程不能用此方法)
一、限定192.168.1.0/24能访问
二、10.0.0.0不能访问
三、每一个客户机最大链接数1
四、服务器最大链接数200
五、只有13:00到17:00期间能访问ftp服务器
# vi /etc/xinetd.d/vsftpd
only_from = 192.168.1.0 // 一、添加在括号内
no_access = 10.0.0.0 // 二、添加在括号内
per_source = 1 // 三、添加在括号内
instances = 200 // 四、添加在括号内
access_times = 13:00-17:00 // 五、添加在括号内
ftp客户链接常见故障现象
现象0:
> ftp: connect :链接被拒绝
缘由: 服务没启动
解决: # chkconfig vsftpd onlinux
现象1:
500 OOPS: cannot open user list file
缘由: 不存在文件“/etc/vsftpd.user_list”或文件中不存在该账户
解决: # echo username >> /etc/vsftpd.user_list安全
现象2:
530 Permission denied.
Login failed.
缘由: “/etc/vsftpd.user_list”文件中不存在当前登录用户
解决: # echo username >> /etc/vsftpd.user_list服务器
现象3:
500 OOPS: cannot open chroot() user list file
Login failed.
缘由: 不存在文件“/etc/vsftpd.chroot_list”
解决: # echo username >> /etc/vsftpd.chroot_listsession
现象4:
500 OOPS: missing value in config file
Connection closed by remote host.
缘由: “=”等号前值有问题,或只有一个空格
解决: 修正相应的值便可,可能过 diff 来比较查找测试
现象5:
500 OOPS: bad bool value in config file
Connection closed by remote host.
缘由: “=”等号后值有问题
解决: 将“=”等号后值确认修改ui
现象6:
500 OOPS: unrecognised variable in config file
Connection closed by remote host.
缘由: 参数前有空格
解决: 将参数前空格删除rest
现象七、
确认存在“local_enable=YES”,但本地用户没法登录
缘由: 验证参数被误删除
解决: 添加“pam_service_name=vsftpd”进程
现象八、
500 OOPS: chdir
500 OOPS: child died
Connection closed by remote host.
缘由: 用户主目录没有权限或没有主目录
解决: 正确设置用户主目录权限ci
500 OOPS: vsFtpd :refusing to run with writable anonymous rootrem
指的是ftp的主目录不能为777权限,如:/var/ftp 此目录的权限为775便可