专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
51好读  ›  专栏  ›  马哥Linux运维

原创投稿 | Linux运维.服务搭建.玩转FTP系列(一)

马哥Linux运维  · 公众号  · 运维  · 2017-03-29 07:57

正文

豌豆贴心提醒,本文阅读时间5分钟


一. 简述

FTP作为主流文件传输协议,在Linux系统管理中扮演着重要的角色。和NFS,Samba被笔者看作是Linux从业者必知必会。本篇主要介绍如何快速创建FTP虚拟用户,帮助Linux运维新手快速上手学习。

二. 实践环境

虚拟机软件:VMware workstation 12.5

操作系统环境:CentOS6.5-x86_64

虚机配置:4vcpu  512M内存 8G系统磁盘 6G数据盘 2个以太网网卡(NAT+Host only)

三. 操作过程

1.安装vsftpd软件

yum -y install vsftpd

2.编辑配置文件

① 进入配置目录:cd /etc/vsftpd/

② 编辑配置文件:vim vsftpd.conf

在pam_service_name=vsftpd上,添加:


#开启虚拟用户访问功能

guest_enable=YES

#设置虚拟用户对应的系统账户为ftp

guest_username=ftp

#设置虚拟用户的配置目录

user_config_dir=/etc/vsftpd/vir_user_conf


③ 在/etc/vsftpd目录下,创建虚拟账户列表,如:

vim vir_user_ftp ,添加如下:

test

123456

保存,退出

④ 生成密码库

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

chmod 600 vir_user_ftp.db

⑤ 创建虚拟用户配置文件

mkdir vir_user_conf

cd vir_user_conf 

touch  test

⑥ 编辑vsftpd的pam模块认证文件

vim /etc/pam.d/vsftpd

注释到已有内容,添加一下两行,表示用自己创建的用户密码库来认证vsftpd的登陆

auth       required  /lib64/security/pam_userdb.so    db=/etc/vsftpd/vir_user_ftp

account  required   /lib64/security/pam_userdb.so  db=/etc/vsftpd/vir_user_ftp  

保存,退出。

⑦ 进入虚拟用户配置目录

cd /etc/vsftpd/vir_user_conf

vim  test  添加一下内容:

local_root=/var/ftp/pub/test

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_upload_enable=YES

anon_world_readable_only=YES

保存,退出

⑧ 创建test用户根目录

cd /var/ftp/pub/

mkdir test

⑨ 设置ACL访问控制

setfacl -R -m u:ftp:rwx test

⑩开启FTP服务器

service vsftpd start

service iptables stop

setenforce 0


根据以上十步,基本上可以搞定FTP虚拟用户配置

主要步骤:

1,配置vsftpd可使用虚拟用户

2,配置vsftpd访问控制

3,创建虚拟用户数据库,根目录,访问配置

4,关闭防火墙,SElinux,开启FTP服务,测试

注意事项:

1,采用虚拟用户时,不需要设置chroot,ftp是默认设置为限制在用户家目录

2,采用ACL访问控制比较灵活控制虚拟用户在系统级别的权限

3,在虚拟用户的根目录下,创建挂载点,如 hello   

    mount --bind /home/   hello

     setfacl -R -m u:ftp:rwx  hello 可以很灵活配置虚拟用户访问系统其他目录

4,如果FTP根目录是磁盘挂载,在格式化磁盘时,需要添加挂载选项,acl,以便能够ACL控制

本文作者:蛮大人

如果你觉得这篇文章还不错,欢迎通过下方收款码向作者进行转账打赏: