FTP服务器——使用vsftpd搭建

在centos中,自带vfstpd软件包。先介绍这一种安装方式

1 . 安装软件包

yum install -y vsftpd 

2 . 创建用户,因为该软件可以使用系统级别的用户,所以要设置为不能登录。建立与虚拟账号相关联的系统账号

useradd -s /sbin/nologin virftp

3 . 创建与虚拟账户相关的文件 vi /etc/vsftpd/vsftpd_login 在里面写入用户名zchuny(奇数行)、密码123456(偶数行)

4 . 修该权限,提示安全性

chmod 600 /etc/vsftpd/vsftpd_login

5 . vsftpd使用的密码文件不是明文的,需要生成对应的库文件

[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

6 . 创建相关的目录


mkdir /etc/vsftpd/vsftpd_user_conf

7 . cd 到新创建的目录中去

cd /etc/vsftpd/vsftpd_user_conf

8 . 创建和用户对应的配置文件 vim zchuny

#定义虚拟用户家目录
local_root=/home/virftp/zchuny 
#是否允许匿名账号登录  
anonymous_enable=NO  
#允许可写
write_enable=YES 
local_umask=022  
# 不允许匿名账号上传文件 
anon_upload_enable=NO  
#不允许匿名账号创建目录并可写
anon_mkdir_write_enable=NO
#超时时间,非上传或者下载状态自动断开的时间600秒
idle_session_timeout=600
#数据传输的超时时间为300秒
data_connection_timeout=300
#最大客户端连接数为10
max_clients=10

9 . 创建虚拟用户的家目录

chown -R virftp:virftp /home/virftp
mkdir /home/virftp/zchuny

10 创建一个文件,在登录的时候就可以看到

touch /home/virftp/zchuny/zcy.txt   

11 .定义密码文件的位置,在/etc/pam.d/vsftpd(认证文件)最上面加入这2行

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

12 . 编辑vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,改动几个地方,修改为如下这样

anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO

在文件末尾增加以下内容

chroot_local_user=YES
guest_enable=YES
#guest_username这行表示虚拟用户映射到virftp这个系统用户
guest_username=virftp
#virtual这行的作用是告诉系统现在使用的是虚拟用户
virtual_use_local_privs=YES
#user这行用来定义虚拟用户的配置文件所在路径
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

13 . 启动服务

启动 systemctl start vsftpd

查看进程  ps aux |grep vsftpd
root      17890  0.0  0.0  53212   580 ?        Ss   01:22   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      17892  0.0  0.0 112676   980 pts/0    S+   01:22   0:00 grep --color=auto vsftpd

查看端口
netstat -lntp |grep vsftpd

tcp6       0      0 :::21                   :::*                    LISTEN      17890/vsftpd        

14 . 测试,安装lftp软件包来进行测试

yum  install -y lftp

执行测试

root@localhost vsftpd_user_conf]# lftp [email protected] 
口令: 
lftp zchuny@127.0.0.1:~> ls         
-rw-r--r--    1 0        0               0 Apr 26 17:04 zcy.txt
lftp zchuny@127.0.0.1:/> 

这里可能出现比如bad bool value in config file for: write_enable这样的错误提示,大多是因为 vi zchuny(用户配置文件)或者时/etc/vsftpd/vsftpd.conf中修改或是增加内容,不小心多按了个空格,那么就会出现这样的错误。

猜你喜欢

转载自blog.csdn.net/chunyang315/article/details/80102273