作为系统默认自带的ftp服务软件,vsftpd使用也是挺多的,下面介绍一下vsftpd。
1 | yum install -y vsftpd db4-utils |
这里安装两个软件包,同时会把依赖的包安装上。其中db4-utils 用来生成密码库文件。
i. 建立虚拟账号相关联的系统账号
1 | useradd virftp -s /sbin/nologin |
ii. ###### 建立虚拟账户的相关文件
1 | vim /etc/vsftpd/vsftpd_login //内容如下 |
iii. ######更改该文件的权限,提升安全级别
1 | chmod 600 /etc/vsftpd/vsftpd_login |
iv. ######vsftpd 使用的密码文件肯定不是明文的,需要生成对应的库文件
1 | db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db |
v. ######建立虚拟账号相关的目录以及配置文件1
2mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
3. 创建和用户对应的配置文件
1 | vim test1 //内容如下: |
说明:
local_root 表示该账号的家目录;
anonymous_enable 用来限制是否允许匿名账号登录;
write_enable 表示是否可写;
local_umask 指定umask值;
non_upload_enable 是否允许匿名账号上传文件;
non_mkdir_write_enable 是否允许匿名账号可写;
idle_session_timeout=600 空闲会话超时;
data_connection_timeout=120 数据链接超时;
max_clients=10 最大链接数
local_max_rate=50000 传输速度
以上是关键配置参数,其他暂时不用关心。创建test2账号的步骤和test1一样。
1 | mkdir /home/virftp/test1 |
说明:32位系统的库文件路径为:/lib/security/pam_uesrdb.so ;64位系统为:/lib64/security/pam_uesrdb.so
3. 修改全局配置文件/etc/vsftpd.conf
1 | vim /etc/vsftpd/vsftpd.conf |
修改内容为:
1 | anonymous_enable=NO |
添加内容为:
1 | guest_enable=YES |
至此可以启动vsftp服务了
1 | /etc/init.d/vsftpd start |
在21端口没有被占用的前提下,可以成功启动。如果用户登录不了,请查看一下/var/log/secure 日志。