Linux搭建创建FTP服务器---完美解决 - 费元星

Posted 费元星的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux搭建创建FTP服务器---完美解决 - 费元星相关的知识,希望对你有一定的参考价值。

配置大红字文件置顶:
 

vsftp

d.conf

4.5KB
 
 
useradd -d /home/bai_du -s /sbin/nologin bai_du
修改访问权限:
usermod -d /home/webroot/fourcar.diliulian.com/ -s /sbin/nologin fourcar
 
 
 
  1. 在创建FTP服务器之有先命令: ps -ef |grep vsftpd
费元星版权Q【9715234】
查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装。
技术分享图片
 
然后再执行:yum install vsftpd -y
进行在线安装vsftpd这个服务。
安装成功以后需要把匿名登陆费元星版权Q【9715234】的这个功能关闭了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然后在里成找到:‍
anonymous_enable=NO
技术分享图片
然后再查看一下vsftpd这个服务有没有启动。
使用命令: chkconfig --list
如果你如下图所示一样费元星版权Q【9715234】没有启动。
没有启动使用启动:chkconfig --level 35 vsftpd on
技术分享图片
环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test
建用户:在root用户下:
useradd -d /home/test test //增加用户test,并制费元星版权Q【9715234】定test用户的主目录为/home/test
如果目录已经存在,会有提示,但是不影响用户的权限登陆
passwd test //为test设置密码
更改用户相应的权限设置:
usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash test //用户test恢复正常
usermod -d /test test //更改用户test的主目录为/test
限制用户只能访问/home/test,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
 
另外还有一些基础增强选项
在文件末尾加如下的设置:
# new added by netseek
listen_port=5021 ;命令通道端口,默认为21
listen_data_port=5020 ;数据通道端口,默认为20
pasv_enable=YES ;允许被动模式
pasv_min_port=10000 ;被动模式使用端口范围
pasv_max_port=10010
local_max_rate=200000 ;用户宽带限制
chroot_local_user=YES ;禁止用户离开主目录
listen_address=192.168.0.21 ;让他监听ip:192.168.0.21
 
 
编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行
改完配置文件,不要忘记重启vsFTPd服务器
[[email protected] root]# /etc/init.d/vsftpd restart
如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
 
usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面
 
最后重启一下服务:service vsftpd start
如果出现启动失败则可以使用:/etc/rc.d/init.d/vsftpd restart
技术分享图片
成功链接FTP服务器上。
------------------------------------------------------------------------------------------------
遇到的问题:
VSFTP中登录提示 500 OOPS: cannot change directory
首先的解决方法是:
(1)[[email protected] ~]# setsebool -P ftpd_disable_trans 1
Boolean ftpd_disable_trans is not defined (这里我会有这个提示)
[[email protected] ~]# getsebool -a |grep ftp_home
ftp_home_dir --> on (如果此处是off的话执行下边的命令)
[[email protected]uyuntao ~]#setsebool -P ftp_home_dir 1
执行完之后再去登陆试试。
 
(2)[[email protected] ~]# setsebool -P ftpd_disable_trans 1
如果此命令执行成功的话,
[[email protected] ~]service vsftpd restart
再试试
 
 
(3)如果还不行的话就试试下边的方式吧
如果还是不行的话再使用下面完全方式:
[[email protected] vsftpd]# setsebool allow_ftpd_full_access 1
[[email protected] vsftpd]# setsebool allow_ftpd_use_cifs 1
[[email protected] vsftpd]# setsebool allow_ftpd_use_nfs 1
[[email protected] vsftpd]# setsebool -P ftp_home_dir 1
[[email protected] vsftpd]# setsebool httpd_enable_ftp_server 1
[[email protected] vsftpd]# setsebool tftp_anon_write 1
[[email protected] vsftpd]# service vsftpd restart
 
这是我遇到的问题,仅供大家参考。
 
 
防火墙遇到的问题2:
技术分享图片
临时的解决方法是执行如下命令:
 
[[email protected] soft]# modprobe ip_nat_ftp
 
长久方案:
但当你重新启动服务器则iptables规则失效,又会出现相同的情况,所以我们需要修改/etc/sysconfig/iptables-config文件,
[[email protected] soft]# vi /etc/sysconfig/iptables-config
 
我们需要把
IPTABLES_MODULES=""
修改为:
IPTABLES_MODULES="ip_nat_ftp"
这样重启服务器之后就不必再每次都执行mobprobe啦。
 
 
遇到的的问题3:
ftpuser登录ftp后上传文件或新建目录,如果出现“550 create directory operation failed”
是SELinux(Security-Enhanced Linux----是美国国家安全局对于强制访问控制的实现, 是Linux 上最杰出的新安全子系统.)安装机制搞的鬼.只要disable SELinux就可以了.
PS: 关闭SELinux方法
[[email protected] ~]# vim /etc/selinux/config
将 SELINUX=XXX -->XXX 代表级别
改为
SELINUX=disabled
重启就OK了!
 
 
 
问题4:
解决vsftpd连接错误425 Security: Bad IP connecting
www.111cn.net 更新:2014-03-18 编辑:mengchu9 来源:转载
今天在linux机器上安装了一个vsftpd服务器,结果在连接时出现425 Security: Bad IP connecting错误了,经过一上午的搜索总结出一此问题解决办法。
错误提示
425 Security: Bad IP connecting
主要是需要在/etc/vsftpd/vsftpd.conf文件中添加如下一行:
代码如下
复制代码
pasv_promiscuous=YES service vsftpd restart
pasv_promiscuous选项参数说明:
此选项激活时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。默认值为NO。
合理的用法是:在一些安全隧道配置环境下,或者更好地支持FXP时(才启用它)。
如果不行,将Subsystem sftp /usr/libexec/openssh/sftp-server
改为Subsystem sftp internal-sftp
systemctl restart sshd.service
 
 
 
 
 
Linux下如何修改用户默认目录
1、切换到root用户,直接修费元星版权Q【9715234】改/etc/passwd文件,找到你的用户名你一行,如下图所示修改路径,然后保存即可。
技术分享图片
2、切换到root用户,使用usermod命令,例如usermod -d /tmp test (test为你的用户名),使用该命令请确保该用户下没有运行的软件或进程
技术分享图片
最后切换到普通账户,就会看到费元星版权Q【9715234】当前默认目录已经更改了。
技术分享图片
费元星版权Q【9715234】
 
 
FTP允许root登录
[[email protected] vsftpd]# cat ftpusers
# Users that are not allowed to login via ftp
#root
 
[[email protected] vsftpd]# cat user_list
 

以上是关于Linux搭建创建FTP服务器---完美解决 - 费元星的主要内容,如果未能解决你的问题,请参考以下文章

Linux搭建FTP服务

linux中搭建ftp服务配置

linux之ftp搭建

Linux下ftp服务器搭建

linux-第十二课时笔记-[FTP服务器搭建]-[本地FTP]-[02]

搭建FTP服务器:Linux下vsftpd实现基于Berkeley DB文件存放虚拟用户的案例