Linux CentOS 7 安装配置vsftp

  学习Linux时间不长,首次安装了vsftp,按照网上的各类帖子尝试配置,不过都没打到预期,不是被拒绝链接,就是链接超时,总之就是各类问题啊。固然了,不是别人配置的不对,而是本身不是太懂Linux,选择的配置参数彼此之间不知道哪里起了冲突。linux

  因此结合本身的系统把安装配置过程记录下来,方便之后学习总结。shell

 

  一、 安装vsftpdide

  # yum install vsftpd  学习

  【删除指令 yum remove vsftp*】测试

 

  2.、查看是否已经安装上了spa

  # yum list installed | grep vsftpdcode

  vsftpd.x86_64                           3.0.2-25.el7                   @base进程

 

  三、启动vsftp,而且关闭防火墙以方便测试ip

  # systemctl start vsftpdci

  # systemctl stop firewalld

 

  四、刚安装完vsftp后,/etc/vsftpd/下的文件ftpusers,user_list,vsftpd.conf,vsftpd_conf_migrate.sh。

  默认状况下,vsftp是容许匿名链接的,即不输入用户名和密码直接经过ip就能够链接上。

  默认的链接目录是/var/ftp/pub,而且只有550的权限。

 

  五、只作简单修改,只为能按预期链接ftp。只允指定用户进行登陆而且只能访问本身的home目录

  chroot_local_user=NO  (用于指定用户列表文件中的用户是否容许切换到上级目录)

  chroot_list_enable=YES  (设置是否启用chroot_list_file配置项指定的用户列表文件)

  chroot_list_file=/etc/vsftpd/chroot_list  (用于指定用户列表文件,须要本身手动建立)

  hide_file = .*  (不显示以点开头的隐藏文件)

  

  而后使用系统的本地用户进行登陆,链接不成功,提示以下错误:

  500 OOPS: chroot

  please specify the password

  解决方法:关闭SElinux;修改配置文件/etc/vsftpd/vsftpd.conf添加参数:allow_writeable_chroot=YES

  实现预期效果。

 

  六、临时关闭Selinux方法

  # getenforce  //查看Selinux状态

  Enforcing

  # setenforce 0 //临时关闭Selinux,当即生效

  # getenforce

  Permissive

 

  七、新建FTP用户

  useradd ftpuser -d /mnt/ftpfile -s /sbin/nologin

  passwd ftpuser

  chown -R ftpuser:ftpuser /mnt/ftpfile

  将ftpuser添加到chroot_list中,链接ftp,提示530 Login incorrect,链接失败。可是建立的普通帐号就能够正常登录。

  解决方法:不少提供对系统非登陆访问的守护进程(如FTP)会检查用户的登陆shell是否列在/etc/shells中,若是没有列出,守护进程就会拒绝访问(这正是您所须要的动做)。

  打开 /etc/shells后,发现确实没有/sbin/nologin这一行,添加上再次登录,成功。

相关文章
相关标签/搜索