《最新centos6.5-VSFTP服务器配置.doc》由会员分享,可在线阅读,更多相关《最新centos6.5-VSFTP服务器配置.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datecentos6.5-VSFTP服务器配置Vsftpd服务器配置Vsftpd服务器配置【基本知识与操作】安装vsftpd:yum install vsftpd服务名:vsftpdvsftpd配置文件:/etc/vsftpd/vsftpd.conf默认本地用户不给登陆的文件:/etc/vsftpd/ftpusers (在此文件中的用户都不能登录FTP服务器)禁止或允许vs
2、ftpd的用户列表文件:/etc/vsftpd/user_list 匿名用户登录的主目录:/var/ftp (该文件夹不可以有写权限,否则匿名用户无法登录)匿名用户使用的目录:/var/ftp/pub (为了能够让匿名用户上传文件,该文件夹权限为777)vsftpd的日志文件:/etc/logrotate.d/vsftpd.log当遇到500访问错误时:使用getsebool a |grep ftp 可以查看与FTP服务有关的设置setsebool -P ftp_home_dir=1并查看文件权限问题(不能为满权限,属主不能为ftp)若匿名用户允许上传也开了写权限还是不能上传,则进行如下修改s
3、etsebool-P allow_ftpd_anon_write=1本地用户无法重命名自己上传的文件:setsebool-P allow_ftpd_full_access=1设置匿名用户只能上传不能下载chown_enable=YESchown_username=nobody【服务基本配置】1、匿名用户设置:anonymous_enable=YES是否允许匿名用户登录wirte_enable=YES是否允许本地用户&匿名用户写入的权限no_anon_password=YES若是启动这项功能,则使用匿名登入时,不会询问密码。anon_root=/var/ftp设置匿名用户登陆的目录anon_up
4、load_enable=YES是否允许匿名用户上传文件(需要将wirte_enable=yes)注意:vsfptd默认是不给匿名文件给予w权限的,所以想要以匿名用户上传文件,就需要在匿名用户FTP主目录(/var/ftp)下创建一个新的目录(默认为/var/ftp/pub)给予777权限就可以了。anon_mkdir_wirte_enable=YES是否允许匿名用户创建目录anon_other_wirte_enable=YES设置匿名用户具有删除或重命名文件或文件夹的权限chown_uploads=YES设置是否需要改变匿名用户上传文件或目录的的属主(owner)chown_usernamed
5、=xxx将匿名用户上传文件属主设置为xxx,与chown_upload配套使用anon_umask=022默认为077,为了能够让匿名用户访问自己上传的文件,需设置为0222、本地用户设置:local_enable=YES是否允许本地用户登录write_enable=YES是否允许登陆用户有写权限local_umask=022设置本地用户上传文件的权限值,正常设置为0223、控制用户是否允许切换到上级目录:chroot_local_user=YES将本地用户禁锢在自己的主目录,无法切换到上级目录chroot_list_enable=YESchroot_local_users=YES,则允许ch
6、root_list_file文件中的用户切换chroot_local_users=NO或者没有设置,则禁止文件中的用户切换chroot_list_file=/etc/vsftpd/chroot_list该文件中的内容为本地用户名4、欢迎登陆提示:dirmessage_enable=YES开启欢迎信息提示(在登陆目录下的.message文件中写入欢迎信息)message_file=.message设置消息目录文件【传输模式及性能设置】1)超时时间设置:accept_timeout=60设置建立ftp连接的超时时间,单位为秒idle_session_timeout=600用户超时连接中断时间为60
7、0秒data_connection_timeout=120数据连接超时连接为120秒2)数据传输模式设置ascii_upload_enable=YES用ascii方式传输数据ascii_download_enable=YES实现用ascii方式下载文档3)访问速率设置以及连接相关设置:ide_ids=YES|NO隐藏文件的所属主和组listen_port=4000修改默认端口anon_max_rate=0匿名最大传输速度,单位B/slocal_max_rate=0本地最大传输速度,单位B/smax_clients=0vsftpd允许最大连接数max_per_ip=0设置每个ip允许同时建立0个
8、连接数max_login_fails最多失败次数,超过后断开连接4)开启被动模式:pasv_enable=YES开启被动模式pasv_max_port=60000客户端连接端口最大为60000pasv_min_port=50000客户端连接端口最小为50000【访问控制设置】1)控制主机访问:tcp_wrappers=YES打开主机访问控制(在/etc/hosts.allow和/etc/hosts.deny添加)比如,要仅允许192.168.0.1-192.168.0.254的用户去连接ftp服务器的设置如下:vsftpd:192.168.0. 格式: 服务名:ip地址&网段:allow|de
9、ny all:all:allow|deny 2)设置是否允许用户登录userlist_enable=YES开启vsftpd的user_list控制功能userlist_file=/etc/vsftpd/user_list默认的用户列表文件,一行一个用户userlist_deny=YES不设置或设置为YES时,userlist文件中的用户不可以登录 设置为NO时,只能有userlist文件中的用户可以登录3)修改用户登录FTP后的主目录user_config_dir=/etc/vsftpd/userconf指定用户配置文件所在的目录在该目录下,创建以本地用户名为名称的文件,以jack用户为例:l
10、ocal_root=/ftp/jack指定jack用户的登录主目录为/ftp/jack【使用虚拟用户】创建虚拟用户,保证FTP安全示例:创建虚拟用户vuser1和vuser2,密码都为123,主目录分别是/myftp/vuser1和/myftp/vuser21)创建虚拟用户数据库文件l 创建虚拟用户账本(/etc/vsftpd/vusers)保存需要创建的虚拟用户名和密码vuser1奇数行是用户名123偶数行是密码vuser2123l 用db_load命令将虚拟账户文件/etc/vsftpd/vusers转换为数据库文件/etc/vsftpd/vusersLlogin.dbdb_load -T
11、 -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vusersLogin.db 2)配置PAM文件/etc/pam.d/vsftpd.pam在文件最上面添加以下两行(本地用户和虚拟用户都可以访问)auth sufficient pam_userdb.so db=/etc/vsftpd/vusersLogin文件目标不能有后缀account sufficient pam_userdb.so db =/etc/vsftpd/vusersLogin【注意:】如果将上两行配置添加到已有内容的后面,则只有本地用户可以访问(相当于没有设置)如果不希望本地用户访问,则只保
12、留添加的两行,其余注释掉3)在vsftpd.conf文件中进行相关配置添加:guest_enable=YESguest_username=ftp虚拟用户借用本地用户ftp的名去访问VSFTPD服务器,可改成其他用户pam_service_name=vsftpd.pam要调用的pam文件(/etc/pam.d/vsftpd.pam),默认为vsftpduser_config_dir=/etc/vsftpd/userconf对虚拟用户配置主目录(与本地用户配置相同)【增加SSL加密功能】0、检查vsftpd有无支持SSL模拟ldd $which vsftpd |grep ssl1、建立证书数据cd
13、 /etc/pki/tls/certsmake vsftpd.pemcp a vsftpd.pem /etc/vsftpd2、修改配置文件添加以下配置ssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YESssl_tlsv2=NOssl_tlsv3=NOrsa_cert_file=/etc/vsftpd/vsftpd.pem如果已经启用SSL,但客户端不满足要求,则显示如下错误:530 Non-anonymous sessions must use encryption-