centosftp服务器搭建
① 求高手,想在CentOS下面搭个ftp服务器
一:安装vsftpd
查看是否已经安装vsftpd
1.rpm -qa | grep vsftpd
2.#如果没有,就安装,并设置开机启动
3.yum -y install vsftpd
4.chkconfig vsftpd on
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
打开/etc/vsftpd/vsftpd.conf,做如下配置
1.anonymous_enable=NO #设定不允许匿名访问
2.local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
3.chroot_list_enable=YES #使用户不能离开主目录
4.ascii_upload_enable=YES
5.ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能
6.pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
7.以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
8.guest_enable=YES #设定启用虚拟用户功能
9.guest_username=ftp #指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
10.user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的11.CentOS FTP服务文件(配置文件名=虚拟用户名
进行认证
12.chroot_list_file=/etc/vsftpd/vuser_passwd.txt
首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。
1.yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
1.test
2.123456
接着,生成虚拟用户认证的db文件
1.db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
1.auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
2.account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最后,创建虚拟用户配置文件
1.mkdir /etc/vsftpd/vuser_conf/
2.vi /etc/vsftpd/vuser_conf/test #文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
3.内容如下
4.local_root=/ftp/www #虚拟用户根目录,根据实际情况修改
5.write_enable=YES
6.anon_umask=022 #掩码
7.anon_world_readable_only=NO
8.anon_upload_enable=YES
9.anon_mkdir_write_enable=YES
10.anon_other_write_enable=YES
设置Selinux(如果你的selinux是开启的话)
1.setsebool -P ftp_home_dir=1 #设置ftp可以使用home目录
2.sersebool -P allow_ftpd_full_access=1 #设置ftp用户可以有所有权限
设置FTP根目录权限
1.mkdir /ftp/www #创建目录
2.chmod R 755 /ftp
3.chmod R 777 /ftp/www
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
设置防火墙
打开/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
1.-A INPUT m state --state NEW m tcp p dport 21 j ACCEPT
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
1.service iptables restart
OK,运行“service vsftpd start”,你就可以访问你的FTP服务器了。
配置PASV模式
vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需要通过下面的配置
打开/etc/vsftpd/vsftpd.conf,在末尾添加
1.pasv_enable=YES #开启PASV模式
2.pasv_min_port=40000 #最小端口号
3.pasv_max_port=40080 #最大端口号
4.pasv_promiscuous=YES
在防火墙配置内开启40000到40080端口
1.-A INPUT m state --state NEW m tcp p dport 40000:40080 j ACCEPT
重启iptabls和vsftpd
1.service iptables restart
2.service vsftpd restart
现在可以使用PASV模式连接你的FTP服务器了~
常见错误:
问题一:
可我按照配置步骤走完一遍后发现每次都是
530 Login incorrect
找来找去才发现我把验证用的vsftpd.vu创建在了etc的根目录,而不是/etc/pam.d/vsftpd.vu
问题二:
修改了上面的问题,还是不能登录,提示我:
500 OOPS:bad bool value in config file for:anon_world_readable_only
google了一把发现有人说是配置文件的末尾不能有空格,打开自己的配置文件一看,不止anon_world_readable_only这一行末尾,整个文件的末尾都有几个空格。唉,复制粘贴网页上的配置要谨慎啊。
问题三:
500 OOPS: vsftpd: cannot locate user specified in 'guest_username':aaA
这个问题很奇葩,最后发现是最后大小写的问题,应该是‘aaa’
所以注意一下细节,安装上面的步骤来是很简单的
② 买了云服务器之后,怎样才能通过ftp上传代码呢
这个非常简激没单,只需要搭建一下ftp服务器,配置一下相关文件,之后就能正常通过ftp命令上传代码了,和困下面我简单介唤铅念绍一下实现过程,以某云的服务器为例(Centos7):
1.首先,安装ftp服务器,这个直接在终端运行命令“yuminstall-yvsftpd”就行,如下,大概也就171K左右,很快就能安装成功:
2.安装完成后,为了方便演示,这里我们新建一个ftp测试用户ftp_test,并修改其密码,如下:
3.接着就是配置ftp服务器,这里主要修改一下vsftpd.conf文件就行,位于/etc/vsftpd/目录下,禁止匿名用户访问,同时只能访问自己主目录,设置参数anonymous_enable和参数chroot_local_user为NO即可(这里可以自定义配置),如下:
4.配置完成后,就是启动ftp服务,这个直接运行命令“systemctlstartvsftpd”就行,如下,默认启动的端口是21:
这里我们可以本地测试一下ftp连接,输入前面创建的ftp_test用户和密码,如下,已经成功登陆,并可以查阅文件:
5.最后就是将本地的代码文件上传到云ftp服务器上,这个ftp连接后,再put上传就行,如下,非常简单:
至此,我们就完成了将本地代码文件上传到云ftp服务器上。总的来说,整个过程非常简单,最主要的还是搭建ftp服务器,只要你熟悉一下上面的搭建过程,很快就能成功的,网上也有相关资料和教程,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
③ ftp连接问题,centos7上搭建的ftp服务器,Linux客户端能连接,但是win连接不上
服务器上设置IIS里的FTP服务开启,设个帐号允许登陆FTP,并且在电脑的D盘或者E盘给某个文件夹设置好允许这个帐号访问,再在IIS里设置这个帐号的根路径为那个文件夹。把让客户端下载的文件资源放到这个文件夹里。
客户端打开FTP登陆软件,输入服务器的IP,上面设置好的帐号和密码,登陆,就可以看到服务器上的那个文件夹里的东西了。
④ CentOS7文件服务器的搭建
安装
yum -y install vsftpd
安装后修改配置
vi /etc/vsftpd/vsftpd.conf
不允许匿名操作
开启用户管理列表
在文件最后面新增allow_writeable_chroot=YES,允许已登录用户进行上传
编辑用户管理列表
vi /etc/vsftpd/chroot_list
添加ftpuser用户
mkdir -p /home/ftp
创建ftp的根路径
useradd -d /home/ftptest -s /sbin/nologin ftpuser
新增用户并配置为ftpuser用户的主文件夹
usermod -aG ftp ftpuser
将ftpuser用户放置在ftp用户组中
chown ftpuser /home/ftp
修改ftp文件的所属
passwd ftpuser
修改ftpuser用户密码
vi /etc/selinux/config
如图配置
firewall-cmd --permanent --zone=public --add-service=ftp
开启ftp服务
firewall-cmd --reload
重加载firewall
systemctl start vsftpd
重启
systemctl status vsftpd
查看firewall状态
输入ftpuser的账号密码
文件服务器ftp文件夹根目录
⑤ centos5.5系统怎么安装ftp服务,在虚拟机中
1. 使用setup菜单完成TCP/IP网络配置;
(1)在命令行运行setup,选择“Network Configuration”
(2)选择“eth0(eth0)……”
(3)取消“Use DHCP”
(4)配置IP地址和子网掩码为192.168.202.5/255.255.255.0,网关为192.168.202.1
(5)一层层退出
(6)运行ifdown eth0禁用以太网卡
(7)运行ifup eth0启用以太网卡并重新读取配置。
(8)使用ifconfig检查eth0网卡的IP地址配置。
2. vsftpd服务器的基本配置
(1)rpm -q vsftpd 察看vsftpd软件包是否安装
(2)service vsftpd start 启动vsftpd服务器
(3)chkconfig vsftpd on 将vsftpd服务设置为自动启动
(4)从XP客户端访问“ftp://192.168.202.5”
(5)察看vsftpd服务器的配置文件的缺省配置:vi /etc/vsftpd/vsftpd.conf
1)anonymous_enable=YES 允许匿名用户登录
2)local_enable=YES 允许本地用户登录
3)write_enable=YES 允许写入(上传文件、创建目录)(包含所有用户)
4)#anon_upload_enable=YES 允许匿名用户上传文件,但已被注释掉
5)#anon_mkdir_enable=YES 允许匿名用户创建目录,但已被注释掉
3. 配置允许匿名用户上传的FTP服务器
(1)vi /etc/vsftpd/vsftpd.conf
(2)去掉上面(4)(5)两行的注释
(3)service vsftpd restart
(4)从XP客户端重新访问“ftp://192.168.202.5”,上传一个文件,是否成功?
(5)因为匿名用户是以ftp帐号访问FTP服务器的,主目录为/var/ftp。(可察看/etc/passwd,找ftp那一行)而“/var/ftp”目录所属用户为root,目录权限为drwxr-xr-x,即ftp作为“其他用户”,没有写入权限,所以不能在“/var/ftp”目录中创建新文件和新建目录。
两种办法解决这个问题:
4. 办法1:创建一个属于ftp用户的目录
(1)cd /var/ftp
(2)mkdir up1 创建一个目录
(3)chown ftp:ftp up1 修改目录的所属用户
(4)ll 查看目录权限
5. 办法2:创建一个属于root用户的目录,但修改目录权限为允许其他用户修改目录内容
(1)cd /var/ftp
(2)mkdir up2 创建一个目录
(3)chmod 777 up2 修改目录的权限,使“其他用户”可以修改
(4)ll 查看目录权限
6. 继续配置允许匿名用户上传的FTP服务器
(1)刷新XP客户端的ftp://192.168.202.5,进入up1或up2目录,上传一个文件,能否成功?然后再下载刚上传的文件,能否成功?
(2)ll /var/ftp/up1或ll /var/ftp/up2,看刚上传文件的权限为-rw-------,所属用户为ftp
(3)cd /var/ftp/up1或cd /var/ftp/up,chmod 644 上传的文件名
(4)再次下载文件,就可以了,这是为什么?
(5)vi /etc/vsftpd/vsftpd.conf,在local_umask=022下面添加:
anon_umask=022,将匿名用户创建新文件的umask设置为022。
(6)service vsftpd restart
(7)从XP客户端重新访问“ftp://192.168.202.5”,这时,上传、下载都能正常工作了。
⑥ 阿里云centos7.2安装ftp服务器(自身服务器可以访问),windows无法访问,打开不了远程文件夹
给你访问目录下面的文件夹授权,命令如下:chomd-R755文件夹路径或者chomd-R777文件夹路径如果你安装了SELinux,建议关闭;解决方法://使用setsebool命令开启#setseboolftpd_disable_trans1或者#setseboolftp_home_dir1//再次查看当前状态是否是on的状态#getsebool-a|grepftpftpd_disable_trans-->on或者ftp_home_dir-->on//setsebool使用-P参数,无需每次开机都输入这个命令#setsebool-Pftpd_disable_trans1或者#setsebool-Pftp_home_dir1#servicevsftpdrestart
⑦ centos怎样设置ftp登录
ftp权限配置是比较繁琐的。
我之前只配置在ubuntu 14.04中配置过,没在centos 7中配置过,具体过程可以参考下:
一. 为了服务器的安全,只可以使用ftp登录,禁止使用telnet与ssh登录
1,修改/etc/pam.d/vsftpd的验证模块 # Standard behaviour for ftpd(8). auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Note: vsftpd handles anonymous logins on its own. Do not enable # pam_ftp.so.
# Standard blurb. @include common-account @include common-session
@include common-auth #auth required pam_shells.so 注销下auth required pam_sheels.so验证
2,修改/etc/vsftpd.conf文件,添加check_shell=NO至vsftpd文件。
3,修改/etc/passwd用户的shell为false或nologin,重启/etc/init.d/vsftpd即可. 当然,也可以修改/etc/passwd中wp26:x:1002:1002::/home/vhost/wp26:/bin/false的最后/bin/false为/usr/bin/passwd,让用户登录系统只能够修改密码。
二. 设置ftp相关目录