FTP文件服务器搭建与应用
1.ftp服务端部署搭建应用1.1vsftd部署1)基础环境# uname -r2.6.32-573.el6.x86_64# cat /etc/centos-releaseCentOS release 6.7 (Final)2)关闭防火墙以及selinux# /etc/init.d/iptables stop# setenforce 0setenforce: SELinux is disabled3)yum安装vsftpd以及相关依赖# yum install -y vsftpd #vsftpd安装程序# yum install -y pam* db4* #vsftpd虚拟登陆账户必要依赖包
1.2vsftpd配置文件详解 ftp的配置文件主要有三个在centos中位于/etc/vsftpd/目录下分别是# tree├── ftpusers 该文件用来指定哪些用户不能访问ftp服务器├── user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp├── vsftpd.conf 主配置文件具体配置详解:1)用户登录控制anonymous_enable=YES允许匿名用户登录no_anon_password=YES匿名用户登录时不需要输入密码local_enable=YES允许本地用户登录eny_email_enable=YES可以创建一个文件保存某些匿名电子邮件的黑名单以防止这些人 banned_email_file=/etc/vsftpd/banned_emails保存电子邮件黑名单的目录(默认) 2)用户权限控制write_enable=YES开启全局上传local_umask=本地文件上传的umask设置为系统默认anon_upload_enable=YES允许匿名用户上传当然要在write_enable=YES的情况下同时必须建立一个允许ftp用户读写的目录anon_mkdir_write_enable=YES允许匿名用花创建目录anon_mkdir_other_write_enable=YES是否允许匿名用户删除文件chown_uploads=YES匿名用户上传的文件属主转换为别的用户一般建议为rootchown_username=whoever改此处的whoever为要转换的属主建议rootchroot_list_enable=YES用一个列表来限定哪些用户只能在自己目录下活动 chroot_list_enable=/etc/vsftpd/chroot_list指定用户列表文件 nopriv_user=ftpsecure指定一个安全账户让ftp完全隔离和没有特权的账户3)用户连接和超时设置idle_session_timeout=默认的超时时间data_connection_timeout=设置默认数据连接的超时时间服务器日志和欢迎信息dirmessage_enable=YES允许为配置目录显示信息ftpd_banner=WelcometoblahFTPserviceftp的欢迎信息xferlog_enable=YES打开日志记录功能xferlog_file=/var/log/xferlog日志记录文件的位置4)chown_uploads=YES# 定义用户上传文件之后是否更改属主chown_username=whoever # 定义用户上传文件之后属主更改为谁连接chroot_local_user=YES #是否禁锢系统用户,一旦启用,那么chroot_list中的用户不被禁锢chroot_list_enable=YES # 是否禁锢chroot_list中的用户chroot_list_file=/etc/vsftpd/chroot_list# chroot_list文件保存位置listen=YES# 是否作为一个独立守护进程运行pam_service_name=vsftpd# vsftpd使用的pam服务名称user_list_enable=YES# 是否启用user_list文件配合userlist_deny=YES|NO控制用户登录userlist_deny=YES# 值为YES时,user_list为黑名单;值为NO时,user_list为白名单max_clients=N# 最多允许N个客户端同时连接ftpmax_per_ip=N # 最多允许N个来自同一ip的客户端连接请求
1.3虚拟用户登录配置部署1.3.1yum安装vsftpd程序以及相关依赖,见1.1(3)# yum install -y vsftpd #vsftpd安装程序# yum install -y pam* db4* #vsftpd虚拟登陆账户必要依赖包
1.3.2修改/etc/vsftpd/vsftpd.conf1)修改配置文件前备份#cd /etc/vsftpd# cpvsftpd.confvsftpd.conf.org2)建立相关文件及文件夹# touch /etc/vsftpd/chroot_list# mkdir /etc/vsftpd/ftplogin正式配置文件anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listlisten=YESuserlist_enable=YEStcp_wrappers=YESguest_enable=YESguest_username=wwwuser_config_dir=/etc/vsftpd/ftploginpam_service_name=vvsftpd
1.3.3创建FTP虚拟登录账号1.创建密码明文文件# touch /etc/vsftpd/vuser# vim /etc/vsftpd/vuserboyboy123girlgirl123testtest123格式:用户名1用户名1密码用户名2用户名2密码2.生成pam校验数据库文件# db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db为了安全期间,建议在生成校验数据库之后,删除vuser文件或者修改vuser权限,不让别的用户读(root大神如果被攻陷,那就没什么好说的了)chmod 600 /etc/vsftpd/vuser3.添加新的pam service# touch /etc/pam.d/vvsftpd# vim /etc/pam.d/vvsftpd内容如下(注意如果是32位系统,那就用32位的校验,本例是64位的):#%PAM-1.0#auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login#account required /lib/security/pam_userdb.so db=/etc/vsftpd/loginauth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginaccount sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
4.给FTP虚拟用户赋予权限(增加权限配置文件)配置文件存放路径,就是conf中的user_config_dir,本文就是/etc/vsftpd/ftplogin,文件名必须和用户名相同文件配置详解,默认路径需要提前用mkdir建立好,目录拥有者设置为conf中的guest_username,本文为www#有上传/下载/修改权限anon_world_readable_only=NOwrite_enable=YESanon_mkdir_write_enable=YESanon_upload_enable=YESanon_other_write_enable=YESlocal_root=/u01/ftpb/upload/#只有上传/修改权限anon_world_readable_only=NOwrite_enable=YESanon_mkdir_write_enable=YESanon_upload_enable=YESlocal_root=/u01/ftpb/upload/#只有下载权限anon_world_readable_only=NOlocal_root=/u01/ftpb/upload/
useradd –d /data/uploadwww –s/sbin/nologin -Mmkdir /data/upload–pchown –R www.www/data/uploadcd/etc/vsftpd/ftploginvim boy /girl/testanon_world_readable_only=NOwrite_enable=YESanon_mkdir_write_enable=YESanon_upload_enable=YESanon_other_write_enable=YESlocal_root=/data/upload1.3.4启动ftp服务# /etc/init.d/vsftpd startStarting vsftpd for vsftpd: 1.4客户端利用虚拟用户登录ftp://ip地址
页:
[1]