码迷,mamicode.com
首页 > 系统相关 > 详细

linux中ftp服务的搭建与介绍

时间:2019-04-22 22:53:49      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:新建   only   inux   ftp   速度   user   连接数   文件系统权限   dir   

  • FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。
  • 安装vsftp(vsftp应该是一款不错的ftp软件。)
    yum search vsftp
    技术图片
    yum install vsftpd -y
    对vsftp进行安装
    技术图片
    systemctl start vsftpd 启动vsftpd服务
    systemctl status vsftpd 查看vsftpd状态
    技术图片
    3.设置防火墙
    安装ftp服务
    yun install ftp -y
    技术图片
    firewall-cmd --permanent --add-service=ftp 在防火墙中添加ftp服务
    firewall-cmd --reload 重新加载参数
    技术图片
    firewall-cmd --list-all 显示防火墙服务列表
    技术图片
    4.ftp搭建成功
    技术图片
  • 5.ftp配置文件修改
    配置文件: /etc/vsftpd/vsftpd.conf 每次修改配置文件后需要重新启动服务才能生效
    systemctl restart vsftpd.service
    1.anonymous_enable=YES|NO #匿名用户可以|不可以登陆
    技术图片
    技术图片 匿名用户无法登陆
    2.local_enable=YES|NO #本地用户可以|不可以登陆
    技术图片
    技术图片
    技术图片

    3.write_enable=YES|NO ##ftp是否对登陆用户可写
    技术图片
    技术图片 服务未开启
    4.报错id解析
    500 ##文件系统权限过大
    530 ##用户认证失败
    550 ##服务本身功能未开启
    553 ##本地文件系统权限过小
    5.匿名用户上传
    write_enable=YES
    anon_upload_enable=YES
    chgrp ftp /var/ftp/pub
    chmod 777 /var/ftp/pub(一定使用者需要有写权限)
    技术图片
    技术图片 匿名用户可以上传文件
    6.匿名用户家目录修改(匿名用户家目录默认在/var/ftp)
    anon_root=/目录地址
    技术图片
    在新的家目录里新建一个文件夹 file1
    技术图片 匿名用户登陆后验证 file1 则该家目录被修改
    7.匿名用户上传文件默认权限修改
    技术图片
    8.anon_mkdir_write_enable=YES|NO #匿名用户创建目录
    技术图片 服务未开启
    技术图片
    技术图片 目录被成功建立
    9.anon_world_readable_only=NO #匿名用户下载,设定参数为no,表示匿名用户可以下载
    技术图片 服务未开启
    技术图片
    技术图片 下载成功
    10.anon_other_write_enable=YES|NO #匿名用户删除
    技术图片
    技术图片
    技术图片 服务开启 删除成功
    11.anon_max_rate=102400 #匿名用户最大上传速率 单位为字节
    dd if=/dev/zero of=/mnt/redfile bs=1M count=1000 截取daxiao大小为1M的数据存在redfile中
    技术图片 上传平均速度为102400
    12.匿名用户最大链接数
    技术图片
    技术图片 这里表示连接数最多为两个
    13.匿名用户修改上传文件所有者
    技术图片
    chown_uploads=YES
    chown_username=xxxx(系统已存在的用户名)
    技术图片
    14.匿名用户修改上传文件权限
    技术图片
    技术图片 上传的文件权限被更改
    本地用户
    local_enable=YES|NO ##本地用户登陆限制
    write_enable=YES|NO ##本地用户写权限
    local_root=/绝对路径 本地用户家目录修改,默认登陆用户家目录
    技术图片
    技术图片 本地用户的登陆与写的权限开启
    技术图片 修改本地用户的家目录为/var/ftp
    技术图片
    local_umask=xxx #本地用户上传文件的umask值
    技术图片
    技术图片
    限制本地用户浏览/目录
    所有用户被锁定到自己家目录中
    chroot_local_user=YES(此参数与用户写权限冲突,所以将用户所有写权限删除,由于此目录下只有拥有者有写权限,所以只需要把用户写权限减去。但是如果需要上传文件,则可能会出现553报错,建议减去用户权限后做完实验即可恢复。)
    chmod u-w /home/*
    技术图片
    技术图片
    关闭后成功切换到 /
    技术图片
    用户黑名单
    chroot_local_user=NO
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    在/etc/vsftpd/chroot_list名单的用户被锁定在自己家目录中
    技术图片
    技术图片
    技术图片
    技术图片

    用户白名单
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    不在/etc/vsftpd/chroot_list名单的用户被锁定在自己家目录中
    技术图片
    技术图片

    技术图片 bruceiter 不在chroot_list中 则访问不了/目录

    限制本地用户登陆
    vim /etc/vsftpd/ftpusers ##用户黑名单
    vim /etc/vsftpd/user_list ##用户临时黑名单
    技术图片
    技术图片

    用户白名单设定
    userlist_deny=NO ##将本来的名单权限打开,并且关闭黑名单权限,就是剩余白名单权限
    /etc/vsftpd/user_list ##设定可以登陆ftp的用户
    技术图片 NO为打开
    技术图片
    技术图片 开启后所有用户登陆不了
    技术图片
    技术图片 在 /etc/vsftpd/user_lis 添加后登陆成功

    ftp虚拟用户的设定
    vim /etc/vsftpd/userfile ##新建虚拟用户账户密码信息
    user1
    2233
    user2
    2233
    user3
    2233
    db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/userfile.db ##将新建的用户账户密码文件加密
    vim /etc/pam.d/user ##编写验证账户密码若验证不通过拒绝,验证软件,被验证核对的文件
    account required pam_userdb.so db=/etc/vsftpd/userfile(为之前建立的账户密码信息文件)
    auth required pam_userdb.so db=/etc/vsftpd/userfile
    vim /etc/vsftpd/vsftpd.conf
    pam_service_name=user ##验证的文件是从/etc/pam.d/user决定的,与其同名
    guest_enable=YES ##设定虚拟用户登陆
    guest_username=ftp ##登陆软件是ftp
    登陆使用 -u是由于虚拟用户与本地用户都是使用ftp这个用户的身份,ftp用户是安装时就生成的。

    虚拟帐号家目录独立设定
    vim /etc/vsftpd/vsftpd.conf
    local_root=/ftphome/$USER ##区分虚拟账户家目录,但是由于$USER是脚本用法,所以用下一句来告诉ftp,$USER的用法与脚本中的$USER一样
    user_sub_token=$USER
    ##可以在每个虚拟用户家目录下建立不同的文件作为标示。
    mkdir /ftphome/user1/user1file -p
    mkdir /ftphome/user2/user2file -p
    mkdir /ftphome/user3/user3file -p

    独立设置配置文件
    vim /etc/vsftpd/vsftpd.conf
    user_config_dir=/etc/vsftpd/userconf
    并且注释掉关于匿名用户的语句。在/etc/vsftpd/userconf/user1中添加关于匿名用户配置语句,重启服务,以用户1的身份链接出现创建文件,创建成功之后,若用户2创建不成功,则说明二者独立设置配置文件。但是应注意要把之前的配置文件关于匿名用户全部注释,否则默认读取原来的配置文件,没有找到权限就找自己的配置文件。

    linux中ftp服务的搭建与介绍

    标签:新建   only   inux   ftp   速度   user   连接数   文件系统权限   dir   

    原文地址:https://blog.51cto.com/12893781/2382949

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!