centos7安装ftp

一:安装ftp
1、检查是否安装了 ftp :(下图是已安装的效果,没安装没有展示)
  rpm -qa|grep vsftpd
2、安装指令:(找一个  -y  指令)
  yum install -y vsftpd
3、安装完成后执行步骤1  就可以看到ftp的版本信息
4、安装完成后,启动 FTP 服务:
  service vsftpd start

whereis vsftpd 查看相关信息, /etc/vsftpd 存放配置文件等


5、启动后,可以看到系统已经监听了 21 端口:
  netstat -nltp | grep 21
6、禁用匿名用户
  vi /etc/vsftpd/vsftpd.conf  (anonymous_enable=NO-----yes改为no)
7、保存后重启
  service vsftpd restart
8、设置开机启动
    systemctl enable vsftpd.service
    PS:其他相关命令
    查看服务是否启动 ps -ef|grep ftp 
    停止命令 service vsftpd stop
二、新建用户    
1、创建用户,并指定分组和主目录(根据自己的需求设定参数)
    useradd -d /var/ftp/ftpuser -s /sbin/nologin -G root ftpuser
    解析:
      useradd 添加用户ftpUser
      -d 指定用户根目录为/opt/reconciliation
      -s 指定shell脚本为/sbin/nologin,表示不允许shell登录   (vi /etc/passwd  编辑用户shell权限的地方)
      -g 创建分组ftpGroup
      -G 指定root分组
    PS:相关命令:
    usermod -s /sbin/nologin ftpuser 修改用户登入后所使用的shell
    usermod -s /bin/bash ftpuser
    usermod -d /var/www/html ftpuser 修改用户登入时的主目录
    userdel -r ftpuser 删除指定用户 -r 参数是指删除用户全部文件
2、查看用户
    cat /etc/passwd
3、设定密码
  passwd ftpuser
4、设置访问权限
    chown ftpuser /var/ftp/ftpuser

安装ftp客户端 (便于本地测试,非必须)
rpm -Uvh http://mirror.centos.org/centos/6/os/x86_64/Packages/ftp-0.17-54.el6.x86_64.rpm

三、测试

我是直接安装了ftp客户端,直接在本地测试,当然也可在windos上测试

ftp localhost

连接成功, 可查看当前目录文件

ftp> ls

可切换至上级目录

ftp> cdup

其他常用命令 
    ftp> cd   # 同UNIX的CD命令. 
    ftp> cdup  # 返回上一级目录
    ftp> ls  #查看当前目录文件
    ftp> dir  #查看当前目录文件
    ftp> put  #上传
    ftp> get  #下载 
为安全起见,需要将ftp用户限定于指定文件夹

查看 /etc/vsftpd/vsftpd.conf 配置文件中 chroot_list_enable

cat /etc/vsftpd/vsftpd.conf | grep "chroot_local_user",该项值默认注释,即默认值为NO,不将所有用户限制在主目录。

修改vsftpd.conf,放开注释,再重启ftp服务即可

重新登录

发现报错,500 OOPS: vsftpd: refusing to run with writable root inside chroot(),如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误,因此需要赋予主目录的写权限。添加如下配置即可:

allow_writeable_chroot=YES

修改完配置文件,再重启服务后,再次连接,能登录成功,再次切换至上级目录时,仍停留在主目录,由此,所有配置已完成。

常见报错极解决方案

一、防火墙

阿里云服务器默认端口是未开启的,需要手动配置策略,我就因为端口的问题,掉坑了,

强烈推荐一个小工具 tcpiing,ping 命令不能带端口,tcping最大的一个特点就是可以指定监控的端口。tcping命令使用方法很简单

工具下载使用参考链接:https://www.cnblogs.com/kuoAT/p/7515403.html

centos7 查看防火墙
systemctl status firewalld  
    结果:Active: active (running/dead) 运行/非运行 
启动防火墙 systemctl start firewalld

阻止所有服务器访问1521端口 iptables -I INPUT -p tcp --dport 1521 -j DROP

放行172.17.79.4  iptables -I INPUT -s 172.17.79.4 -p tcp --dport 1521 -j ACCEPT

打开21端口:iptables -I INPUT  -p tcp --dport 21 -j ACCEPT

PS:查看端口占用
ss -lntpd | grep :22
netstat -tnlp | grep :22
netstat -ntulp |grep 80
fuser 22/tcp

二、linux ftp  530 Login incorrect 
解决方案

检查/etc/pam.d/vsftpd,将pam_shells.so 修改为pam_nologin.so 即可

------------------------------------------------------------------------华丽丽的分割线----------------------------------------------------------------------------

附注:

很多文章配置时都提到了 userlist_enable、userlist_deny以及chroot_local_user 、chroot_list_enable,多半都没说清楚,反而导致了很多问题,根据我踩过的坑,将详细的说明附注如下:

(一)

vsftpd.ftpusers:位于/etc/vsftpd目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpd.user_list:位于/etc/vsftpd目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。

userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户
这三类用户集合进行的设置。
当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,
本地全体用户(除去ftpusers中的用户)都可以登入FTP
当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);
另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous

(二)

chroot_local_user 
是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)
chroot_list_enable 
是否启动限制用户的名单 YES为启用 NO禁用(包括注释掉也为禁用)
chroot_list_file=/etc/vsftpd/chroot_list 
是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于chroot_local_user的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值