linux ftp平台部署

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
运维安全中心(堡垒机),免费版 6个月
简介:
  1. 系统环境
    [root@ceshiji ~]# cat /etc/redhat-release
    CentOS release 6.7 (Final)
    [root@ceshiji ~]# iostat -c
    Linux 2.6.32-573.3.1.el6.x86_64 (ceshiji)   01/05/2018  _x86_64_    (8 CPU)
    [root@ceshiji ~ ]# getenforce
    Disabled
  2. vsftp,pam,db4安装
    [root@ceshiji ~]# yum install vsftpd pam* db4* -y
  3. 开启vsftp自启服务
    [root@ceshiji ~]]# chkconfig --level 35 vsftpd on
    [root@ceshiji ~]]# chkconfig --list
  4. 配置vsftpd服务的宿主
    #useradd vsftpdadmin -s /sbin/nologin -d /data/vsftpdadmin -m``
    说明:这个vsftpdadmin只是用来替换root的,并不需要登录
  5. 建立ftp虚拟宿主帐
    #useradd -s /sbin/nologin -d /data/ftpuser -m ftpuser
  6. 配置vsftpd.conf
    说明:更改配置前最好备份一下然后再改。
    #vim /etc/vsftpd/vsftpd.conf
  7. 下面是我的vsftpd.conf配置内容:
    #cat /etc/vsftpd/vsftpd.conf |grep -v '^#'
    ##不允许匿名用户登录ftp
    anonymous_enable=NO
    ##允许本地用户登录
    local_enable=YES
    ##启用任何形式的FTP写入命令
    write_enable=YES
    ##上传后文件的权限掩码
    local_umask=022
    ##开启目录标语,默认是YES
    dirmessage_enable=YES
    ##开启日志,默认是YES
    xferlog_enable=YES
    ##设定连接端口20
    ##这个端口我更改为50100
    connect_from_port_20=YES
    listen_port=50100
    ##设定vsftpd的服务日志保存路径
    xferlog_std_format=YES
    ##会话超时,客户端连接到ftp但未操作,可根据个人情况修改
    idle_session_timeout=600
    ##支持异步传输功能,默认是注释掉的
    async_abor_enable=YES
    ##支持ASCII模式的上传功能,默认是注释掉的
    ascii_upload_enable=YES
    ##支持ASCII模式的下载功能,默认是注释掉的
    ascii_download_enable=YES
    ##FTP的登录欢迎语,本身是被注释掉的
    ftpd_banner=Welcome to datagrand FTP service.
    ##禁止本地用户登出自己的FTP主目录
    chroot_local_user=YES
    ##锁定登录用户只能在家目录的位置的文件
    chroot_list_file=/etc/vsftpd/chroot_list
    ##侦听ipv4地址
    listen=YES
    ##########启用vsftpd虚拟用以及虚拟用户账号配置目录############
    ##设定启用虚拟用户功能
    guest_enable=YES
    ##指定虚拟用户的宿主用户
    guest_username=ftpuser
    ##设定pam服务下vsftpdd的验证配置文件名
    pam_service_name=vsftpd
    ##设定虚拟用户的权限符合他们的宿主用户
    virtual_use_local_privs=YES
    ##设定虚拟用户个人Vsftp的配置文件存放路径
    user_config_dir=/etc/vsftpd/vconf
    ##拒绝登录用户名单
    userlist_enable=YES
    userlist_deny=NO
    ##限制主机对VSFTP服务器的访问
    tcp_wrappers=YES
    ############################虚拟用户全局配置###############
    ##开放虚拟用户创建目录的权限
    anon_mkdir_write_enable=YES
    ##开放虚拟用户的下载权限
    anon_world_readable_only=YES
    ##开放虚拟用户的写权限
    write_enable=YES
    ##开放虚拟用户的上传权限
    anon_upload_enable=YES
    ##开放虚拟用户删除、重命名目录和文件
    anon_other_write_enable=YES
  8. 建立日志文件
    #touch /var/log/vsftpd.log    //日志文件  
    #chown vsftpdadmin.vsftpdadmin /var/log/vsftpd.log   //属于vsftpdadmin这个宿主 
  9. 建立虚拟用户文件
    #mkdir /etc/vsftpd/vconf/  
    #touch /etc/vsftpd/vconf/vir_user 
  10. 建立虚拟用户
    #vim /etc/vsftpd/vconf/vir_user 
    ##用户名
    xiaoming
    ##密码
    12345678

    说明:
    (1)第一行用户名,第二行是上一行用户名的密码,其他人的以此类推;
    (2)用户名,密码后面不要有空格!

    #vim /etc/vsftp/chroot_list
    ##用户名
    xiaoming

    说明:加入需要锁定登录用户只能家目录的位置然后将帐户输入一行一个,保存就可以了。

    #vim /etc/vsftpd/user_list
    ##添加虚拟用户
    xiaoming

    创建虚拟用户具体文件和步骤:

    #pwd
    /etc/vsftpd/vconf
    #touch xiaoming
    #vim xiaoming
    ##添加如下内容:
    ##虚拟用户的根目录,需要预先建立并赋予相应权限
    local_root=/data3/xiaoming
    local_umask=022
    :wq
    在相应的目录下(data3)创建文件xiaoming:
    #mkdir -p /data3/xiaoming
    更改所属主,组:
    #chown -R ftpuser:ftpuser /data3/xiaoming
  11. 生成数据库
    #db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db  
    设置数据库文件的访问权限:
    #chmod 600 /etc/vsftpd/vconf/vir_user.db  
    #chmod 600 /etc/vsftpd/vconf/vir_user  
  12. 修改/etc/pam.d/vsftpd内容
    将/etc/pam.d/vsftpd文件里的内容全部注释掉(前面加#)或删掉,在里面添加如下内容:
    echo "auth required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >> /etc/pam.d/vsftpd  
    echo "account required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >> /etc/pam.d/vsftpd  
  13. 重启ftp服务
    #service vsftpd restart
    #netstat -lnp|grep vsftpd
  14. 关于vsftpd的端口号的更改
    要求:vsftpd启动后,默认的ftp端口是21,现在我想把ftp端口改成50100 ,修改后能保证用户上传下载不受影响。
    #vim /etc/vsftpd/vsftpd.conf
    ##在该配置文件中添加此行
    listen_port=50100
    :wq
    #vim /etc/services
    #ftp             21/tcp
    ftp             50100/tcp
    #ftp             21/udp          fsp fspd
    ftp             50100/udp          fsp fspd
    :wq
    #service vsftpd restart
    #netstat -lnp|grep vsftpd

     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/2057745,如需转载请自行联系原作者


相关文章
|
2天前
|
JavaScript 前端开发 Linux
【好玩的开源项目】Linux系统之部署捕鱼达人经典小游戏
【7月更文挑战第20天】Linux系统之部署捕鱼达人经典小游戏
13 6
|
4天前
|
Linux 测试技术 网络安全
【好玩的开源项目】Linux系统之部署吃豆人经典小游戏
【7月更文挑战第18天】Linux系统之部署吃豆人经典小游戏
29 1
|
6天前
|
Linux 测试技术 网络安全
【好玩的开源项目】Linux系统之部署跳一跳经典小游戏
【7月更文挑战第16天】Linux系统之部署跳一跳经典小游戏
28 6
|
7天前
|
Linux 测试技术 网络安全
【好玩的开源项目】Linux系统之部署adarkroom文字风格冒险小游戏
【7月更文挑战第15天】Linux系统之部署adarkroom文字风格冒险小游戏
27 4
|
5天前
|
JavaScript Linux 测试技术
【好玩的开源项目】Linux系统之部署proxx扫清黑洞小游戏
【7月更文挑战第17天】Linux系统之部署proxx扫清黑洞小游戏
18 1
|
17天前
|
Ubuntu Linux 数据安全/隐私保护
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
26 0
|
20天前
|
Java Linux Shell
Linux软件安装和部署Java代码
Linux软件安装和部署Java代码
22 0
|
20天前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
20天前
|
Linux
Linux部署06 ---相对路径绝对路径,想要切换到home下的文件 cd /home/itheima/Desktop cd Desktop,相对路径以当前目录为起点一种写法 不写/,相对是当前目录
Linux部署06 ---相对路径绝对路径,想要切换到home下的文件 cd /home/itheima/Desktop cd Desktop,相对路径以当前目录为起点一种写法 不写/,相对是当前目录
|
20天前
|
Linux
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数