配置FTP服务

目录

1.使用vsftpd搭建FTP服务

  1.1 安装vsftpd

  1.2 建立虚拟账号

  1.3 创建和用户对应的配置文件

  1.4 修改全局配置文件/etc/vsftpd/vsftpd.conf

2.安装配置pure-ftpd

  2.1 安装

  2.2 pure

  2.3 建立账号

  2.4 测试 pure-ftpd

配置FTP服务

1.使用vsftpd搭建FTP服务

1.1 安装vsftpd

# yum install -y vsftpd db4-utils

db4-utils用来生成密码库文件

1.2 建立虚拟账号

//建立与虚拟账号相关联的系统账号
# useradd virftp -s /sbin/nologin

# vim /etc/vsftpd/vsftpd_login
test1
123456
test2
123123

奇数行为用户名,偶数行为上一行的用户密码

# chmod 600 /etc/vsftpd/vsftpd_login
# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

# mkdir /etc/vsftpd/vsftpd_user_conf
# cd /etc/vsftpd/vsftpd_user_conf

1.3 创建和用户对应的配置文件

用户的配置文件是单独存在的,每个用户都有自己的配置文件,文件名和用户名一直。

# vim test1
local_root=/home/virftp/test1 //家目录
anonymous_enable=NO //不允许匿名登录
write_enable=YES //可写
local_umask=022 //指定umask值
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=50000

创建test2账号方法一样,如下所示:

# mkdir /home/virftp/test1
# touch /home/virftp/test1/aminglinux.txt
# chown -R virftp:virftp /home/virftp
# vim /etc/pam.d/vsftpd //在最开头添加两行
auth sufficent /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

CentOS 7 64位,库文件路径/lib64/security/pam_userdb.so

32位系统的库文件路径/lib/security/pam_userdb.so

1.4 修改全局配置文件/etc/vsftpd/vsftpd.conf

# vim /etc/vsftpd/vsftpd.conf
//修改其中三行改为NO
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO

//增加
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

# systemctl start vsftpd
# ps aux |grep vsftp
# yum install lftp
# lftp test@127.0.0.1
口令:
lftp test1@127.0.0.1:~> ls
... 1009 1009 ... aminglinux.txt

1009为用户的uid和gid,有问题检查/var/log/secure日志

2.安装配置pure-ftpd

pure-ftpd为另一款小巧实用的FTP软件。

2.1 安装

# yum install -y epel-release       //默认centos yum源并不包含pure-ftpd,需要安装epel扩展源
# yum install -y pure-ftpd

2.2 pure

# vim /etc/pure-ftpd/pure-ftpd.conf         //改
PureDB /etc/pure-ftpd/pureftpd.pdb //去掉前面的#号
# systemctl stop vsftpd
# systemctl start pure-ftpd //
# ps aux |grep pure-ftp

若没有正常启动看/var/log/messages

2.3 建立账号

pure-ftpd使用的账号并非Linux的系统账号,而是虚拟账号。

# mkdir /data/ftp/
# useradd -u 1010 pure-ftp //-u 指定用户的id
# chown -R pure-ftp:pure-ftp /data/ftp
# pure-pw useradd ftp_user1 -u pure-ftp -d /data/ftp/
Password:
Enter it again:

-u:将虚拟用户ftp_user1与系统用户pure-ftp关联在一起,即使用ftp_user1账号登录FTP后,会以pure-ftp的身份来读取和下载文件。

-d:选项后面的目录为ftp_user1用户的家目录,是ftp_user1只能访问其家目录/data/ftp/。

 

创建用户信息数据库文件

# pure-pw mkdb

 

继续创建账号

# pure-pw useradd ftp_user2 -u pure-ftp -d /tmp
# pure-pw mkdb

列出当前账号

# pure-pw list
ftp_user1 /data/ftp/ ./
ftp_user2 /tmp/ ./

2.4 测试 pure-ftpd

# lftp ftp_user1@127.0.0.1
口令:
lftp ftp_user1@127.0.0.1:~> ls
drwxr-xr-x 2 1010 pure-ftp 6 Apr 2 22:33 .
drwxr-xr-x 2 1010 pure-ftp 6 Apr 2 22:33 ..
lftp ftp_user1@127.0.0.1:~> put /etc/fstab
lftp ftp_user1@127.0.0.1:~> ls
drwxr-xr-x 2 1010 pure-ftp 19 Apr 2 22:41 .
drwxr-xr-x 2 1010 pure-ftp 19 Apr 2 22:41 ..
-rw-r--r-- 1 1010 pure-ftp 574 Feb 20 21:38 fstab

Windows可以安装一个FTP客户端软件(开源FileZilla)

出处:《跟阿铭学Linux》

配置若有遗漏或错误,请评论留言。
原文地址:https://www.cnblogs.com/BrokenEaves/p/14426977.html