CentOS7 搭建FTP服务器

一、安装vsftpd

1、安装vsftpd

yum install vsftpd -y

2、启动vsftpd:

systemctl start vsftpd

3、设置开机启动:

systemctl enable vsftpd

二、设置配置文件:vim /etc/vsftpd/vsftpd.conf 根据自己的需要更改

  listen=NO                 // 如此条改为了,等于YES也行
  #禁止匿名访问
  anonymous_enable=NO
  anon_upload_enable=NO
  anon_mkdir_write_enable=NO
  anon_other_write_enable=NO

  chroot_list_enable=NO	          // 不允许用户离开自己的主目录
  chroot_list_file=/etc/vsftpd.chroot_list   		 // 虚拟用户列表,每行一个用户名
  local_enable=YES	          	  	// 允许本地用户访问
  write_enable=YES	             // 允许本地用户写入
  local_umask=022	            	// 上传后的文件的默认掩码
  chroot_local_user=YES	          	// 禁止本地用户离开自己的主目录
  pam_service_name=vsftpd.vu	      	// 权限验证需要的加密文件
  guest_enable=YES	            	// 开启虚拟用户功能
  guest_username=ftp	           // 虚拟用户的宿主目录
  virtual_use_local_privs=YES	        	// 用户登录后操作目录和本地用户权限一样
  user_config_dir=/etc/vsftpd/vconf	    // 虚拟用户主目录设置文件
  allow_writeable_chroot=YES	      	// 允许写入用户主目录,这条特别重要

三、添加用户

1、创建新用户目录:

mkdir -p /opt/zlin

2、 添加用户名,vim /etc/vsftpd.chroot_list,添加内容: zlin
   
3、修改目录权限Chmod –R 777/opt/zlin

4、添加用户及密码,vim /etc/vsftpd/vusers.list
    zlin      //用户名
    123456    //密码
    
    
5、创建文件名文件,并指定用户目录

  touch /etc/vsftpd/vconf/zlin

  vim /etc/vsftpd/vconf/zlin

  local_root=/opt/zlin
  

local_root针对的是系统用户访问的根目录,如果设置匿名用户的访问根目录可以设置:

anon_root=/opt/anno

6、重启服务即可:

systemctl  restart vsftpd

备注

1)进入 /etc/passwd 更改用户的根目录路径

2)进入 /etc/vsftpd/vsftpd.conf 更改umask 可以更改用户创建文件夹的权限
这可能涉及通过代码使用FTP工具类代码上传远程FTP的时候需要创建文件时,文件夹的权限为755而无法正常写入文件导致上传异常,可以通过更改umask解决。

3)777 - umask 代表文件夹的权限。

4)例如 umask 为 002 则 文件夹权限为 775

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值