FTP服务器配置

  1. FTP服务器概念
    文件传输协议(File Transfer Protocol)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。专门用来传输文件的协议。
  2. FTP服务器工作原理
    FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数
  3. centos7 上传大于4g centos7怎么上传文件_服务器

  4. 3.主要配置过程
    1.关闭防火墙和Selinux
    systemctl stop firewalld
    setenforce 0
    2.安装VsFTP服务器及客户端
    #在linux下客户端为ftp,vsftpd服务器端
    yum install vsftpd ftp -y
    3.匿名访问模式配置
    3.匿名访问模式配置(不建议使用)
    #开放匿名用户的上传、下载文件的权限,以及让匿名用户创建、删除、更名文件的权限
    #不建议在生产环境使用
    vi /etc/vsftpd/vsftpd.conf #vsftpd主配置文件!!!
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES(文本中添加)
  5. centos7 上传大于4g centos7怎么上传文件_服务器_02

  6. systemctl restart vsftpd
    systemctl enable vsftpd
    修改共享文件的属主:
    chown -Rf ftp /var/ftp/pub
  7. centos7 上传大于4g centos7怎么上传文件_服务器_03

  8. 测试:
  9. centos7 上传大于4g centos7怎么上传文件_服务器_04

  10. 4.本地用户模式
    vi /etc/vsftpd/vsftpd.conf #vsftpd主配置文件!!!
    anonymous_enable=NO
    systemctl restart vsftpd
    测试:
  11. centos7 上传大于4g centos7怎么上传文件_虚拟用户_05

  12. 5.虚拟用户模式
    1.创建用户名存储文件
    vi /etc/vsftpd/vuser.list
    user1 #用户名
    123456 #密码
    user2
    123456

2.db_load命令用哈希(hash)算法将原始的明文信息文件转换成数据库文件
安全,风险高。

cd  /etc/vsftpd
db_load -T -t hash -f vuser.list vuser.db  (保护用户信息) 
file vuser.db
chmod 600 vuser.db
rm -rf vuser.list

3 创建vsftpd服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户。FTP服务用于存储文件的根目
录指的是,当虚拟用户登录后所访问的默认位置。
useradd -d /var/ftproot -s /sbin/nologin virtual
ls -ld /var/ftproot/
chmod -Rf 755 /var/ftproot/ (用户是否能创建目录和文件与他有关 )
如果创建不了文件,可以把权限给大一点
4 .建立用于支持虚拟用户的PAM文件
#PAM是一组安全机制的模块,系统管理员可以用来轻易地调整服务程序的认证方式

vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
编辑配置文件
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=No  #许匿名用户登陆。
guest_enable=YES       #启用虚拟用户。默认值为NO。
guest_username=virtual    #这里用来映射虚拟用户。默认值为ftp。
allow_writeable_chroot=YES    ##允许/etc/vsftpd/vuser.db文件中的用户写入
pam_service_name =vsftpd.vu    #虚拟用户使用PAM认证方式。

centos7 上传大于4g centos7怎么上传文件_centos7 上传大于4g_06


以及/etc/ftproot属主及属组

5 为虚拟用户创建不同的权限

mkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir
touch user1
vi user1
anon_upload_enable=YES  #允许上传文件
anon_mkdir_write_enable=YES  #允许匿名登入者有新增目录的权限
anon_other_write_enable=YES  #允许匿名登入者更多于上传或者建立目录之外的权限
vi /etc/vsftpd/vsftpd.conf  (编辑配置文件)
user_config_dir=/etc/vsftpd/vusers_dir  (将虚拟用户权限路径指向自己创建的绝对路径)

6 用user1和user2分别进行测试,注意结果

systemctl restart vsftpd

登录user1试着创建几个目录然后删除它

centos7 上传大于4g centos7怎么上传文件_配置文件_07