5步安装vsftpd

先建立虚拟用户名单文件

第一步检查系统

如果无法确认是否安装了该软件,可以使用以下命令查看

rpm -qa|grep vsftpd 

如果安装会显示版本信息。
分支
如果需要使用PAM建立虚拟账户需要做 rpm -qa|grep pam 的检查。

第二步安装vsftpd

如果需要一同安装pam可以使用一下命令

yum install vsftpd pam* db4*-y

为什么要加pam和db4呢?就是一个方便。你也可以使用以下分支安装
分支

yum install -y vsftpd*
yum install -y pam*
yum install -y db4*

提示:如果db4提示没有找到可用的包,请安装epel源。成功以后在安装db4。

yum install -y epel*

我们启动一下vsftpd看看,vsftpd默认是

service vsftpd start

第三步设置Firewall和SELinux

允许FTP服务和端口21通过防火墙。

firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-service=ftp

重置防火墙

firewall-cmd --reload

iptables防火墙请问度娘

然后,配置FTP服务的SELinux

setsebool -P ftp_home_dir on

第四步设置虚拟账户

1.添加Pam的主账户

useradd vsftpd -s /sbin/nologin

useradd overlord -s /sbin/nologin

vsftpd提供给vsftp服务端使用,overlord提供给Ftp客服端使用。
nologin设定他为不能登陆系统的用户。
2.规划好虚拟用户的主路径:

mkdir /opt/vsftp/

3.建立FTP用户文件路径

mkdir /opt/vsftp/zhengjie/

4.分配文件的控制权限

chown -R overlord.overlord /opt/vsftp/

第五步修改配置文件

1.修改vsftp服务的conf文件

vi /etc/vsftpd/vsftpd.conf

修改一下选项

anonymous_enable=NO  
#关闭匿名登录
xferlog_file=/var/log/vsftpd.log
#日志保存路径
 nopriv_user=vsftpd
#支持服务vsftp的系统账号

pam_service_name=vsftpd
#默认Vsftpd.conf中不包含这些设定项目,需要自己手动添加配置
#设定PAM服务下Vsftpd的验证配置文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd文件配置。

guest_enable=YES
#设定启用虚拟用户功能。

guest_username=overlord
#指定虚拟用户的宿主用户。

virtual_use_local_privs=YES
#设定虚拟用户的权限符合他们的宿主用户。

user_config_dir=/etc/vsftpd/vconf
#设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。

保存退出。

  1. 建立Vsftpd的日志文件,并更该属主为Vsftpd的服务宿主用户:
touch /var/log/vsftpd.log
chown vsftpd.vsftpd /var/log/vsftpd.log
mkdir /etc/vsftpd/vconf/

3.建立ftp登录帐号配置文件

先建立虚拟用户名单文件

touch /etc/vsftpd/virtusers

编辑虚拟用户名单文件

vi /etc/vsftpd/virtusers
----------------------------
zhengjie
123456
----------------------------

生成虚拟用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

查看生成的虚拟用户文件

ll /etc/vsftpd/virtusers.db
-rw-r--r-- 1 root root 12288 Sep 16 03:51 /etc/vsftpd/virtusers.db

虚拟用户的主路径

mkdir /opt/vsftp/mkdir /opt/vsftp/zhengjiecp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vconf/zhengjie/

建立虚拟用户对应文件夹和conf文件

mkdir /opt/vsftp/

mkdir /opt/vsftp/zhengjie

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vconf/zhengjie/

针对具体用户进行定制

vi /etc/vsftpd/vconf/kanecruise
---------------------------------
local_root=/opt/vsftp/kanecruise
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=300
data_connection_timeout=90
max_clients=1
max_per_ip=1
local_max_rate=25000
---------------------------------

终于写完了。中间有部分是参考其他文章内容,实在不想写了。:)

下面启动vsftpd吧。

systemctl start vsftpd

你可能感兴趣的:(linux,vsftpd)