**
一、 配置虚拟机ip地址,使其与外部主机互联。
二、 安装ftp服务,并验证匿名用户及本地用户和虚拟用户。
三、 配置ftp服务完成以下功能:
(1) 匿名用户具有上传功能
**
#!/bin/shsetenforce 0#防火墙允许20,21端口流量流入iptables -I INPUT -p tcp --dport 20 -j ACCEPTiptables -I INPUT -p tcp --dport 21 -j ACCEPT#安装ftp插件yum install -y vsftpd#修改配置文件/etc/vsftpd/vsftpd.confecho \"anon_world_readable_only=NO\" >>/etc/vsftpd/vsftpd.confecho \"anon_upload_enable=YES\" >>/etc/vsftpd/vsftpd.confecho \"anon_mkdir_write_enable=YES\" >>/etc/vsftpd/vsftpd.confecho \"anon_other_write_enable=YES\" >>/etc/vsftpd/vsftpd.conf#创建访问文件,给予用户root权限,启动服务mkdir /var/ftp/incomingchmod 777 /var/ftp/incomingservice vsftpd restart#允许匿名用户上传,修改文件setsebool -P allow_ftpd_anon_write 1setsebool -P allow_ftpd_full_access 1setsebool -P ftp_home_dir 1getsebool -a |grep ftp
(2)系统本地用户
#!/bin/shsetenforce 0#防火墙允许20,21端口流量流入iptables -I INPUT -p tcp --dport 20 -j ACCEPTiptables -I INPUT -p tcp --dport 21 -j ACCEPT#安装ftp插件yum install -y vsftpd#创建组groupgroupadd group#user该目录的属主#chown user:group /var/ftp/local#创建用户,主目录为/var/ftp/localread -t 30 -p \"请输入创建用户名称:\" namechmod -R 777 /var/ftp/local/useradd -d /var/ftp/local -G group $namepasswd $name#只允许/etc/vsftp/userlist 內的用户使用ftp服务echo \"userlist_enable=YES\" >>/etc/vsftpd/vsftpd.confecho \"userlist_deny=NO\" >>/etc/vsftpd/vsftpd.conf#max_client=100表示FTP服务器的所有客户端最大连接数不超过100个#max_per_ip=5表示同一IP地址的FTP客户机与FTP服务器建立的最大连接数不超过5个#local_max_rate=500000表示FTP服务器的本地用户最大传输速率设置为500KB/s#ano_max_rate=200000,表示FTP服务器的匿名用户最大传输速率设置为200KB/s.echo \"$name\" >>/etc/vsftpd/user_listservice vsftpd restart
(3) 虚拟用户使用功能
#!/bin/shsetenforce 0#防火墙允许20,21端口流量流入iptables -I INPUT -p tcp --dport 20 -j ACCEPTiptables -I INPUT -p tcp --dport 21 -j ACCEPT#安装db_load工具yum install -y db4#安装vsftpd工具yum install -y vsftpd#创建文件/etc/vsftpd/virtual.txttouch /etc/vsftpd/virtual.txt#向文件写入用户名和密码echo \"vser1\">>/etc/vsftpd/virtual.txtecho \"123\">>/etc/vsftpd/virtual.txtecho \"vser2\">>/etc/vsftpd/virtual.txtecho \"123\">>/etc/vsftpd/virtual.txtecho \"vser3\">>/etc/vsftpd/virtual.txtecho \"123\">>/etc/vsftpd/virtual.txt#生成虚拟用户口令库文件db_load -T -t hash -f /etc/vsftpd/virtual.txt /etc/vsftpd/virtual.dbchmod 600 /etc/vsftpd/virtual.*#创建虚拟用户的映射账号useradd -d /var/virtual -s /sbin/nologin virtualchmod 755 /var/virtual/#创建生成vsftpd认证文件PAMtouch /etc/pam.d/vsftpd.vuecho \"auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual\">>/etc/pam.d/vsftpd.vuecho \"account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual\">>/etc/pam.d/vsftpd.vu#修改配置文件#guest_enable=YES 表示启用虚拟用户映射功能echo \"guest_enable=YES\" >>/etc/vsftpd/vsftpd.conf#guest_username=virtual 表示指定所映射的系统用户名称;echo \"guest_username=virtual\" >>/etc/vsftpd/vsftpd.conf#pam_service_name=vsftpd.vu 表示指定PAM认证文件echo \"pam_service_name=vsftpd.vu\" >>/etc/vsftpd/vsftpd.confecho \"user_config_dir=/etc/vsftpd/vuser\" >>/etc/vsftpd/vsftpd.confservice vsftpd restart