ftp搭建流程

1.yum安装vsftpd

yum install vsftpd
cd /etc/vsftpd
mv vsftpd.conf vsftpd.conf_bak

2.编辑配置文件

vim vsftpd.conf ###清空并添加如下内容

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
guest_enable=YES
guest_username=virtual_user
virtual_use_local_privs=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
hide_file=.*
chroot_local_user=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf/ #需要加上这句

#从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/ftpuser去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列项:
allow_writeable_chroot=YES #redhat7版本后需添加

3.创建虚拟用户

(##useradd -d /home/ftpsite -s /bin/bash virtual_user
##groupadd -g 500 virtual_user
##useradd -d /home/ftpsite -u 500 -g 500 -s /bin/bash virtual_user)这三步不做

useradd -d /home/ftpuser -s /bin/bash ftpuser ***此创建方式需要注释掉vsftpd.conf中的guest_enable=YES与guest_username=virtual_user
chmod 777 /home/ftpuser/
#未授权可导致500 OOPS报错(建议xshell登录ftp,会显示详细报错信息)500 OOPS::cannot change directory:/home/ftpuser ftp>500 OOPS:500 OOPS: child died

#类似报错:500 OOPS: tcp_wrappers is set to YES but no tcp wrapper support compiled in
Connection closing…Socket close. ##vsftpd.conf内注释:tcp_wrappers=YES

4.建立PAM认证文件

vim /etc/pam.d/vsftpd
#将如下内容添加到/etc/pam.d/vsftpd,(原内容全部注释掉)(如果是32位系统就把lib64中的64去掉)###添加到最前面

#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/account
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/account

5.将vsftp用户添加入/etc/vsftpd/account.txt

vim /etc/vsftpd/account.txt
ftpuser (用户名)
****** (密码 )

6.编辑注册db信息并增加执行权限

vim account.sh
db_load -T -t hash -f /etc/vsftpd/account.txt /etc/vsftpd/account.db

增加执行权限:
chmod +x account.sh

7.在/etc/vsftpd/vsftpd_user_conf/目录中建立用户对应文件 并添加访问目录

mkdir /etc/vsftpd/vsftpd_user_conf/
cd vsftpd_user_conf
vim ftpuser
local_root=/home/ftpuser

8.重新生成DB数据库文件(上传account.db,若原先没有,则直接运行axxount.sh)

cd /etc/vsftpd/
rm -rf account.db
sh account.sh

9.关闭SElinux与iptables防火墙

永久关闭SElinux:
vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
永久关闭防火墙:
systemctl disabled firewalld
chkconfig iptables off

10.重启启动vsftpd服务

systemctl restart vsftpd

11.设置开机自启

查看是否开机自启
chkconfig --list vsftpd
chkconfig vsftpd on

systemctl is-enabled vsftpd
若不是开机自启,则加入开机自启
systemctl enable vsftpd

注:vsftp安装后可上传、新建、删除、无法切换到别的目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值