pure-ftpd 配置模板参考
cat /etc/pure-ftpd/pure-ftpd.conf
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
PureDB /etc/pure-ftpd/pureftpd.pdb
LimitRecursion 3136 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 10
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
CustomerProof yes
生成随机字符串用户名长度为5没有特殊字符没有数字没有大写字母密码没有特殊字符然后重定向到一个文件中
如果没有mkpasswd命令需要安装expect包# yum install -y expect
user=`mkpasswd -l 5 -s 0 -d 0 -C 0`
pass=`mkpasswd -s 0`
echo $user $pass > /tmp/ftp.pass
12 [root@localhost ~]# cat /tmp/ftp.pass
zwdlc EEoz14swg
创建ftp服务的目录用于共享
#mkdir /data/ftp
#echo -e "$pass\n$pass"|pure-pw useradd $user -u test -d /data/ftp/
pure-pw 创建一个用户
-u test 映射一个用户系统里必须存在的用户。使用创建的随机用户映射到系统里的用户
pure-pw mkdb #创建密码文件把用户和密码保存到一个二进制的文件中。路径在/etc/pure-ftpd/pure-ftpd.conf配置文件里PureDB指定的路径中
[root@localhost ~]# ls -l /etc/pure-ftpd/pureftpd.pdb
-rw------- 1 root root 2141 5月 22 15:24 /etc/pure-ftpd/pureftpd.pdb
pure-pw list #列出用户
[root@localhost ~]# pure-pw list
zwdlc /data/ftp/./
pure-pw userdel $user #删除账号
/etc/init.d/pure-ftpd start #启动服务监听端口为21
ftp客户端需要安装lftp包#yum install -y lftp
输入命令 #lftp 用户名@ftp服务器ip地址
用户名为服务器创建的随机用户名ftp服务器ip地址输入密码就登录ftp服务器
put 文件 上传到ftp服务端
get 文件 下载到本地客户端目录
[root@yong nfs]# lftp zwdlc@192.168.20.30
Password:
lftp zwdlc@192.168.20.30:/> get nginx-1.6.2.tar.gz
804164 bytes transferred
2、vsftp配置ftp服务
服务端安装yum install -y vsftpd db4-utils
建立虚拟账号相关联的系统账号 useradd virftp -s /sbin/nologin
建立虚拟账户相关的文件 vim /etc/vsftpd/vsftpd_login //内容如下
test1
123456
test2
abcdef
chmod 600 /etc/vsftpd/vsftpd_login
生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
db_load命令可以将用户文本信息文件转换为db数据库并使用hash加密。
选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的为了让Vsftpd这个应用程序能够通过文本来载入用户数据必须要使用这个选项。
指定了选项-T那么一定要追加子选项-t ; 子选项-t追加在在-T选项后用来指定转译载入的数据库类型。
hash就是使用hash码加密。
-f 参数后面接包含用户名和密码的文本文件文件的内容是:奇数行用户名、偶数行密码
如果更改密码更改文件后还需要db_load一下并重启ftp服务使其生效