linux(centos)下安装和配置 vsftp 服务器

安装  

直接 yum -install vsftpd

========================================================local 方式 登录===============================
添加一个本地用户(系统用户)
addusers test
passwd test
type password:123
retype password:123

完成!    

配置

1,删除匿名用户

修改配置文件/etc/vsftpd/vsftpd.conf

    
 anonymous_enable=NO    //关闭匿名访问

2,开启local登录(指用户通过系统用户来登录到ftp 注:此用户也同时可以ssh登录)

  local_anable=YES


3,为了安全起见  限制用户不能跳出指定的目录 同时目录更不能有执行权限

  chroot_list_enable = YES  

  chroot_list_fiel=/etc/vsftpd/chroot_list

  在相应的目录下生成 chroot_list文件,并在文件写上用户名 (一行一条记录 )


4,限制此用户ssh的方式登录到系统

  修改配置文件  /etc/ssh/sshd_config  在大概最后的地方填写你想能ssh登录到系统的用户 多用户以空格格开  AllowUsers root


===========================================================================================================




=============================================虚拟方式登录============================================================
1,在local登录方式的配置基础上加上
   vi /etc/vsftpd/vsftpd.conf  在最后加上
   guest_enable=YES
   guest_username=ftpuser
   virtual_use_local_privs=YES
   user_config_dir=/etc/vsftpd/vconf

 

  如果没有的目录或文件  自己建立
  注:(以上的ftpuser这个是虚拟登录的宿主用户,也就是说虚拟用的用户都是通过这个用户来登录到ftp的,这个是自己创建的,如果没有则:useradd ftpuser -s /sbin/nologin ,此外还得创建一个ftpuser的宿主ftpadmin ===>  useradd ftpadmin -s /sbin/nologin )


2,在/etc/vsftpd/vconf/下创建用户列表  vir_user
   touch /etc/vsftpd/vconf/vir_user
   写入用户列表,一行一条记录,单数为用户名 双数行是密码
   vi /etc/vsftpd/vconf/vir_user
      test1
      123456
 
3,把用户信息列表vir_user 变成db格式(用到db4-utils)
   
  检测是否安装db4-utils   rpm -qa | grep db4

  如果看到db4-utils 就安装了,否则就进行安装  yum install db4-utils

  工具准备好后  ,开始生成把vir_user 生成db文件

  db_load -T -t hash -f /etc/vsftpd/vconf/vir_user  /etc/vsftpd/vconf/vir_user.db
 
4,让pam.d/vsftpd载入你的用户列表数据库文件vir_user.db

  vi /etc/pam.d/vsftpd
  在最前加入两行
 
  auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vconf/vir_user
  account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vconf/vir_user
 
  注:上面的是vir_user  而非vir_user.db   别太相信你的直角

5,添加用户个性配置文件
  在/etc/vsftpd/vconf/ 下生成一个和你在vir_user 写的虚拟用户名相同的文件名文件
  在里面写入一些用户的配置文件 信息,如一些是否可写  可读等权限的问题,如下:

    local_root=/home/test1
    anonymous_enable=NO
    write_enable=YES
    local_umask=022
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    idle_session_timeout=600
    data_connection_timeout=120
    max_clients=10
    max_per_ip=5
    local_max_rate=1048576

6,在home下生成一个虚拟用户的根目录,用户默认直接登录到这个目录里
   
   如我vir_user里有一个test1的用户,我在/home下生成一个目录
   mkdir test1

   6-1,改变文件的所有者,因为所有虚拟用户都是通过 ftpuser 这个本地用户登录到ftp的,所以可以把这个所有者设置为ftpuser
 
   chown ftpuser test1

   6-2,改变权限,测试我就给他777吧
   chmod 777 test1
      

7,完成!



8,测试

  打开cmd (windows下)  其它的话随便   或者你下载个ftp工具来登录也是。但现在是测试  直接用系统的就算了

  C:\Users\Administrator>ftp 121.40.xx.xx
  连接到 121.40.xx.xx。
  220 (vsFTPd 2.0.5)
  用户(121.40.xx.xx:(none)): test1
  331 Please specify the password.
  密码:123456
  230 Login successful.


9,如果你在配置过程中出现什么问题,可以打开/var/log/security

  查看一下是什么原因引起登录失败

  一般如果说没有找到用户,那就是你pam.d/vsftpd/这个文件导入 vir_usr.db的时候失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值