Linux九阴真经之大伏魔拳残卷1(FTP,NFS)

vsftpd 服务

 

​ 文件传输协议:File Transfer Protocol是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。

服务器端:vsftpd

客户端:lftp

安装:yum -y install vsftpd lftp

用户认证配置文件:/etc/pam.d/vsftpd

服务脚本: /usr/lib/systemd/system/vsftpd.service

配置文件:/etc/vsftpd/vsftpd.conf

匿名用户共享文件位置:/var/ftp

系统用户共享文件位置:用户家目录

虚拟用户共享文件位置:为其映射的系统用户的家目录

一、vsftpd服务配置选项

  • listen_port=21:命令端口监听
  • connect_from_port_20=YES:主动模式端口为20
  • ftp_data_port=20:指定主动模式的端口
  • pasv_min_port=6000 | pasv_max_port=6010:被动模式端口范围,0为随机分配
  • use_localtime=YES:使用当地时间
  • max_clients=0:最大并发连接数
  • max_per_ip=0:每个IP同时发起的最大连接数
  • nopriv_user=nobody:vsftpd服务指定用户身份运行
  • anon_max_rate=0:匿名用户的最大传输速率
  • local_max_rate=0:本地用户的最大传输速率
  • connect_timeout=60:主动模式数据连接超时时长
  • accept_timeout=60:被动模式数据连接超时时长
  • data_connection_timeout=300:数据连接无数据输超时时长
  • idle_session_timeout=60:无命令操作超时时长
  • ascii_upload_enable=YES:优先以文本方式上传
  • ascii_download_enable=YES: 优先以文本方式下载

匿名用户相关:

  • anonymous_enable=YES:支持匿名用户
  • no_anon_password=YES:(默认NO) 匿名用户略过口令检查
  • anon_world_readable_only:(默认YES)只能下载全部读的文件
  • anon_upload_enable=YES:允许匿名上传,注意:文件系统权限
  • anon_mkdir_write_enable=YES:允许匿名用户创建文件夹
  • anon_umask=077:指定匿名用户上传文件的umask
  • anon_other_write_enable=YES:匿名用户可删除和修改上传的文件
  • chown_uploads=YES:(默认NO) 修改上传文件的默认的所有者和权限
  • chown_username=user1:将匿名上传的文件的属主修改为user1
  • chown_upload_mode=0644:将匿名上传的文件的权限修改为644

系统用户相关:

  • guest_enable=YES:所有系统用户都映射成guest用户
  • guest_username=ftp:配合上面选项才生效,指定guest用户
  • local_enable=YES:是否允许linux用户登录
  • write_enable-YES:允许linux用户上传文件
  • local_umask=022:指定系统用户上传文件的默认权限
  • local_root=/ftproot:非匿名用户登录所在目录
  • chroot_local_user=YES:(默认NO,不禁锢)禁锢系统用户在家目录中
  • chroot_list_enable=YES
  • chroot_list_file=/etc/vsftpd/chroot_list

当chroot_local_user=YES时,则chroot_list中用户不禁锢
当chroot_local_user=NO时,则chroot_list中用户禁锢

日志相关:

xferlog_enable=YES:(默认)启用记录上传下载日志

xferlog_std_format=YES:(默认)使用wu-ftp日志格式

xferlog_file=/var/log/xferlog:(默认)可自动生成

dual_log_enable=YES:使用vsftpd日志格式,默认不启用

vsftpd_log_file=/var/log/vsftpd.log:(默认)可自动生成

登录提示信息相关:

ftpd_banner=Welcome to blah FTP service.

banner_file=/etc/vsftpd/ftpbanner.txt:显示指定文件中的提示信息,优先此项生效

dirmessage_enable=YES:(默认) 目录访问提示信息

message_file=.message:(默认)信息存放在指定目录下.message

访问控制相关:

pam_service_name=vsftpd:指定pam模块配置文件

使用pam模块完成用户认证

pam配置文件:/etc/pam.d/vsftpd

/etc/vsftpd/ftpusers:默认此文件中用户拒绝登录

userlist_enable=YES:默认有此设置

userlist_deny=YES:(默认值)黑名单,不提示口令,NO为白名单

userlist_file=/etc/vsftpd/users_list:用户认证黑名单,此为默认值

 

实验:基于SSL 实现 FTPS

 

[root@centos7 ~]#ldd `which vsftpd`| grep libssl.so     #查看 是否支持SSL

    libssl.so.10 => /lib64/libssl.so.10 (0x00007feea94e2000)

1、创建自签名证书

[root@centos7 ~]#cd /etc/pki/tls/certs/
[root@centos7 certs]#make vsftpd.pem
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:magedu
Organizational Unit Name (eg, section) []:30
Common Name (eg, your name or your server's hostname) []:vsftpd.ftp.com

2、配置vsftpd服务  并  支持SSL

[root@centos7 certs]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES   
ssl_enable=YES        # 启用ssl
allow_anon_ssl=NO     # 匿名不支持SSL                                                                     
force_local_logins_ssl=YES  # 本地用户登录加密
force_local_data_ssl=YES    # 本地数据传输加密
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem   # 证书文件

3、用filezilla等客户端工具测试

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

​ 文件传输协议:File Transfer Protocol是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。

服务器端:vsftpd

客户端:lftp

安装:yum -y install vsftpd lftp

用户认证配置文件:/etc/pam.d/vsftpd

服务脚本: /usr/lib/systemd/system/vsftpd.service

配置文件:/etc/vsftpd/vsftpd.conf

匿名用户共享文件位置:/var/ftp

系统用户共享文件位置:用户家目录

虚拟用户共享文件位置:为其映射的系统用户的家目录

一、vsftpd服务配置选项

  • listen_port=21:命令端口监听
  • connect_from_port_20=YES:主动模式端口为20
  • ftp_data_port=20:指定主动模式的端口
  • pasv_min_port=6000 | pasv_max_port=6010:被动模式端口范围,0为随机分配
  • use_localtime=YES:使用当地时间
  • max_clients=0:最大并发连接数
  • max_per_ip=0:每个IP同时发起的最大连接数
  • nopriv_user=nobody:vsftpd服务指定用户身份运行
  • anon_max_rate=0:匿名用户的最大传输速率
  • local_max_rate=0:本地用户的最大传输速率
  • connect_timeout=60:主动模式数据连接超时时长
  • accept_timeout=60:被动模式数据连接超时时长
  • data_connection_timeout=300:数据连接无数据输超时时长
  • idle_session_timeout=60:无命令操作超时时长
  • ascii_upload_enable=YES:优先以文本方式上传
  • ascii_download_enable=YES: 优先以文本方式下载

匿名用户相关:

  • anonymous_enable=YES:支持匿名用户
  • no_anon_password=YES:(默认NO) 匿名用户略过口令检查
  • anon_world_readable_only:(默认YES)只能下载全部读的文件
  • anon_upload_enable=YES:允许匿名上传,注意:文件系统权限
  • anon_mkdir_write_enable=YES:允许匿名用户创建文件夹
  • anon_umask=077:指定匿名用户上传文件的umask
  • anon_other_write_enable=YES:匿名用户可删除和修改上传的文件
  • chown_uploads=YES:(默认NO) 修改上传文件的默认的所有者和权限
  • chown_username=user1:将匿名上传的文件的属主修改为user1
  • chown_upload_mode=0644:将匿名上传的文件的权限修改为644

系统用户相关:

  • guest_enable=YES:所有系统用户都映射成guest用户
  • guest_username=ftp:配合上面选项才生效,指定guest用户
  • local_enable=YES:是否允许linux用户登录
  • write_enable-YES:允许linux用户上传文件
  • local_umask=022:指定系统用户上传文件的默认权限
  • local_root=/ftproot:非匿名用户登录所在目录
  • chroot_local_user=YES:(默认NO,不禁锢)禁锢系统用户在家目录中
  • chroot_list_enable=YES
  • chroot_list_file=/etc/vsftpd/chroot_list

当chroot_local_user=YES时,则chroot_list中用户不禁锢
当chroot_local_user=NO时,则chroot_list中用户禁锢

日志相关:

xferlog_enable=YES:(默认)启用记录上传下载日志

xferlog_std_format=YES:(默认)使用wu-ftp日志格式

xferlog_file=/var/log/xferlog:(默认)可自动生成

dual_log_enable=YES:使用vsftpd日志格式,默认不启用

vsftpd_log_file=/var/log/vsftpd.log:(默认)可自动生成

登录提示信息相关:

ftpd_banner=Welcome to blah FTP service.

banner_file=/etc/vsftpd/ftpbanner.txt:显示指定文件中的提示信息,优先此项生效

dirmessage_enable=YES:(默认) 目录访问提示信息

message_file=.message:(默认)信息存放在指定目录下.message

访问控制相关:

pam_service_name=vsftpd:指定pam模块配置文件

使用pam模块完成用户认证

pam配置文件:/etc/pam.d/vsftpd

/etc/vsftpd/ftpusers:默认此文件中用户拒绝登录

userlist_enable=YES:默认有此设置

userlist_deny=YES:(默认值)黑名单,不提示口令,NO为白名单

userlist_file=/etc/vsftpd/users_list:用户认证黑名单,此为默认值

 

实验:基于SSL 实现 FTPS

 

[root@centos7 ~]#ldd `which vsftpd`| grep libssl.so     #查看 是否支持SSL

    libssl.so.10 => /lib64/libssl.so.10 (0x00007feea94e2000)

1、创建自签名证书

[root@centos7 ~]#cd /etc/pki/tls/certs/
[root@centos7 certs]#make vsftpd.pem
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:magedu
Organizational Unit Name (eg, section) []:30
Common Name (eg, your name or your server's hostname) []:vsftpd.ftp.com

2、配置vsftpd服务  并  支持SSL

[root@centos7 certs]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES   
ssl_enable=YES        # 启用ssl
allow_anon_ssl=NO     # 匿名不支持SSL                                                                     
force_local_logins_ssl=YES  # 本地用户登录加密
force_local_data_ssl=YES    # 本地数据传输加密
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem   # 证书文件

3、用filezilla等客户端工具测试

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/huxiaojun/p/9236416.html