精华内容
下载资源
问答
  • 自己搭建的ftp只能自己访问
    2021-09-10 09:52:58

    1. 安装vsftpd

    检查是否安装了Vsftpd

    rpm -qa | grep vsftpd
    

    如果没有安装使用下面命令安装

    sudo apt-get install vsftpd
    

    启动vstfpd服务

    /bin/systemctl start vsftpd.service
    /bin/systemctl restart vsftpd.service
    

    2. 配置权限文件

    sudo vi /etc/vsftpd.conf
    

    注意下面取消注释的部分

    # Example config file /etc/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.
    #
    #
    # Run standalone?  vsftpd can run either from an inetd or as a standalone
    # daemon started from an initscript.
    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.
    listen_ipv6=YES
    #
    # Allow anonymous FTP? (Disabled by default).
    #是否允许匿名登录ftp服务器,不允许。
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    #是否允许本机用户登录
    local_enable=YES
    #
    # Uncomment this to enable any form of FTP write command.
    #是否允许上传文件到ftp服务器,我这里只提供下载服务
    write_enable=NO
    #
    # 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.
    #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
    #
    # If enabled, vsftpd will display directory listings with the time
    # in  your  local  time  zone.  The default is to display GMT. The
    # times returned by the MDTM FTP command are also affected by this
    # option.
    # 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
    use_localtime=YES
    #
    # Activate logging of uploads/downloads.
    # 启用记录上传/下载活动日志功能
    xferlog_enable=YES
    #
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    # 启用FTP数据端口的连接请求
    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/vsftpd.log
    #
    # 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.
    # 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=Welcome to blah FTP service.
    #
    # 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 restrict local users to their home directories.  See the FAQ for
    # the possible risks in this before using chroot_local_user or
    # chroot_list_enable below.
    #chroot_local_user=YES
    #
    # 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)
    # 限定用户只能在自己的目录中进行操作,不能查看根目录信息
    chroot_local_user=YES
    # 如果设置了chroot_local_user=YES,chroot_list_enable中设定哪些用户排除在外,即这些用户可以访问根目录
    chroot_list_enable=YES
    # (default follows) 允许chroot_list文件中配置的用户登录此ftp服务器。
    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
    #
    # Customization
    #
    # Some of vsftpd's settings don't fit the filesystem layout by
    # default.
    #
    # This option should be the name of a directory which is empty.  Also, the
    # directory should not be writable by the ftp user. This directory is used
    # as a secure chroot() jail at times vsftpd does not require filesystem
    # access.
    secure_chroot_dir=/var/run/vsftpd/empty
    #
    # This string is the name of the PAM service vsftpd will use.
    pam_service_name=vsftpd
    #
    # This option specifies the location of the RSA certificate to use for SSL
    # encrypted connections.
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    ssl_enable=NO
     
    #
    # Uncomment this to indicate that vsftpd use a utf8 filesystem.
    utf8_filesystem=YES
    

    更多参数解释:
    https://www.cnblogs.com/fly-allblue/p/3569252.html

    编辑完成之后需要重启vsftpd服务

    /bin/systemctl restart vsftpd.service
    

    3. 新建用户

    sudo groupadd ftpusers	 //创建ftpusers用户组
    sudo useradd -m ftpuser_lxr	//创建一个用户并且自动创建家目录为/home/ftpuser_lxr
    usermod -G ftpusers ftpuser 	//将这个新用户加入到ftpusers用户组中
    sudo passwd ftpuser	//更改密码
    mkdir /home/ftpuser_lxr/ftp 	 //为用户添加一个具有一定权限的文件夹
    chmod 777 -R /home/ftpuser_lxr/ftp	 //新建一个pub目录用于存放文件,并且赋予全部权限
    usermod -s /sbin/nologin ftpuser		//限制用户登录方式;限制用户username只能通过ftp登陆,而不能直接登陆服务器
    

    4. 测试连接(filezilla)

    4.1 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

    连接报错原因:从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

    解决方法:

    sudo vim /etc/vsftpd.con
    

    在末尾添加

    allow_writeable_chroot=YES
    

    4.2 使用mount将其他位置的数据放在该用户目录下,使该用户可访问该数据

    sudo mount --bind source_file target_fileplace
    

    也可以使用chmod改变数据的权限,使其他人只有读权限

    sudo chmod 752 source_file 
    
    更多相关内容
  • Linux下搭建ftp服务器

    2021-01-10 20:10:47
    设置该用户只能使用ftp而不能通过ssh或其他协议登录进来 usermod -s /sbin/nologin huoher 由于用户是ftp的,不是正常的登录用户,修改其用户主目录(我的是/mnt) usermod -d /mnt huoher 设置用
  • 我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了...
  • 1、安装vsftp 防止后面出现500错误,先把selinux关闭 vim /etc/selinux/config 将SELINUX=enforcing修改为SELINUX=disabled ...配置用户只能访问指定目录 开启被动模式 限制被动模式端口范围 对应配置 关

    1、安装vsftp

    防止后面出现500错误,先把selinux关闭

    vim /etc/selinux/config
    

    将SELINUX=enforcing修改为SELINUX=disabled
    修改完后,需要重启服务器才能生效,reboot一下

    开始安装

    yum install -y vsftpd
    

    在这里插入图片描述

    直接用yum安装就好

    然后systemctl查看一下状态

    systemctl status vsftpd
    

    在这里插入图片描述

    2、配置

    关闭匿名登录
    配置用户只能访问指定目录
    开启被动模式
    限制被动模式端口范围

    对应配置
    关闭匿名登录可以需要改,其他的在配置文件末尾追加
    进入目录

    cd /etc/vsftpd/
    

    在这里插入图片描述

    vim vsftpd.conf
    

    关闭匿名登录
    anonymous_enable=YES改为anonymous_enable=NO
    在这里插入图片描述
    配置用户只能访问指定目录,在文件末尾追加,这段配置的意思是,未配置在**/etc/vsftpd/chroot_list**文件中的账号,只能访问创建账号时指定的目录

    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    allow_writeable_chroot=YES
    
    

    **注意:**chroot_list文件需要手动创建,先保存配置文件,创建chroot_list文件

    touch chroot_list
    chmod 777 chroot_list
    

    如果不需要能访问所有目录的账号,则chroot_list为空,否则,只需要将账号名写在chroot_list中,一个账号一行,例如root账号和admin。
    在这里插入图片描述
    创建完毕文件后,继续修改配置

    开启被动模式
    限制被动模式端口范围

    pasv_enable=YES
    pasv_min_port=30000
    pasv_max_port=30020
    
    

    在这里插入图片描述
    修改完成,:wq保存一下

    修改pam.d/vsftpd文件

    如果只是修改了上面的配置,登录账号是会出现530错误的

    /etc/pam.d
    

    用vim打开,注释掉auth required pam_shells.so
    在这里插入图片描述
    启动vsftp

    systemctl start vsftpd
    

    创建账号

    创建账号并指定用户根目录,并禁止ssh登录,只能登录FTP

    useradd -d /home/ftp -s /bin/false ftpuser
    

    -d:指定目录
    -s:禁止登录

    设置密码

    passwd ftpuser
    

    在这里插入图片描述

    测试

    使用FileZilla连接FTP
    在这里插入图片描述

    小结

    追加的配置项

    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    allow_writeable_chroot=YES
    
    pasv_enable=YES
    pasv_min_port=30000
    pasv_max_port=30020
    
    

    创建用户

    useradd -d /home/ftp -s /bin/false ftpuser
    passwd ftpuser
    

    记得将vsftpd添加自启动

    systemctl enable vsftpd
    
    展开全文
  • 今天小编就为大家分享一篇关于图文详解Ubuntu搭建Ftp服务器的方法(包成功),小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • Linux搭建ftp服务器.docx

    2021-06-17 10:59:05
    Linux搭建ftp服务器
  • 一、搭建FTP服务 1、打开控制面板 2、点击—程序 3、点击—启用或者关闭windows功能 4、勾选“Internet information services“,勾选FTP服务器。点击—确定。如图所示 5、点击此电脑—右键—管理,找到服务和...

    一、搭建FTP服务

    1、打开控制面板
    在这里插入图片描述
    2、点击—程序
    在这里插入图片描述
    3、点击—启用或者关闭windows功能
    在这里插入图片描述
    4、勾选“Internet information services“,勾选FTP服务器。点击—确定。如图所示
    在这里插入图片描述
    5、点击此电脑—右键—管理,找到服务和应用程序
    在这里插入图片描述
    6、双击服务和应用程序,双击Internet information services。如图所示
    在这里插入图片描述
    7、如何FTP站点名称,选择文件分享路径,点击下一步
    在这里插入图片描述
    8、IP地址选择本机IP地址。SSL选择—无SSL
    在这里插入图片描述
    9、身份验证勾选—匿名,允许访问—选择所有用户,权限—选择读取
    在这里插入图片描述
    10、点击FTP身份验证,查看验证的方式
    在这里插入图片描述
    11、两个身份解释,如图所示
    在这里插入图片描述
    至此FTP服务器已经搭建完成,本机电脑可以进行FTP服务器的访问。

    因为本机电脑默认不允许其他电脑访问,因此如果需要其他电脑一起访问,则需要开启权限。
    并且其他电脑要和你的电脑在同一个局域网下。

    二、允许其他电脑访问本机FTP服务器

    1、打开控制面板,点击”系统和安全“。
    在这里插入图片描述
    2、点击”windows defender 防火墙“
    在这里插入图片描述
    3、点击”允许应用或功能通过Windows defender防火墙“
    在这里插入图片描述
    4、点击”更改设置“,再找到FTP服务器,并将其勾选上,最后点击”允许其他应用“。如图所示
    在这里插入图片描述
    5、点击”浏览“
    在这里插入图片描述
    6、找到如图所示路径,并在该路径下找到svchost.exe应用程序,点击打开。
    在这里插入图片描述
    7、点击”添加“
    在这里插入图片描述
    8、添加完成会,会在”允许的应用和功能“下新增”windows服务主进程“这个功能。勾选这个功能,并且勾选后面的两个”专用“、”公用“,点击确定。
    在这里插入图片描述
    到这里完成之后,在同一个局域网里面的所有电脑均可以访问你本机的FTP服务器,并且可以下载。
    如果需要其他电脑拥有上传文件的权限,可以在FTP的站点服务器里面进行设置。、

    有什么问题大家可以在下方留言。

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

    千次阅读 2022-04-10 16:46:16
    1. 搭建ftp服务器 1.1 .安装vsftpd软件 1.1.1 查看vsftpd软件的信息: 1. 2 .启动vsftpd软件 1.2.1 如何知道一个进程已经启动? 1.查看进程 2.查看端口号 1.3. 登录ftp服务 1.3.1 下载客户端工具 ftp和lftp ...

    目录

    1. 搭建ftp服务器

    1.1 .安装vsftpd软件

    1.1.1  查看vsftpd软件的信息:

    1. 2  .启动vsftpd软件

    1.2.1  如何知道一个进程已经启动?

    1.查看进程

    2.查看端口号

    1.3. 登录ftp服务

    1.3.1  下载客户端工具 ftp和lftp

    1.3.2  登录lftp

    1.3.3  查看lftp常用命令:

    1.3.4  lcd命令 : 在本地切换目录

    1.3.5  !ls : 查看本地目录内容

    1.3.6  put命令 上传文件到ftp服务器·

    1.3.7 mirror命令 下载文件夹到本地 

    2.  了解ftp服务的配置文件 /etc/ftp/vsftpd

    2.1  vsftpd.conf 主配置文件

    2.1.1  一些常用配置:

    是否允许匿名用户ftp登录,YES代表允许,NO不允许

    是否允许本地登录

    是否有写的权利

    日志文件位置

    2.2  ftpusers : ftp黑名单

    2.3  user_list 黑名单或白名单

    2.4  限制用户只能在自己家目录操作

    示例 :新建用户bobo测试能否登陆

    1.给bobo家目录去除写的权限。

    linux系统的selinux可能会影响你的登陆

    2.修改vsftpd.conf 文件

    3. 使用ftp服务在linux和windows传文件

    3.1   使用linux向windows传文件。

    1.关闭防火墙

    2.启动vsftpd 服务

    3.登录ftp服务

     3.2  使用windows向linux传文件。


    ftp 服务:

    实现ftp功能的一个服务,安装vsftpd软件搭建一台ftp服务器

    ftp协议:

    文件传输协议 (file transfer protocol),在不同的机器之间实现文件传输功能,

    例如

    视频文件下载,源代码文件下载

    公司内部:弄一个专门的文件服务器,将公司里的文档资料和视频都存放在服务器里面,所有的同事都可以去下载,起到集中存放文件的地方

    1. 搭建ftp服务器

    1.1 .安装vsftpd软件

    yum install vsftpd -y

    1.1.1  查看vsftpd软件的信息:

    rpm -qi vsftpd

    [root@localhost ~]# rpm -qi vsftpd
    Name        : vsftpd
    Version     : 3.0.2
    Release     : 29.el7_9
    Architecture: x86_64
    Install Date: 2022年04月09日 星期六 00时40分08秒
    Group       : System Environment/Daemons
    Size        : 361349
    License     : GPLv2 with exceptions
    Signature   : RSA/SHA256, 2021年06月11日 星期五 23时06分15秒, Key ID 24c6a8a7f4a80eb5
    Source RPM  : vsftpd-3.0.2-29.el7_9.src.rpm
    Build Date  : 2021年06月10日 星期四 00时15分50秒
    Build Host  : x86-02.bsys.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem http://bugs.centos.org
    Vendor      : CentOS
    URL         : https://security.appspot.com/vsftpd.html
    Summary     : Very Secure Ftp Daemon
    Description :
    vsftpd is a Very Secure FTP daemon. It was written completely from
    scratch.

    vsftpd is a Very Secure FTP daemon.

    vsftpd 是一个非常安全的ftp守护进程

    daemon : 守护进程

    守护进程:一直在内存里运行的进程,不会自动停止,除非人为停止,一般是对外提供服务的。

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

    1. 2  .启动vsftpd软件

    service vsftpd start(centos 7)

    [root@localhost ~]# service vsftpd start
    Redirecting to /bin/systemctl start vsftpd.service
    

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

    1.2.1  如何知道一个进程已经启动?

    1.查看进程

    ps aux | grep vsftpd

    [root@localhost ~]# ps aux | grep vsftpd
    root       1690  0.0  0.0  53292   580 ?        Ss   00:45   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    root       1692  0.0  0.0 112824   980 pts/0    S+   00:46   0:00 grep --color=auto vsftpd
     	

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

    2.查看端口号

    netstat -anplut | grep vsftpd

    [root@localhost network-scripts]# netstat -anplut | grep vsftpd
    tcp6       0      0 :::21                   :::*                    LISTEN      1888/vsftpd
    

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

    1.3. 登录ftp服务

    1.3.1  下载客户端工具 ftp和lftp

    [root@localhost ~]# yum install ftp lftp -y
    已安装:
    ftp.x86_64 0:0.17-67.el7      lftp.x86_64 0:4.4.8-12.el7_8.1
    作为依赖被安装:
    gnutls.x86_64 0:3.3.29-9.el7_6   nettle.x86_64 0:2.7.1-9.el7_9
    trousers.x86_64 0:0.3.14-2.el7
    完毕!

    ftp访问:

    默认情况下不允许root用户登录

    vsftpd 使用的用户名和密码就是linux系统里面使用分用户和密码,不需要单独新建

    [root@localhost ~]# lftp 10.107.12.224
    lftp 10.107.12.224:~> ls
    `ls' at 0 [正在连接...]
    中断
    lftp 10.107.12.224:~> exit

    我们可以新建一个用户来测试ftp服务

    新建用户sc

    [root@localhost ~]# useradd sc
    [root@localhost ~]# echo 123|passwd sc --stdin
    更改用户 sc 的密码 。
    passwd:所有的身份验证令牌已经成功更新。

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

    1.3.2  登录lftp

    ftp使用的命令和linux基本相同,我们在ftp新建的文件夹都是存放在服务器上面的。

    格式: lftp -u  用户名,密码 ip地址

    [root@localhost ~]# lftp -u sc,123 10.107.12.244
    lftp sc@10.107.12.244:~> ls
    lftp sc@10.107.12.244:~> pwd
    ftp://sc:123@10.107.12.244/%2Fhome/sc
    lftp sc@10.107.12.244:~> mkdir sanchuang
    mkdir 成功, 建立 `sanchuang'
    lftp sc@10.107.12.244:~> ls
    drwxr-xr-x    2 1000     1000            6 Apr 08 17:01 sanchuang
    

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

    1.3.3  查看lftp常用命令:

    lftp sc@10.107.12.244:~> help
    !<shell-command>                     (commands)
    alias [<name> [<value>]]             attach [PID]
    bookmark [SUBCMD]                    cache [SUBCMD]
    cat [-b] <files>                     cd <rdir>
    chmod [OPTS] mode file...            close [-a]
    [re]cls [opts] [path/][pattern]
    debug [<level>|off] [-o <file>]      du [options] <dirs>
    exit [<code>|bg]
    get [OPTS] <rfile> [-o <lfile>]      glob [OPTS] <cmd> <args>
    help [<cmd>]
    history -w file|-r file|-c|-l [cnt]  jobs [-v] [<job_no...>]
    kill all|<job_no>                    lcd <ldir>
    lftp [OPTS] <site>                   ln [-s] <file1> <file2>
    ls [<args>]                          mget [OPTS] <files>
    mirror [OPTS] [remote [local]]       mkdir [-p] <dirs>
    module name [args]                   more <files>
    mput [OPTS] <files>                  mrm <files>
    mv <file1> <file2>                   [re]nlist [<args>]
    open [OPTS] <site>
    pget [OPTS] <rfile> [-o <lfile>]
    put [OPTS] <lfile> [-o <rfile>]      pwd [-p]
    queue [OPTS] [<cmd>]                 quote <cmd>
    repeat [OPTS] [delay] [command]      rm [-r] [-f] <files>
    rmdir [-f] <dirs>                    scache [<session_no>]
    set [OPT] [<var> [<val>]]            site <site-cmd>
    source <file>
    torrent [-O <dir>] <file|URL>...     user <user|URL> [<pass>]
    wait [<jobno>]                       zcat <files>
    zmore <files>
    

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

    1.3.4  lcd命令 : 在本地切换目录

    1.3.5  !ls : 查看本地目录内容

    lftp sc@10.107.12.244:~> lcd /boot
    lcd 成功, 本地目录=/boot
    lftp sc@10.107.12.244:~> !ls
    config-3.10.0-1160.el7.x86_64
    efi
    grub
    grub2
    initramfs-0-rescue-649c8558acc34bc7b450781cc67d2041.img
    initramfs-3.10.0-1160.el7.x86_64.img
    initramfs-3.10.0-1160.el7.x86_64kdump.img
    symvers-3.10.0-1160.el7.x86_64.gz
    System.map-3.10.0-1160.el7.x86_64
    vmlinuz-0-rescue-649c8558acc34bc7b450781cc67d2041
    vmlinuz-3.10.0-1160.el7.x86_64
    

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

    1.3.6  put命令 上传文件到ftp服务器·

    lftp sc@10.107.12.244:~> put initramfs-3.10.0-1160.el7.x86_64.img
    21721039 bytes transferred
    lftp sc@10.107.12.244:~> ls
    -rw-r--r--    1 1000     1000     21721039 Apr 08 17:06 initramfs-3.10.0-1160.el7.x86_64.img
    drwxr-xr-x    2 1000     1000            6 Apr 08 17:01 sanchuang
    

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

    1.3.7 mirror命令 下载文件夹到本地 

    lftp sc@10.107.12.244:~> mirror sanchuang/
    Total: 1 directory, 0 files, 0 symlinks
    lftp sc@10.107.12.244:~> !ls
    config-3.10.0-1160.el7.x86_64
    efi
    grub
    grub2
    initramfs-0-rescue-649c8558acc34bc7b450781cc67d2041.img
    initramfs-3.10.0-1160.el7.x86_64.img
    initramfs-3.10.0-1160.el7.x86_64kdump.img
    sanchuang
    symvers-3.10.0-1160.el7.x86_64.gz
    System.map-3.10.0-1160.el7.x86_64
    vmlinuz-0-rescue-649c8558acc34bc7b450781cc67d2041
    vmlinuz-3.10.0-1160.el7.x86_64
    

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

    2.  了解ftp服务的配置文件 /etc/ftp/vsftpd

    [root@localhost ~]# cd /etc/vsftpd
    [root@localhost vsftpd]# ls
    ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
    

     一般下载vsftpd服务后有四个重要的配置文件

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

    2.1  vsftpd.conf 主配置文件

    2.1.1  一些常用配置:

    是否允许匿名用户ftp登录,YES代表允许,NO不允许

    anonymous_enable=YES

    是否允许本地登录

    local_enable=YES

    是否有写的权利

    write_enable=YES

    日志文件位置

    xferlog_file=/var/log/xferlog 采用标准的日志格式

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

    2.2  ftpusers : ftp黑名单

    如果想让一个用户登录不了ftp服务,可以将用户加入黑名单

    [root@localhost vsftpd]# cat ftpusers
    Users that are not allowed to login via ftp
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody
    

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

    2.3  user_list 黑名单或白名单

    If userlist_deny=NO, only allow users in this file

    只有 userlist_deny=NO的时候,在这个文件里面所有的用户都可以使用ftp服务,这个时候文件就从黑名单变成白名单,

    [root@localhost vsftpd]# cat user_list
    vsftpd userlist
    If userlist_deny=NO, only allow users in this file
    If userlist_deny=YES (default), never allow users in this file, and
    do not even prompt for a password.
    Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
    for users that are denied.
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody
    

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

    2.4  限制用户只能在自己家目录操作

    如果让普通用户可以随便切换目录的话及其不安全

    所以一般可以修改配置文件将用户限制在自己的家目录

    在 vsftpd.conf 配置文件里面修改以下配置

    chroot_list 文件默认不存在,需要在 /etc/vsftpd/下新建

    #对本地用户限制在自己的家目录里
    chroot_local_user=YES  
    #启用限制名单
    chroot_list_enable=YES
    (default follows)
    # 具体的名单路径,这个名单的用户不受限制,可以随意切换目录
    chroot_list_file=/etc/vsftpd/chroot_list
    #这个目录没有,需要自己新建。

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

    示例 :新建用户bobo测试能否登陆

    1.修改上述配置

    2.在/etc/vsftpd 下面新建文件 chroot_llist 

    3.使用bobo用户登录

    [root@localhost vsftpd]# useradd bobo
    [root@localhost vsftpd]# echo 123|passwd bobo --stdin
    更改用户 bobo 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    [root@localhost vsftpd]# lftp -u bobo,123 192.168.44.132
    lftp bobo@192.168.44.132:~> ls
    ls: 登录失败: 500 OOPS: chroot     
    lftp bobo@192.168.44.132:~> cd /home
    cd: 登录失败: 500 OOPS: chroot      
    lftp bobo@192.168.44.132:~> 
    

    会出现提示信息:500 oops:chroot

    从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 

    所以如果我们开启了限制用户在家目录的话,如果用户对家目录还有写权限的话就会报错

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

    解决方法:

    1.给bobo家目录去除写的权限。

    去除写的权利以后这类用户只能下载不能上传。

    chmod -w bobo

    [root@localhost home]# ll | grep bobo
    drwx------. 2 bobo        bobo         83 4月  10 19:39 bobo
    [root@localhost home]# chmod -w bobo
    [root@localhost home]# ll | grep bobo
    dr-x------. 2 bobo        bobo         83 4月  10 19:39 bobo
    

    去除写的权利以后bobo用户就可以正常登陆,并且被限制在了家目录, 

    如果想让bobo用户正常切换路径可以将bobo恢复写的权限以后添加到chroot_list 文件里面

    注意:

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

    linux系统的selinux可能会影响你的登陆

    selinux是linux的一个内核模块,是linux的安全子系统。

    SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

    我们可以手动关闭它

    getenforce  查看selinux状态

    Enforcing 是代表强制的意思

    setenforce 0 关闭selinux (临时)

    Permissive 是放纵的,任由,

    [root@localhost vsftpd]# getenforce 
    Enforcing
    [root@localhost vsftpd]# setenforce 0
    [root@localhost vsftpd]# getenforce 
    Permissive
    

    然后就可以正常登陆操作了。

    可以看到我们正常登陆以后bobo用户就被限制在了家目录下面,不能随意切换目录了。

    [root@localhost home]# ll | grep bobo
    drwx------. 2 bobo        bobo         83 4月  10 19:39 bobo
    [root@localhost home]# chmod -w bobo
    [root@localhost home]# ll | grep bobo
    dr-x------. 2 bobo        bobo         83 4月  10 19:39 bobo
    [root@localhost vsftpd]# lftp -u bobo,123 192.168.44.132
    lftp bobo@192.168.44.132:~> ls
    lftp bobo@192.168.44.132:/> ls     
    lftp bobo@192.168.44.132:/> cd /home
    cd: Access failed: 550 Failed to change directory. (/home)
    lftp bobo@192.168.44.132:/> cd /root
    cd: Access failed: 550 Failed to change directory. (/root)
    lftp bobo@192.168.44.132:/> cd /lianxi
    cd: Access failed: 550 Failed to change directory. (/lianxi)
    lftp bobo@192.168.44.132:/> cd /var/ftp/pub
    cd: Access failed: 550 Failed to change directory. (/var/ftp/pub)
    
    
    

    注:这个时候我们还是可以使用lcd命令来切换本地的路径

    但是我们依旧不能对文件进行操作。

    lftp bobo@192.168.44.132:/> lcd /lianxi/ftp
    lcd 成功, 本地目录=/lianxi/ftp
    lftp bobo@192.168.44.132:/> !ls
    1111.txt  rr.sh
    lftp bobo@192.168.44.132:/> mkdir bobo.sh
    mkdir: Access failed: 550 Create directory operation failed. (bobo.sh)
    lftp bobo@192.168.44.132:/> !ls
    1111.txt  rr.sh
    

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

    2.修改vsftpd.conf 文件

    添加allow_writeable_chroot=YES

    添加这条规则

    chroot_local_user=YES
    chroot_list_enable=YES
    # (default follows)
    chroot_list_file=/etc/vsftpd/chroot_list
    allow_writeable_chroot=YES
    

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

    3. 使用ftp服务在linux和windows传文件

    3.1   使用linux向windows传文件。

    搭建一个ftp服务,

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

    1.关闭防火墙

    service firewalld stop

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

    2.启动vsftpd 服务

    service vsftpd restart

    将 rr.sh 复制到 /var/ftp/pub 目录下面

    root@localhost lianxi2]# cp rr.sh /var/ftp/pub/
    
    [root@localhost lianxi2]# cd /var/ftp/pub/
    
    [root@localhost pub]# ls
    
    rr.sh

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

    3.登录ftp服务

    这里新建一个用户hang

    登录lftp客户端

    可以看到这是因为我们开启了设置用户只能在自己家目录下面

    [root@localhost vsftpd]# useradd hang
    [root@localhost vsftpd]# echo 123 |  passwd hang --stdin
    更改用户 hang 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    [root@localhost vsftpd]# lftp -u hang,123 192.168.44.132
    lftp hang@192.168.44.132:~> ls
    lftp hang@192.168.44.132:/> cd /var/ftp/pub
    cd: Access failed: 550 Failed to change directory. (/var/ftp/pub)
    
    

    解决方法:将 用户hang 加入到 /etc/vsftpd/chroot_list文件里

    [root@localhost vsftpd]# vim chroot_list 

    添加以后hang用户就可以切换到/var/ftp/pub目录了。

    [root@localhost vsftpd]# lftp -u hang,123 192.168.44.132
    lftp hang@192.168.44.132:~> cd /var/ftp/pub
    cd 成功, 当前目录=/var/ftp/pub             
    lftp hang@192.168.44.132:/var/ftp/pub> ls
    -rw-r--r--    1 0        0               0 Apr 10 08:32 1111.txt
    -rw-r--r--    1 0        0             621 Mar 09 01:04 rr.sh
    

    可以看到该目录下面有两个文件,

    然后用在windows里面用浏览器访问ftp服务

    注意:一定要关闭防火墙!

    点击文件就可以下载了。

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

     3.2  使用windows向linux传文件。

    使用资源浏览器访问ftp服务器

    ftp://192.168.44.132/

    右击登录

     

     登录成功以后将要上传的文件拖进来就可以啦

     在windows上传的文件保存在该登录用户的家目录里面。

    [root@localhost pub]# cd /home/hang
    [root@localhost hang]# ls
    面试???txt
    

    这样就实现了windows和linux里面互传文件。

    展开全文
  • Win10 搭建FTP服务器在局域网内访问

    千次阅读 2021-10-15 13:13:41
    Win10 搭建FTP服务器在局域网内访问
  • centos搭建FTP服务器

    2021-10-11 09:39:30
    什么是FTP? 文件传输协议(File Transfer Protocol,FTP)该协议工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层。因为需要可靠的连接,使用 TCP 传输,使用的默认端口是:20、21。 20端口作为数据传输,21...
  • Linux搭建FTP服务器

    千次阅读 2021-11-04 18:01:50
    一、检查ftp服务是否安装
  • 主要介绍了详解在Ubuntu下搭建FTP服务器,,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • 本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置,需要的朋友可以参考下
  • Linux中如何搭建FTP服务

    千次阅读 2021-11-27 13:59:57
    文章目录如何搭建FTP服务,并设置匿名用户访问FTP服务的最大权限设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)修改匿名用户,本地用户登录的默认根目录设置白名单,仅...
  • 一个是在局域网内可以通过文件资源管理器访问ftp站点,但是却无法从浏览器中打开 ![图片说明](https://img-ask.csdn.net/upload/202004/19/1587266444_182055.png) 另一个问题是从外网根本无法访问,这也是最...
  • 我脑壳要炸了,求解 ##2 标题Server2008 r2搭建FTP服务器以及不同用户访问权限 因为这一问题,我脑壳要裂开了,求解。。。 请问用Server2008r2搭建FTP服务器并设置不同用户...普通用户只能访问不能修改文件夹) ...
  • ftp服务的搭建以及运用vsftp的方式配置用户权限
  • 花生壳服务目前的用户量已达1600万以上,广泛应用于网站建设、视频监控、遥感测绘、FTP、...现在我们以实例讲解如何使用花生壳来协助搭建FTP服务,从而实现FTP服务的外网访问。 需要使用的软件工具:花生壳8客户端和SE
  • 这个教程是我通过总结尝试,花费大量时间整理出来的用于搭建LAMP环境的方法,网上有很多教程,但是都不是缺这就是缺那,也有很多教程讲得也不是很明白,对于新手来讲一脸懵逼,通过这个教程相信绝大多数朋友都可以...
  • Ubuntu 搭建Ftp服务器

    千次阅读 2022-01-14 16:27:18
    一、搭建服务器 1、准备工作 (1)给服务器创建一个目录 mkdir /home/ftpServer/ftprepository (2)创建匿名访问目录 新建一个目录anonymous,用来存放用户上传的文件,并修改目录的权限: cd /home/ftpServer/...
  • Centos7 搭建FTP服务器

    千次阅读 2022-02-17 15:42:08
    Centos 7 搭建FTP服务器 1.FTP简述 文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。 FTP 基于TCP协议生成一个虚拟的连接,主要用于控制FTP连接...
  • FTP通道解释FTP包含了两个通道,一个叫控制通道,一个叫数据通道;控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。数据通道:数据通道是和FTP服务器进行文件传输...
  • CentOS7-搭建Ftp服务

    2022-01-17 12:05:09
    安装 yum -y install vsftpd...如果是用户登录那么共享目录是: linux用户自己的目录 cd ~ 配置文件: /etc/vsftpd {ftpuser黑名单,user_list(白名单),vsftpd.conf(核心配置文件)} 日志文件: /var/log/xferlog 启动: syst
  • linux下搭建ftp服务器实验报告借鉴.pdf
  • 内网搭建FTP

    2021-02-27 17:46:21
    ftpd_banner=welcome to ftp service #设置连接服务器后的欢迎信息 idle_session_timeout=60 #限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒) data_connection_timeout=120 #...
  • linux下vsftp搭建ftp方法并且限制只能访问自己目录 1、yum -y install vsftpd 2、service vsftpd restart 3、添加账户并指定家目录: adduser -s /sbin/nologin -d /home/ftp1 aaaa adduser -s /sbin/nologin -d /...
  • 对于Linux搭建服务器步骤详解:可以基于匿名访问、本地用户访问、虚拟用户访问 FTP服务访问可分为三种FTP服务器的配置。 1、安装FTP服务 2、配置FTP服务匿名访问ftp服务器时进入开启允许匿名用户登录 进入配置文件 ...
  • 本文是基于Windows Server 2016 搭建FTP服务器的方法,包括搭建过程中可能出现的错误及解决办法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,820
精华内容 6,328
关键字:

自己搭建的ftp只能自己访问