zoukankan      html  css  js  c++  java
  • 【Linux笔记】CentOS yum 安装 vsftpd

    vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用,下面直接上干货。

    一、安装vsftp

    以管理员的身份使用yum命令安装vsftp:

    [root@localhost ~]#yum install vsftpd

    根据系统yum的不同,可能无法找到软件包源,可以按照这里的方法解决

    二、设置vsftp开机自动启动

    1、查看开机自动启动服务项目

    [root@localhost ~]# chkconfig --list

    2、设置vsftpd服务开机自动启动

    [root@localhost ~]# chkconfig --level 35 vsftpd on

    三、配置环境

    1、添加vsftp账号,指定账号权限

    ■ 添加ftp账号www,指定/home/www为www的宿主目录,该账户号默认不能登陆系统。

    [root@localhost ~]# useradd -s /bin/nologin -d /home/www www  #nologin的位置通常在/usr/sbin/nologin或/sbin/nologin位置,如果指定错误则无法登陆。

    ■ 修改账号密码。

    [root@localhost ~]# passwd www

    ■ 修改指定目录权限。

    [root@localhost ~]# chown -R www /home/www  #-R参数:递归设置/home/www目录及期子目录的所有者为用户www。

    2、配置vsftp

    编辑vsftp的配置文件/etc/vsftpd/vsftpd.conf,修改配置文件相关配置项,如下:

    anonymous_enable=NO  #不允许匿名登陆

    ascii_upload_enable=YES #上传时允许ASCII模式

    ascii_download_enable=YES #下载时允许ASCII模式 

    local_enable=YES  #允许本地用户登录ftp服务器,默认是允许,不包含id为500以下用户陆 

    write_enable=YES  #允许用户具有在ftp服务器文件中具有写的权限

    chroot_local_user=YES  ##是否将所有用户锁定在主目录,YES为启用 NO禁用

    chroot_list_enable=YES  #是否启动锁定用户的名单,YES为启用 NO禁用

    chroot_list_file=/etc/vsftpd/chroot_list  #当chroot_list_enable=YES时,该项有效,禁用的列表名单格式为一行一个用户, 如果名单里面有一个test01的用户, 则test01用户不会锁定在主目录,用户将可以自由切换目录。 

    举例:

    情况一:

    现在有 test1 test2 test3 这三个ftp的用户,想让1跟2用户锁定主目录不允许切换到其他目录, 但是允许3用户自由切换那么/etc/vsftpd/chroot_list列表名单如下:

    test3

    也就说chroot_local_user=YES,并且chroot_list_enable=YES的时候,/etc/vsftpd/chroot_list名单里面添加的是排除锁定主目录的用户名单。

    情况二:

    如果chroot_local_user=NO并且chroot_list_enable=YES的时候,那么/etc/vsftpd/chroot_list列表名单如下:

    test1

    test2

    情况三:

    如果chroot_local_user=YES 并且 chroot_list_enable=NO 的时候那列表名单也就不生效了,因此满足上面的条件时,所有的FTP用户将全部锁定在主目录。

    ls_recurse_enable=YES  #启用递归

    listen=YES  #使用IPV4时设置为YES

    listen_ipv6=NO   #使用IPV6时设置为YES

    local_root=/data/ftproot    #指定根目录,如果未指定,用户的宿主目录将作为FTP主目录

    use_localtime=YES  # use localtime

    seccomp_sandbox=NO     #turn off for seccomp filter ( if you cannot login, add this line )

    3、修改shells配置

    编辑shell的配置文件/etc/shells,如果文件中没有/sbin/nologin或者usr/sbin/nologin,在文件中追加该上即可。

    4、配置防火墙

    编辑/etc/sysconfig/iptables文件,在REJECT行之前添加如下命令:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT  #从上一行中进行复制粘贴后修改端口号为21即可

    添加后保存,然后重启防火墙服务。

    [root@localhost ~]# service iptables restart  #其它命令:service iptables stop停止防止墙服务

    六、启动vsftp并测试登陆

    启动vsftp服务

    [root@localhost ~]# service vsftpd start #其它命令:service vsftpd restart重启FTP服务、service vsftpd stop停止FTP服务

    服务成功启动后,用FTP客户端登陆即可(推荐使用Xshell ),ftpadmin管理目录是/www/web。

    七、错误处理

    1、500 OOPS: cannot change directory:/home/www

    该错误原因是在CentOS系统下默认安装了SELinux,没有开启FTP支持,所以访问时都被阻止了,需要手动开启。

    [root@localhost ~]# getsebool -a|grep ftp   #查看所有ftp设置

    [root@localhost ~]# setsebool ftp_home_dir 1  #setsebool -P ftp_home_dir 1 使用P参数实现重启后ftp_home_dir自动为1

     

  • 相关阅读:
    (杭电 1014)Uniform Generator
    错排公式浅谈(推导+应用)
    (杭电 2045)不容易系列之(3)—— LELE的RPG难题
    (杭电 2046)骨牌铺方格
    (补题 杭电 2044)一只小蜜蜂...
    (杭电 1097)A hard puzzle
    Linux内核实验作业六
    《Linux内核设计与实现》第十八章读书笔记
    实验作业:使gdb跟踪分析一个系统调用内核函数
    k8s标签
  • 原文地址:https://www.cnblogs.com/lyongde/p/3187711.html
Copyright © 2011-2022 走看看