vsftpd文件共享
FTP:是文件传输协议的缩写。用来实现文件的上传(upload)和下载(download)。
FTP是工作在C/S架构模式下。 C/S架构:是客户端Client/服务器server访问模式。C/S的特点是客户机必须使用专用的客户端程序去访问服务器。
B/S架构:是浏览器Browser、服务器Server访问模式。B/S的特点是客户机只需用IE、Firefox等浏览器来
访问服务 器。B/S架构通常是用来开发基于web网站的应用程序。
vsftpd:是非常安全的ftp守护进程(Very secure ftp Daemon)。
进程:正在进行(运行running)的程序。
守护进程Daemon:网络服务类的程序都会有守护进程。守护进程是指实时监测服务访问状态的程序。
通常都是在系统后台运行。
FTP的工作端口
21 控制端口,用于在客户机和服务器之间建立连接。
20 数据端口。用于服务器给客户机主动进行数据连接。
网络服务端口号的作用:用来标示服务器上的不同业务(服务)。
vsftpd的部署思路
0:关闭安全功能,并查状态:systemctl stop firewalld ; setenforce 0
systemctl status firewalld ; getenforce
1:查软件是否已安装,如果未安装就安装软件。
2:启动服务,并允许开机自动启动
3:设置共享目录,重新加载设置。
4:做本地(内测)访问测试,做异地(公测)访问测试。
环境准备: 关闭安全功能,并查状态:systemctl stop firewalld ; setenforce 0
systemctl status firewalld ; getenforce
vsftpd、ftp、lftp安装: 说明:vsftpd是服务器端程序
ftp、lftp是客户端程序
查是否已安装:rpm -q vsftpd ftp lftp
安装:yum install -y vsftpd ftp lftp
查软件的文件列表:rpm -ql vsftpd
查配置文件列表:rpm -qc vsftpd
vsftpd 服务管理:
重启动服务:systemctl restart vsftpd
允许开启自动启动:systemctl enable vsftpd
查服务状态:systemctl status vsftpd
vsftpd的默认共享目录: 匿名用户(ftp或anonymous)共享:/var/ftp目录 普通用户:访问的是普通用户自己的家目录,通常是"/home/用户名"文件夹 注意:root用户默认不能登录vsftpd服务器来访问共享,因为root账号在黑名单里。
vsftpd的配置文件:rpm -qc vsftpd
/etc/logrotate.d/vsftpd 日志轮滚策略文件
/etc/pam.d/vsftpd pam认证文件(重点)
/etc/vsftpd/ftpusers 黑名单文件(重点)
/etc/vsftpd/user_list 用户访问列表文件(重点),默认是黑名单,但是可以设置成白名单
在vsftpd配置文件中/etc/vsftpd/vsftpd.conf找到此行userlist_deny=NO,如果没有就在最后添加此行
/etc/vsftpd/vsftpd.conf 服务的主配置文件(重点)
小结:vsftpd的用户名单监测流程如下: 先监测user_list文件(是黑还是白)---->再监测ftpusers黑名单中是否有这个用户。
vsftpd.conf主配置文件
功能:对vsftpd软件的功能进行设置,可以设置限速、匿名和普通用户访问权限、chroot等功能。
专家建议:修改主配置文件之前,最好备份一下配置文件。备份文件的后缀通常为.bak或.org。 cd /etc/vsftpd ; ls cp -av vsftpd.conf{,.bak}
说明:-a 是复制时包括源文件的所有(all)的权限和属性、selinux属性都复制给目标文件。而-p选项时复制时不包含selinux属性的。
练习:查看并熟悉vsftpd.conf主配置文件中的默认设置。查看时不包含#开头(^#)的、空白行(^You can't use 'macro parameter character #' in math mode' /etc/vsftpd/vsftpd.conf 内容如下(共13行)
12:anonymous_enable=YES 允许匿名访问共享 16:local_enable=YES 允许本地普通用户(是指用useradd创建的用户)访问共享 19:write_enable=YES 允许写操作,即可写权限 23:local_umask=022 本地用户的umask值 37:dirmessage_enable=YES 允许显示目录信息 40:xferlog_enable=YES 允许xferlog日志,xferlog文件路径是/var/log/xferlog文件,仅记录文件的 上传和下载日志 43:connect_from_port_20=YES 启用20号端口的连接(data数据端口) 57:xferlog_std_format=YES 启用xferlog标准(std是standard)格式的日志 115:listen=NO 不启用ipv4监听 124:listen_ipv6=YES 启用IPV6监听,会向下兼容ipv4 126:pam_service_name=vsftpd vsftpd的pam用户认证服务文件,是/etc/pam.d/vsftpd文件 127:userlist_enable=YES 启用user_list用户列表文件 128:tcp_wrappers=YES 启用tcp_wrappers防火墙功能,用来做基于IP的TCP访问控制
vsftpd.conf默认设置的功能:
1.允许匿名用访问共享,访问的是/var/ftp目录,且只能下载文件,不能上传文件。
2.允许普通用访问共享,访问的是用户自己的家目录,既能下载文件,也能上传文件。
3.普通用户用ftp命令登录到vsftpd服务器之后,能c