Linux搭建ftp服务器

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,就发现目录都显示出来了,再试试添加目录,添加文件操作都可以进行了,问题解决。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闫 先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值