Vsftp服务说明Word下载.docx
《Vsftp服务说明Word下载.docx》由会员分享,可在线阅读,更多相关《Vsftp服务说明Word下载.docx(14页珍藏版)》请在冰点文库上搜索。
ftp命令是最基本的FTP客户端软件
1、在linux和Windows系统中都默认提供ftp命令
2、ftp命令的交互环境中使用命令对FTP服务器进行操作
3、ftp命令中很多命令与Bash中的命令类似
4、binary设置传输二进制文件,ascii设置传输文本文件
5、get命令用于下载文件,put命令用于上传文件
6、mget和mput用于一次下载或上传多个文件
7、bye命令可退出ftp命令交互环境
显示本地目录:
lcd/!
(惊叹号代表当前目录)
vsftpd中支持的用户类型
1、匿名用户
使用公共的用户帐号进行登录,通常用于提供公共文件下载服务
2、本地用户
使用Linux系统用户帐号登录,每个用户都使用各自的宿主目录
3、虚拟用户
使用独立的文件保存虚拟帐号,安全性较好,可替代本地用户
vsftpd.conf配置文件
1、vsftpd.conf是vsftpd服务器的主配置文件
/etc/vsftpd/vsftpd.conf
2、配置文件中所有的配置项都有相同的格式
anonymous_enable=YES
3、配置文件中的注释行以"
#"
开始
4、配置文件的详细帮助信息可查询手册页
#manvsftpd.conf
vsftpd.conf文件中的缺省配置为
anonymous_enable=YES#annonymous_enable设置为"
YES"
时FTP服务器允许匿名登录
local_enable=YES
write_enable=YES
local_umask=022#删除除的用户权限,这里指组和其他用户删除掉写权限
dirmessage_enable=YES#dirmessage_enable设置为"
时当切换到FTP服务器中的某个目录时,将显示该目录下的.message隐含文件的内容
xferlog_enable=YES#xferlog_enable设置为"
时FTP服务器将启用上传和下载日志
connect_from_port_20=YES#connect_from_port_20设置为"
时FTP服务器将启用FTP数据端口的连接请求
xferlog_std_format=YES#xferlog_std_format设置为"
时FTP服务器将使用标准的ftpdxferlog日志格式
pam_service_name=vsftpd#用户认证文件
userlist_enable=YES#userlist_enable设置为"
时FTP服务器将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
listen=YES#listen设置为"
时FTP服务器将处于独立启动模式
tcp_wrappers=YES#tcp_wrappers设置为"
时FTP服务器将使用tcp_wrappers作为主机访问控制方式
vsftpd.ftpusers文件
1、vsftpd.ftpusers用于保存不允许进行FTP登录的本地用户帐号
#head-5/etc/vsftpd.ftpusers
#Usersthatarenotallowedtologinviaftp
root
bin
daemon
adm
2、vsftpd.ftpusers文件中可禁止高权限本地用户登录FTP服务器,提高了系统的安全性
vsftpd.user_list文件对vsftpd服务器更灵活的用户访问控制
/etc/vsftpd.user_list
1、使用vsftpd.user_list文件需要在主配置文件中进行设置
设置禁止vsftpd.user_list文件中的用户登录
userlist_enable=YES
userlist_deny=YES
2、设置只允许vsftpd.user_list文件中的用户登录
userlist_deny=NO
匿名用户登录
vsftpd服务器提供匿名用户登录的功能
1、匿名用户使用的登录用户名
anonymous/ftp
2、匿名FTP用户登录的口令通常是使用用户的E-mail地址,在vsftpd中输入任何字符串或直接回车都可以登录
3、所有匿名用户都登录到相同的目录中
/var/ftp
4、FTP服务器的匿名登录可用于构建公共的文件下载服务器
vsftpd服务的启动和关闭
服务器启动脚本
1、启动脚本名称是vsftpd
/etc/init.d/vsftpd
2、vsftpd服务需要设置在运行级别3和5自动启动
#chkconfig--level35vsftpdon
3、服务器启动
#servicevsftpdstart
4、服务器停止
#servicevsftpdstop
5、服务器状态查询
#servicevsftpdstatus
使用ftp命令登录FTP服务器
ftp命令登录FTP服务器的格式
#ftp192.168.1.2
匿名登录
1、使用用户名anonymous或ftp
2、登录的FTP根目录为系统目录"
/var/ftp"
本地用户登录
1、使用系统用帐号和口令登录ftp服务器
2、登录FTP服务器后的目录为用户宿主目录,用户可转换到系统中的其他目录
FTP本地用户帐号的问题
使用FTP本地用户帐号存在安全性问题
1、FTP本地用户使用Linux系统用户帐号,存在安全隐患
使用虚拟帐号替代本地用户帐号可以增强系统的安全性
2、本地用户登录FTP目录后可从宿主目录转换到其他目录,不是很安全
可以设置将本地用户禁锢在宿主目录中
将FTP本地用户禁锢在宿主目录中
1、在vsftpd.conf文件中添加设置项
chroot_local_user=YES
2、重新启动vsftpd服务
#servicevsftpdrestart
3、使用ftp客户端验证
本地用户登录FTP服务器后,宿主目录将作为根(/)目录
vsftp虚拟用户帐号的设置步骤
1、建立虚拟用户口令库文件
2、生成vsftpd的认证文件
3、建立虚拟用户所需的PAM配置文件
4、建立虚拟用户所要访问的目录并设置相就权限
5、设置vsftpd.conf配置文件
vsftpd虚拟用户配置
口令库文件中奇数行设置用户名,偶数行设置口令
#catlogins.txt
test1
123456
test2
234567
使用db_load命令生成认证文件
#db_load-T-thash-flogins.txt\
/etc/vsftpd/vsftpd_login.db
设置认证文件只对用户可读可写
#chmod600/etc/vsftpd/vsftpd_login.db
手工建立vsftpd.vu文件
#cat/etc/pam.d/vsftpd.vu
authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
accountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
4、建立虚拟用户及要访问的目录并设置相应的权限
建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限
#useradd-d/home/ftpsitevirtual
#chmod700/home/ftpsite/
在配置文件中添加虚拟用户的配置内容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
6、重新启动vsftpd服务程序
对vsftpd.conf文件修改后需要重新启动vsftpd服务程序
测试虚拟用户帐号的FTP登录
1、使用已配置的虚拟用户名和口令登录FTP服务器,如能够正常登录说明虚拟帐号配置成功
2、为了系统的安全,缺省配置的虚拟用户只具有较低的用户权限
3、可以通过为每个虚拟用户建立独立的配置文件增加用户的权限
对虚拟用户设置不同的权限
1、设置主配置文件
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
2、建立用户配置文件目录
使用mkdir命令建立用户配置文件目录
#mkdir/etc/vsftpd_user_conf
3、为虚拟用户建立单独的配置文件
用户配置文件名称与用户名相同
/etc/vsftpd_user_conf/test1
/etc/vsftpd_user_conf/test2
4、每个FTP虚拟用户都可以独立设置其权限
anon_world_readable_only=NO#表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES#表示用户可以上传文件
anon_mkdir_write_enable=YES#表示用户具有建立和删除目录的权利
anon_other_write_enable=YES#表示用户具有文件改名和删除文件的权限
配置vsftpd服务器中的资源限制
1、vsftpd服务器中的使用可以进行限制
max_clients=100#设置项用于设置FTP服务器所允许最大客户端连接数,值为0时表示不限制
max_per_ip=5#设置项用于设置对于同一地址允许的最大客户端连接数,值为-时表示不限制
local_max_rate=50000#设置项用于设置本地用户的最大传输速率,单位为bytes/sec,值为0时表示不限制
anon_max_rate=20000#设置项用于设置匿名用户的最大传输速率,单位为bytes/sec,值为0时表示不限制
配置基于ip的虚拟ftp服务器
1、绑定其他ip
2、建立虚拟ftp服务器目录
3、创建虚拟服务器的匿名用户所映射的本地用户
4、修改原独立运行的服务器配置文件
5、复制生成虚拟服务器的主配置文件
6、设定虚拟服务器的ip并使虚拟服务器的匿名用户映射到本地用户ftp2
给服务器绑定其他ip
ifconfigeth0:
192.168.1.223
netconfig-deth0:
建立虚拟ftp服务器目录
#mkdir-p/var/ftp2/pub1
创建虚拟服务器的匿名用户所映射的本地用户ftp2
#useradd-d/var/ftp2-Mftp2
修改原独立运行的服务器配置文件/etc/vsftpd/vsftpd.conf
添加主服务器的ip
listen_address=192.168.1.222
复制生成虚拟服务器的主配置文件vsftpd_site2.conf
#cp/etc/vsftpd/vsftp.conf/etc/vsftp/vsftp_site2.conf
设定虚拟服务器的ip如下
listen_address=192.168.1.223
使虚拟服务器的匿名用户映射到本地用户ftp2
ftp_username=ftp2
重启服务生效即可
附ftp配置文件说明
1、vsftpd配置参数详细整理
#接受匿名用户
#匿名用户login时不询问口令
no_anon_password=YES
#匿名用户主目录
anon_root=(none)
#接受本地用户
#本地用户主目录
local_root=(none)
#如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录
deny_email_enable=YES
#仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录
check_shell=YES
#若启用此选项,userlist_deny选项才被启动
#若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录
#如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录(这个不是很清楚,很哪位熟悉的指点一下)
passwd_chroot_enable=NO
#定义匿名登入的使用者名称。
默认值为ftp。
ftp_username=FTP
#################用户权限控制###############
#可以上传(全局控制).
#本地用户上传文件的umask
local_umask=022
#上传文件的权限配合umask使用
#file_open_mode=0666
#匿名用户可以上传
anon_upload_enable=NO
#匿名用户可以建目录
anon_mkdir_write_enable=NO
匿名用户其它的写权利(更改权限?
)
anon_other_write_enable=NO
如果设为YES,匿名登入者会被允许下载可阅读的档案。
默认值为YES。
anon_world_readable_only=YES
#如果开启,那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名
#guest_enable=NO
所有匿名上传的文件的所属用户将会被更改成chown_username
chown_uploads=YES
匿名上传文件所属用户名
chown_username=lightwiter
#如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
#允许使用"
asyncABOR"
命令,一般不用,容易出问题
async_abor_enable=YES
管控是否可用ASCII模式上传。
默认值为NO。
ascii_upload_enable=YES
#管控是否可用ASCII模式下载。
ascii_download_enable=YES
#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd不需要filesystem的权限时,就会将使用者限制在此数据夹中。
默认值为/usr/share/empty
secure_chroot_dir=/usr/share/empty
###################超时设置##################
#空闲连接超时
idle_session_timeout=600
#数据传输超时
data_connection_timeout=120
#PAVS请求超时
ACCEPT_TIMEOUT=60
#PROT模式连接超时
connect_timeout=60
################服务器功能选项###############
#开启日记功能
xferlog_enable=YES
#使用标准格式
xferlog_std_format=YES
#当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用.
#log_ftp_protocol=NO
#允许使用pasv模式
pasv_enable=YES
#关闭安全检查,小心呀.
#pasv_promiscuous+NO
#允许使用port模式
#port_enable=YES
#关闭安全检查
#prot_promiscuous
#开启tcp_wrappers支持
tcp_wrappers=YES
#定义PAM所使用的名称,预设为vsftpd。
pam_service_name=vsftpd
#当服务器运行于最底层时使用的用户名
nopriv_user=nobody
#使vsftpd在pasv命令回复时跳转到指定的IP地址.(服务器联接跳转?
pasv_address=(none)
#################服务器性能选项##############
#是否能使用ls-R命令以防止浪费大量的服务器资源
#ls_recurse_enable=YES
#是否使用单进程模式
#one_process_model
#绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式
listen=YES
#当使用者登入后使用ls-al之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。
若是希望出现拥有者的名称,则将此功能开启。
text_userdb_names=NO
#显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果
use_localtime=NO
#测试平台优化
#use_sendfile=YES
################信息类设置################
#login时显示欢迎信息.如果设置了banner_file则此设置无效
ftpd_banner=欢迎来到湖南三辰Fake-TaFTP网站.
#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
#显示会话状态信息,关!
#setproctitle_enable=YES
##############文件定义##################
#定义不能更改用户主目录的文件
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
#定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/vsftpd.user_list
#定义登录信息文件的位置
banner_file=/etc/vsftpd/banner
#禁止使用的匿名用户登陆时作为密码的电子邮件地址
banned_email_file=/etc/vsftpd.banned_emails
#日志文件位置
xferlog_file=/var/log/vsftpd.log
#目录信息文件
message_file=.message
##############目录定义#################
#定义用户配置文件的目录
user_config_dir=/etc/vsftpd/userconf
#定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是绝对路径.相对路径是针对用户家目录来说的.
local_root=webdisk#此项设置每个用户登陆后其根目录为/home/username/webdisk
#匿名用户登陆后的根目录
anon_root=/var/ftp
#############用户连接选项#################
#可接受的最大client数目
max_clients=100
#每个ip的最大client数目
max_per_ip=5
#使用标准的20端口来连接ftp
connect_from_port_20=YES
#绑定到某个IP,其它IP不能访问
listen_address=192.168.0.2
#绑定到某个端口
#listen_port=2121
#数据传输端口
#ftp_data_port=2020
#pasv连接模式时可以使用port范围的上界,0表示任意。
默认值为0。
pasv_max_port=0
#pasv连接模式时可以使用port范围的下界,0表示任意。
pasv_min_port=0