centos linux安装vsftp,​Linux centos 7 安装vsftp

Linux centos 7 安装vsftp-server服务器

一、系统环境

# cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

二、安装 vsftp 服务

# yum -y install vsftpd db4*  (db4配置虚拟用户生成db库文件)

三、配置vsftp服务器主要配置文件

# cp /etc/vsftpd/vsftp.conf{,.bak}

# grep -v '^#' /etc/vsftpd/vsftpd.conf

#####配置如下#######

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=NO

xferlog_std_format=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

####添加如下###########

chroot_local_user=YES

chroot_list_enable=YES  #(1.所有用户都被限制在其主目录下

2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制)

chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

listen_ipv6=NO

virtual_use_local_privs=NO

############# 以下开启虚拟用户权限#################

guest_enable=YES

guest_username=vsftpuser

user_config_dir=/etc/vsftpd/v_conf

pasv_enable=YES

pasv_min_port=33000

pasv_max_port=34000

四、先建立虚拟用户名单文件

# touch /etc/vsftpd/user_ftp

# cat /etc/vsftpd/user_ftp (第一行账号,第二行密码)

admin (账号)

123456 (密码)

user   (账号)

123456(密码)

五、创建用户和组

# useradd -d /opt/ftpdata -s /sbin/nologin vsftpuser

# touch /etc/vsftpd/chroot_lis #(1.所有用户都被限制在其主目录下

2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制)

# mkdir -p /etc/vsftpd/v_conf  #(虚拟用户配置文件目录)

六、在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)

# cp /etc/pam.d/vsftpd(,.bak)

# vim /etc/pam.d/vsftpd

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/user_ftp

account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/user_ftp

七、生成虚拟用户数据文件:

# db_load -T -t hash -f /etc/vsftpd/user_ftp /etc/vsftpd/user_ftp.db

# chmod 600 /etc/vsftpd/user_ftp.db  #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

八、创建ftp目录

# mkdir -p /opt/ftpdata/

# chown -R vsftpuser.vsftpuser /opt/ftpdata

九、配置用户登录ftp server

# mkdir -p /opt/ftpdata/admin/system-file

# chmod a-w /opt/ftpdata/admin #(新版本vsftp增加了ftp服务安全性,根目录不能有写入的权限,去掉写的权限)

# chown -R vsftpuser.vsftpuser /opt/ftpdata/admin

# chmod -R 700 /opt/ftpdata/admin/system-file

# vim /etc/vsftpd/user_ftp #(添加用户)

# cat /etc/vsftpd/user_ftp #(第一行账号,第二行密码)

admin  #(账号)

123456 #(密码)

# db_load -T -t hash -f /etc/vsftpd/user_ftp /etc/vsftpd/user_ftp.db

# chmod 600 /etc/vsftpd/user_ftp.db

十、建立虚拟用户个人Vsftp的配置文件

# cd /etc/vsftpd/v_conf

# vim admin #(创建文件和设置的虚拟用户,名字要一样)

# cat admin

local_root=/opt/ftpdata/admin

anon_umask=077

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

十一、启动 ftp server service

# systemctl start vsftpd.service

# systemctl enable vsftpd.service

十二、配置虚拟用户脚本

#!/bin/bash

################################

## Writer By Tian              #

## Ver 1.0 At 20190107         #

## sh vsftp.sh name password   #

################################

data=/opt/ftpdata

if [ $# -eq 3 ];then

user=$1

pawd=$2

path=$3

for i in `sed -n '1~2p' /etc/vsftpd/user_ftp`;do

if [ $user == $i ];then

echo "user '$user' already exists"

exit 1

fi

done

if [ ! -d "$path" ];then

mkdir -p $path

fi

echo -e "$user\n$pawd" >> /etc/vsftpd/user_ftp

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

touch /etc/vsftpd/v_conf/$user

cat >>/etc/vsftpd/v_conf/$user

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值