精华内容
下载资源
问答
  • Linux搭建FTP服务器

    2020-10-25 10:39:50
    这里写自定义目录标题Linux搭建FTP服务器简述一.安装服务器1.1. 安装vsftp1.2. 配置文件路径二. 配置vsftp2.1. 配置ftp用户2.2. 配置vsftp2.3. 注释掉auth防止无法登陆2.4. 启动ftp服务器2.5. 浏览器登陆三. Win配合...

    Linux搭建FTP服务器

    简述

    FTP是File Transfer Protocol(文件传输协议)的简称,用于internet上的控制文件的双向传输。
    FTP也是一个应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。

    一.安装服务器

    1.1. 安装vsftp

    yum install -y vsftp
    

    1.2. 配置文件路径

    配置文件 /etc/vsftp/vsftp.conf
    vsftpd用户认证配置文件 /etc/pam.d/vsftpd
    配置文件目录 /etc/vsftpd/

    1.3. vsftp常用命令

    启动ftp服务器 service vsftp start
    停止ftp服务器 service vsftp stop
    查看ftp服务器 service vsftp status

    二. 配置vsftp

    2.1. 配置ftp用户

    useradd ftpuser                          # 创建ftp用户
    echo ftppasswd | passwd ftpuser --stdin  # 设置ftp用户的密码
    usermod -s /sbin/nologin ftpuser         # 不允许ftp用户登陆
    usermod -d /home/ftpuser/file ftpuser    # 设置ftpuser用户的访问路径
    chmod 777 -R /home/ftpuser/file/         # 设置ftp用户的读写权限
    

    2.2. 配置vsftp

    # Example config file /etc/vsftpd/vsftpd.conf
    #
    # The default compiled in settings are fairly paranoid. This sample file
    # loosens things up a bit, to make the ftp daemon more usable.
    # Please see vsftpd.conf.5 for all compiled in defaults.
    #
    # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
    # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
    # capabilities.
    #
    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    # 取消对此的注释以允许本地用户登陆
    # When SELinux is enforcing check for SE bool ftp_home_dir
    local_enable=YES
    #
    # Uncomment this to enable any form of FTP write command.
    write_enable=YES
    #
    # Default umask for local users is 077. You may wish to change this to 022,
    # if your users expect that (022 is used by most other ftpd's)
    local_umask=022
    #
    # Uncomment this to allow the anonymous FTP user to upload files. This only
    # has an effect if the above global write enable is activated. Also, you will
    # obviously need to create a directory writable by the FTP user.
    # When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access
    anon_upload_enable=YES
    #
    # Uncomment this if you want the anonymous FTP user to be able to create
    # new directories.
    anon_mkdir_write_enable=YES
    #
    # Activate directory messages - messages given to remote users when they
    # go into a certain directory.
    dirmessage_enable=YES
    #
    # Activate logging of uploads/downloads.
    xferlog_enable=YES
    #
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    connect_from_port_20=YES
    #
    # If you want, you can arrange for uploaded anonymous files to be owned by
    # a different user. Note! Using "root" for uploaded files is not
    # recommended!
    #chown_uploads=YES
    #chown_username=whoever
    #
    # You may override where the log file goes if you like. The default is shown
    # below.
    #xferlog_file=/var/log/xferlog
    #
    # If you want, you can have your log file in standard ftpd xferlog format.
    # Note that the default log file location is /var/log/xferlog in this case.
    xferlog_std_format=YES
    #
    # You may change the default value for timing out an idle session.
    idle_session_timeout=600
    #
    # You may change the default value for timing out a data connection.
    data_connection_timeout=120
    #
    # It is recommended that you define on your system a unique user which the
    # ftp server can use as a totally isolated and unprivileged user.
    #nopriv_user=ftpsecure
    #
    # Enable this and the server will recognise asynchronous ABOR requests. Not
    # recommended for security (the code is non-trivial). Not enabling it,
    # however, may confuse older FTP clients.
    #async_abor_enable=YES
    #
    # By default the server will pretend to allow ASCII mode but in fact ignore
    # the request. Turn on the below options to have the server actually do ASCII
    # mangling on files when in ASCII mode. The vsftpd.conf(5) man page explains
    # the behaviour when these options are disabled.
    # Beware that on some FTP servers, ASCII support allows a denial of service
    # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
    # predicted this attack and has always been safe, reporting the size of the
    # raw file.
    # ASCII mangling is a horrible feature of the protocol.
    ascii_upload_enable=YES
    ascii_download_enable=YES
    #
    # You may fully customise the login banner string:
    ftpd_banner=欢迎登陆本地的FTP服务器.
    #
    # You may specify a file of disallowed anonymous e-mail addresses. Apparently
    # useful for combatting certain DoS attacks.
    #deny_email_enable=YES
    # (default follows)
    #banned_email_file=/etc/vsftpd/banned_emails
    #
    # You may specify an explicit list of local users to chroot() to their home
    # directory. If chroot_local_user is YES, then this list becomes a list of
    # users to NOT chroot().
    # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
    # the user does not have write access to the top level directory within the
    # chroot)
    allow_writeable_chroot=YES
    chroot_local_user=YES
    #chroot_list_enable=YES
    # (default follows)
    #chroot_list_file=/etc/vsftpd/chroot_list
    #
    # You may activate the "-R" option to the builtin ls. This is disabled by
    # default to avoid remote users being able to cause excessive I/O on large
    # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
    # the presence of the "-R" option, so there is a strong case for enabling it.
    #ls_recurse_enable=YES
    #
    # When "listen" directive is enabled, vsftpd runs in standalone mode and
    # listens on IPv4 sockets. This directive cannot be used in conjunction
    # with the listen_ipv6 directive.
    listen=NO
    #
    # This directive enables listening on IPv6 sockets. By default, listening
    # on the IPv6 "any" address (::) will accept connections from both IPv6
    # and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
    # sockets. If you want that (perhaps because you want to listen on specific
    # addresses) then you must run two copies of vsftpd with two configuration
    # files.
    # Make sure, that one of the listen options is commented !!
    listen_ipv6=YES
    
    pam_service_name=vsftpd
    userlist_enable=YES
    

    2.3. 注释掉auth防止无法登陆

    [root@molongyin file]# cat /etc/pam.d/vsftpd
    #%PAM-1.0
    session    optional     pam_keyinit.so    force revoke
    auth       required	pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
    #auth       required	pam_shells.so  # 注释掉
    auth       include	password-auth
    account    include	password-auth
    session    required     pam_loginuid.so
    session    include	password-auth
    

    2.4. 启动ftp服务器

    service vsftp start
    

    2.5. 浏览器登陆

    我们在 /home/ftpuser/file 下面创建一个测试文件 1.txt 文件。
    接着打开浏览器: ftp://192.168.31.26 你测试的Centos服务器的地址。
    ![image.png](https://img-blog.csdnimg.cn/img_convert/e0ac2155a5bf3ef15b37b344140e63ad.png#align=left&display=inline&height=255&margin=[object Object]&name=image.png&originHeight=255&originWidth=856&size=75852&status=done&style=none&width=856)
    首次访问会让你输入用户(ftpuser)密码(ftppasswd),然后就可以进入看到我们刚才的创建的测试文件了。

    三. Win配合使用

    如果我们想要从win笔记本上传文件的话,不需要下载软件,打开控制台(cmd或者wt),输入:ftp ip 端口,就可以操作。

    ftp> open 192.168.31.26 21  # 输入密码。就可以访问
    ftp> put e:\test\1.txt      # 上传文件
    ftp> quit                   # 退出
    

    其他的命令自行百度吧。

    四. vsftp常用配置

    参数 作用
    anonymous_enable=YES 启用匿名用户登录
    anon_upload_enable=YES 允许匿名用户上传
    anon_mkdir_write_enable=YES 允许匿名用户创建目录,但是不能删除
    anon_other_write_enable=YES 允许匿名用户创建和删除目录
    local_enable=YES 启用本地用户登录
    write_enable=YES 允许本地用户有写权限
    local_umask=022 通过ftp上传文件的默认遮罩码
    chroot_local_user=YES 禁锢所有的ftp本地用户于其家目录中
    chroot_list_enable=YES 开启禁锢文件列表,需要与chroot_list_file参数一起使用
    chroot_list_file=/etc/vsftpd/chroot_list 指定禁锢列表文件路径,在此文件里面的用户将被禁锢在其家目录中
    allow_writeable_chroot=YES 允许被禁锢的用户家目录有写权限
    xferlog_enable=YES 是否启用传输日志,记录ftp传输过程
    xferlog_std_format=YES 传输日志是否使用标准格式
    xferlog_file=/var/log/xferlog 指定传输日志存储的位置
    chown_uploads=YES 是否启用改变上传文件属主的功能
    chown_username=whoever 指定要将上传的文件的属主改为哪个用户,此用户必须在系统中存在
    pam_service_name=vsftpd 指定vsftpd使用/etc/pam.d下的,哪个pam配置文件进行用户认证
    userlist_enable=YES 是否启用控制用户登录的列表文件:默认为/etc/vsftpd/user_list文件
    userlist_deny=YES 是否拒绝userlist指定的列表文件中存在的用户登录ftp
    max_clients=# 最大并发连接数
    max_per_ip=# 每个IP可同时发起的并发请求数
    anon_max_rate 匿名用户的最大传输速率,单位是“字节/秒”
    local_max_rate 本地用户的最大传输速率,单位是“字节/秒”
    dirmessage_enable=YES 启用某目录下的.message描述信息,假定有一个目录为/upload,在其下创建一个文件名为.message,在文件内写入一些描述信息,则当用户切换至/upload目录下时会自动显示.message文件中的内容
    message_file 设置访问一个目录时获得的目录信息文件的文件名,默认是.message
    idle_session_timeout=600 设置默认的断开不活跃session的时间
    data_connection_timeout=120 设置数据传输超时时间
    ftpd_banner=“Welcome to chenlf FTP service.” 定制欢迎信息,登录ftp时自动显示

    五. 总结

    配合ftp和ssh我们其实可以抛弃现在的xshell和sftp等一些软件。简单又方便!

    展开全文
  • linux搭建ftp服务器

    千次阅读 2019-06-25 17:18:48
    linux搭建ftp服务器 要在linux搭建ftp服务器的话,需要先安装一个工具 即 vsftpd 1 安装 yum install vsftpd -y (• 检查是否已安装vsftpd rpm -qa | grep vsftpd • 默认配置文件在/etc/vsftpd/vsftpd.conf) 2 ...

    linux搭建ftp服务器

    要在linux搭建ftp服务器的话,需要先安装一个工具 即 vsftpd

    1 安装 yum install vsftpd -y

    (• 检查是否已安装vsftpd rpm -qa | grep vsftpd
    • 默认配置文件在/etc/vsftpd/vsftpd.conf)
    在这里插入图片描述
    2 创建ftp工作目录,例如: mkdir /usr/ftpdata:
    在这里插入图片描述

    3 添加用户ftpuser, useradd ftpuser
    4 修改ftp目录权限 chown -R ftpuser.ftpuser /usr/ftpdata/
    5 重置ftpuser密码 passwd ftpuser
    在这里插入图片描述
    6 修改/添加配置:vim /etc/vsftpd/vsftpd.conf
    在这里插入图片描述
    修改匿名登陆问题:
    anonymous_enable=yes

    在这里插入图片描述
    #用户根目录
    local_root=/usr/ftpdata

    # 匿名用户根目录
    anon_root=/usr/ftpdata

    使用本地时间
    use_localtime=YES
    pasv_min_port=61001
    pasv_max_port=62000

    在这里插入图片描述
    7 修改安全组策略sudo vi /etc/selinux/config确保SELINUX=disabled
    在这里插入图片描述
    在这里插入图片描述
    8 为了避免验证出现550拒绝访问错误,输入命令:sudo setsebool -P ftp_home_dir 1

    9 进入到/etc/vsftpd目录下,新建文件chroot_list,增加内容:ftpuser
    在这里插入图片描述
    在这里插入图片描述
    设完之后记得 :wq 保存
    在这里插入图片描述
    在ftpdata目录中创建测试文件(随便拖一个文件进去就行)
    在这里插入图片描述
    到这里 就配置完毕了
    可以启动服务了 但是在启动服务之前 记得关闭防火墙 service iptables stop

    在这里插入图片描述
    启动service vsftpd start
    关闭service vsftpd stop
    重启service vsftpd restart

    在这里插入图片描述
    启动服务之后,在浏览器中访问: ftp://192.168.37.200 输入用户名和密码(之前如果在配置中设置了允许匿名登陆的话 ,就不需要设置用户名和密码)
    在这里插入图片描述

    展开全文
  • Linux搭建ftp服务器

    2020-07-13 09:50:04
    Linux搭建ftp服务器 安装vsftpd # yum -y install vsftpd 进入到安装目录下进行配置 # cd /etc/vsftpd 你会看到以下的文件 其中 FtpResources文件夹是自己手动创建的,后面会告诉你这个文件夹...

    Linux搭建ftp服务器 

    1. 安装vsftpd 

      # yum -y install vsftpd
    2. 进入到安装目录下进行配置
       

      # cd /etc/vsftpd

      你会看到以下的文件

      其中 FtpResources文件夹是自己手动创建的,后面会告诉你这个文件夹怎么创建,这里可以忽略。
      ftpusers和user_list是配置哪些用户可以登陆到ftp服务器;

      vsftpd.conf是主要配置;

      如过你现在不做任何配置的修改,你现在就可以访问ftp服务,当然这是匿名访问,没有任何的用户登陆限制,这就说明可能任何人都可以在你的这台ftp服务器上操作上传和下载,也就没有文件的保密性。
             一般来说我们会将某些特定的账户进行ftp登陆的访问、上传、下载等操作,所以我们接下来就将配置以下我们某些特定的用户来进行访问,限制匿名访问我们的ftp服务资源。
             
             首先在当前目录下创建用户访问的资源文件夹FtpResources,编辑配置文件:

      # vi vsftpd.conf 


       

      修改几项配置参数:
          1: anonymous_enable=NO # 这是不可匿名访问
          2: anon_root=/etc/vsftpd/FtpResources # 这是匿名时资源文件访问的主目录
          3:local_root=/etc/vsftpd/FtpResources # 这是非匿名时资源文件访问的主目录
          4: userlist_enable=YES # 在/etc/vsftpd/user_list 文件中列出用户不能访问FTP 服务器
          5: userlist_deny=NO # 当userlist_enable=YES时配置生效,user_list文件才会被使用,当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
         
      ## 当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的 用户都会被拒绝登入;
      ## 当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用 户才会被准许登入
      


      如果你想了解其他的配置信息,自行搜索哈哈哈哈哈哈哈其什么意思。

    3. 创建可以登陆访问ftp的用户
       

      # useradd ftpuser -s /sbin/nologin # 创建ftpuser用户不允许登陆ssh
      # passwd ftpuser # 修改ftpuser的密码
      
      

       

    4.   将刚创建好的用户添加到 /etc/vsftpd/

    5. 重启vsftpd服务
       

      service vsftpd restart

       

    6. 访问会提示你登陆用户名密码,输入正确如果进不到主目录文件夹下,修改以下配置
      进入/etc/pam.d将vsftpd文件中的pam_shells.so改为pam_nologin.so,然后systemctl restart vsftpd重启服务,连接ftp成功

    7. centos下vsftpd不能显示文件,不能创建文件及文件夹

      centos下vsftpd登录正常,但不能显示文件,不能创建文件及文件夹 这是由于selinux的机制

      通过命令 [root@localhost www]# getsebool -a|grep ftp  可以看到如下信息
      
      
      
      allow_ftpd_anon_write --> off
      allow_ftpd_full_access --> off//创建文件及文件夹  
      allow_ftpd_use_cifs --> off
      allow_ftpd_use_nfs --> off
      ftp_home_dir --> off //显示文件夹及文件  
      ftpd_connect_db --> off
      ftpd_use_fusefs --> off
      ftpd_use_passive_mode --> off
      httpd_enable_ftp_server --> off
      tftp_anon_write --> off
      tftp_use_cifs --> off
      tftp_use_nfs --> off

       

      用如下命令把以上信息设为ON

      [root@localhost www]# setsebool allow_ftpd_full_access=1  
      
      之后再用命令 getsebool -a|grep ftp 查看
      
      allow_ftpd_anon_write --> off
      allow_ftpd_full_access --> on//创建文件及文件夹
      allow_ftpd_use_cifs --> off
      allow_ftpd_use_nfs --> off
      ftp_home_dir --> off
      ftpd_connect_db --> off
      ftpd_use_fusefs --> off
      ftpd_use_passive_mode --> off
      httpd_enable_ftp_server --> off
      tftp_anon_write --> off
      tftp_use_cifs --> off
      tftp_use_nfs --> off

      这个时候刷新下ftp,就发现目录都显示出来了,再试试添加目录,添加文件操作都可以进行了,问题解决。

     

    展开全文
  • Linux 搭建 FTP 服务器

    2019-01-24 15:53:46
    企业中linux搭建ftp服务器还是很实用的,所以本文针对CentOS7和CentOS6搭建服务器教程做个总结。 二、安装过程 1、显示如下图则表示已安装 vsftp 软件。如果未显示则需要安装 vsftpd 软件。 如果没有则通过 yum...

    一、前述

    企业中linux搭建ftp服务器还是很实用的,所以本文针对CentOS7和CentOS6搭建服务器教程做个总结。

    二、安装过程

    1、显示如下图则表示已安装 vsftp 软件。如果未显示则需要安装 vsftpd 软件。

    如果没有则通过 yum 源进行安装:

    yum install -y vsftp

    yum -y install  lftp # 本地 ftp 客户端

    2、安装完成之后

    进入到ftp的根目录默认是 /etc/vsftpd/ 文件中进行配置

    SFTP配置文件
    文件名 含义
    /etc/vsftpd/vsftpd.conf vsftpd 的核心配置文件
    /etc/vsftpd/ftpusers 用于指定哪些用户不能访问FTP 服务器。  黑名单
    /etc/vsftpd/user_list 指定允许使用vsftpd 的用户列表文件。  白名单
    /etc/vsftpd/chroot_list 指定允许使用vsftpd 的用户列表文件。  控制名单下的目录能不能离开ftp根目录
    vsftpd.conf具体配置如下
    配置项目名 含义
    anonymous_enable=NO # 允许匿名用户访问为了安全选择关闭
    local_enable=YES # 允许本地用户登录
    write_enable=YES # 是否允许写入
    local_umask=022 # 本地用户上传文件的umask
    dirmessage_enable=YES # 为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
    xferlog_enable=YES # 开启日志
    xferlog_std_format=YES # 标准格式
    connect_from_port_20=YES # 从端口20连接
    xferlog_file=/var/log/xferlog  # ftp日志目录
    idle_session_timeout=6000 # 设置客户端连接时间
    data_connection_timeout=1200 # 设置数据连接时间 针对上传,下载
    chroot_list_file=/etc/vsftpd/chroot_list # 改变根目录
    chroot_list_enable=YES # 若为NO,则记录在chroot_list_file所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot这里YES。
    chroot_local_user=YES # 本地用户
    userlist_deny=NO # 若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项。
    userlist_enable=YES  # 若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求,若为YES则不接受这些用户的请求。
    userlist_file=/etc/vsftpd/user_list # 白名单
    local_root=/var/ftp/pub # 根目录
    listen=YES # 监听端口
    pam_service_name=vsftpd  
    tcp_wrappers=YES  

    3、创建白名单 useradd  xxx passwd xxx 并添加到 user_list 和 chroot_list 中去

    4、关闭防火墙 

    centos 7操作为 systemctl stop firewalld.service 

    centos 6操作位 service stop iptables

    5.启动ftp服务器

    centos 7操作为 /bin/systemctl restart  vsftpd.service

    centos 6操作为 service vsftpd restart

    6.赋权,将ftp指定的根目录赋权为777权限

    chmod 777 /var/ftp/pub

    7.检查SElinux状态并关闭

     getsebool -a | grep ftp

    若centos 7 到此结束用ftp工具即可访问或者本地 ftp 服务器测试,通过 rpm  -ivh 安装包,安装ftp客户端配置。

    若centos 6 则在设置几个权限:

    通过:setsebool httpd_enable_ftp_server 1 设置成如下状态即可。通过 getsebool - a | grep ftp 查看。

    至此搭建成功!!!!

    三、VSFTP服务器实战

    实战1:

    公司技术部准备搭建一台功能简单的FTP 服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。

    分析:

    允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能。

    开启,anon_mkdir_write_enable 字段可以控制是否允许匿名用户创建目录。

    备份原配置文件:

    [root@python vsftpd]# cp vsftpd.conf vsftpd.conf_bak

    [root@python ~]# vim /etc/vsftpd/vsftpd.conf

    允许匿名用户访问:

    anonymous_enable=YES

    允许匿名用户上传文件并可以创建目录:

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES 

    启动服务:

    [root@python ~]# service vsftpd restart

     

     

    [root@python pub]# chown ftp.ftp /var/ftp/pub/

    然后测试,是可以新建文件夹了,但是不能重命名,不能删除!

    [root@python ~]# mkdir /var/ftp/pythondata
    [root@python ~]# chown ftp.ftp /var/ftp/pythondata
    [root@python ~]# ll -d !$
    ll -d /var/ftp/pythondata
    drwxr-xr-x 2 ftp ftp 4096 Mar 16 14:34 /var/ftp/pythondata
    [root@python ~]#

    重启服务:

    [root@python ~]# service vsftpd restart
    Shutting down vsftpd:                                      [  OK  ]
    Starting vsftpd for vsftpd:                                [  OK  ]
    [root@python ~]#

    现在匿名上传的文件是禁止删除的。

     

    这样匿名用户的上传就算成功了。

    注:工作中,匿名用户只是只读访问,写的权限也没有的。

    补充:

    如果想让匿名用户可以重命名或者删除的权限,添加如下一条配置参数:

    重启服务:

    [root@python ~]# service vsftpd restart
    Shutting down vsftpd:                                      [  OK  ]
    Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: anon_other_write_enable   [FAILED]

    根据提示,说明刚才添加的那一行匿名写权限的参数有问题

    [root@python ~]# vim /etc/vsftpd/vsftpd.conf

    也就是说参数后面不能有多余的空格,重新启动就可以重新命名和删除文件夹了,匿名用户可以删除和修改,非常不安全,慎重使用这个参数。

    注意:默认匿名用户目录的权限是755,这个权限是不能改变的。切记!

    [root@python ~]# service vsftpd restart

    实战2:

    公司内部现在有一台FTP 和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等。公司现有两个部门负责维护任务,他们分别适用team1 和team2帐号进行管理。先要求仅允许team1 和team2 帐号登录FTP 服务器,但不能登录本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。

    ftp 和 www web服务器相结合。

    www web服务器根目录:/var/www/html

    只允许:team1和team2两用户可以上传。 vsftp禁止匿名。

    分析:

    将FTP 和WEB 服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次使用chroot 功能将team1和team2 锁定在/var/www/html 目录下。如果需要删除文件则还需要注意本地权限 

    解决方案:

    1)建立维护网站内容的ftp 帐号team1 和team2 并禁止本地登录,然后设置其密码

    [root@python ~]# useradd -s /sbin/nologin team1
    [root@python ~]# useradd -s /sbin/nologin team2
    [root@python ~]# echo "123456" | passwd --stdin team1
    Changing password for user team1.
    passwd: all authentication tokens updated successfully.
    [root@python ~]# echo "123456" | passwd --stdin team2
    Changing password for user team2.
    passwd: all authentication tokens updated successfully.

    2)配置vsftpd.conf 主配置文件并作相应修改

    [root@python vsftpd]# cp vsftpd.conf_bak vsftpd.conf

    cp: overwrite `vsftpd.conf'? y

    [root@python vsftpd]# vim vsftpd.conf

    #anonymous_enable=YES 

    anonymous_enable=NO    禁止匿名用户登录

    # Uncomment this to allow local users to log in.

    local_enable=YES  允许本地用户登录

    继续将:

    修改为:

    local_root=/var/www/html:设置本地用户的根目录为/var/www/html

    chroot_list_enable=YES:激chroot 功能

    chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件。此文件存放要锁定的用户名。

    保存退出

    3)建立 /etc/vsftpd/chroot_list 文件,添加team1 和team2 帐号

    [root@python vsftpd]# touch /etc/vsftpd/chroot_list
    [root@python vsftpd]# ll !$
    ll /etc/vsftpd/chroot_list
    -rw-r--r-- 1 root root 0 Mar 16 15:13 /etc/vsftpd/chroot_list
    [root@python vsftpd]# vim /etc/vsftpd/chroot_list  # 写入以下内容,一行,一个用户名

    team1

    team2

    4)重启vsftpd 服务使配置生效 service vsftpd restart

    5)修改本地权限

    [root@python vsftpd]# mkdir -p /var/www/html/
    [root@python vsftpd]# ll -d /var/www/html/
    drwxr-xr-x 2 root root 4096 Mar 16 15:16 /var/www/html/
    [root@python vsftpd]# chmod -R o+w /var/www/html/
    [root@python vsftpd]# ll -d /var/www/html/
    drwxr-xrwx 2 root root 4096 Mar 16 15:16 /var/www/html/

    6)测试:

    [root@python ~]# lftp 192.168.31.10 -uteam1,123456
    lftp team1@192.168.0.10:~> ls
    drwxr-xr-x    2 500      500          4096 Mar 16 07:24 web
    lftp team1@192.168.0.10:~>

    展开全文
  • LINUX搭建FTP服务器

    2016-08-26 17:17:53
    LINUX搭建FTP服务器1.环境: ->虚拟机版本:VMware® Workstation 10.0.1 build-1379776 ->ftp版本:暂无 ->系统版本:Linux version 2.6.32-358.el6.x86_64 【查询版本命令cat /proc/version】 ->安装方式:yum...
  • linux搭建FTP服务器

    千次阅读 2020-11-27 15:23:58
    FTP服务器搭建 一、 安装vsftpd rpm -q vsftpd,验证是否已安装vsftpd yum install vsftpd,安装vdftpd service vsftpd start,启动ftp服务 此时可匿名访问 /var/ftp/pub 共享目录,若连接被拒绝, 需关闭防火墙...
  • Linux 搭建ftp服务器

    2021-04-07 17:30:32
    适用于:centos7 centos8 1、检查安装vsftpd软件 # rpm -qa |grep vsftpd 可以检测出是否安装了vsftpd软件,如果没有安装,使用YUM命令进行安装 # yum install vsftpd -y 2、启动服务 ...重启ftp

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,280
精华内容 1,312
关键字:

linux搭建ftp服务器

linux 订阅