ansible批量部署vsftpd和lftp客户端理论课程及上机讲解
需求分析
我们需要在服务器servera上安装vsftp,在客户端serverb,serverc,serverd上安装客户端lftp,这个过程中,我们需要在控制端workstation上建立hosts,然后受控端上自动部署ftp相关软件。部署完成后,保证lftp能连接到vsftpd服务端。这当中需要调试firewalld、selinux、vsftpd,甚至还要调试yum,这些知识点,需要你 把我之前发布的文章,都要看一下。后续我们会基于此文,用ansible批量部署,请大家及时关注。
一:安装
1、sever服务器端服务安装
安装命令
---
- name: vsftpd
hosts: servera
tasks:
- name: install vsftpd
yum:
name: httpd
state: latest
- name: start vsftpd
service:
name: vsftpd
state: started
enabled: yes
如果要卸载可以使用下面命令
---
- name: vsftpd
hosts: servera
tasks:
- name: stop vsftpd
service:
name: vsftpd
state: stop
- name: install vsftpd
yum:
name: vsftpd
state: absent
2、client客户端安装
yum install -y lftp
---
- name: lftp
hosts: servera
tasks:
- name: install lftp
yum:
name: lftp
state: latest
3、server和client多playbook合成
---
- name: vsftpd
hosts: server
tasks:
- name: install vsftpd
yum:
name: vsftpd
state: latest
- name: firewalld ftp
firewalld:
service: ftp
permanent: yes
state: enabled
immediate: yes
- name: mkdir pub
file:
path: /var/ftp/pub
state: directory
mode: '0777'
setype: public_content_rw_t
- name: shell
shell: 'setsebool -P ftpd_anon_write=on'
- name: edit vsftpd.conf
lineinfile:
path: /etc/vsftpd/vsftpd.conf
regexp: '^#anon_upload_enable=YES'
line: anon_upload_enable=YES
- name: edit vsftpd.conf
lineinfile:
path: /etc/vsftpd/vsftpd.conf
regexp: '^#anon_mkdir_write_enable=YES'
line: anon_mkdir_write_enable=YES
- name: start vsftpd
service:
name: vsftpd
state: started
enabled: yes
- name: lftp
hosts: client
tasks:
- name: install lftp
yum:
name: lftp
state: latest
二: playbook运行结果
三:客户端连接服务器FTP
lftp servera