如果能就证明搭建成功,不能登入那是用户设置的问题。这些用户必须是系统内置账户,你可以建一个匿名用户组,那就得在根目录下创建一个localuser的文件夹,其它内置用户也要在根目录下穿件对应用户名的文件夹,如laucou这个用户,想要用这个用户登入,必须在跟目录下创建这样一个用户名的文件。
1首先在server机器上创建两个用户,这些用户是用来登录到FTP的,我的电脑右键->管理->本地用户和组->用户->“右键”新建用户->输入用户名和密码再点创建就行了;
2在C盘新建文件夹“C:\FTP上传”,并在此文件下新建“LocalUser”文件夹,并在此文件夹下创建“Public”(这个是公共文件夹)、“xxx”和“xxx1”文件夹(xxx和XXX1必须与创建的本地用户相同),在C盘新建文件夹“C:\FTP下载”,并在每个文件夹里放不同的文件,以便区分;
3安装IIS组件,在开始菜单里—>控制面板-〉添加或删除程序->添加/删除windows组件->应用程序服务器->详细信息->IIS-〉详细信息-〉FTP-〉确定-〉完成,这样就把FTP安装在服务器上了;
4配置FTP服务器,创建上传和下载服务,创建上传服务器:右键FTP站点->选择新建FTP站点->描述可以根据自己的需要填写->地址一般都是server的地址,端口就用默认的21吧->因为是提供上传服务的,所以就用隔离用户啦->它的目录指向“C:\FTP上传”->访问权限要钩上“读取”和“写入”啦(上错了的~)->点击完成就把上传的服务创建好了,创建下载服务器:因为21号端口已经被占用所以我们就用2121端口,不隔离用户,它的目录指向“C:\FTP下载”,只有读取权限,一个FTP服务器创建好了;
5在XP主机上测试已经完成安装的FTP服务器,在XP主机上输入FTP服务器的IP地址FTP://19216812就能打开上传的FTP页面,输入FTP://19216812:2121就能打开下载页面了,还可以用之前创建的那两个用户去登录FTP服务器,因为只有上传服务提供了用户文件夹,所以只有登录到上传服务时才能打开用户文件夹,这个文件夹是用专用的,其它用是无法对里面的文件进行 *** 作的,还能成功地在下载服务器里下载文件到XP主机上了;
6这样就可以打开FTP里的文件夹了。
Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa |grep vsftpd 来查看是否安装相应的包,如果没有安装那么可以执行 yum -y install vsftpd 来安装,安装之后首先创建ftp用户,比如ftp_test,命令如下:
useradd -s /sbin/nologin -d /home/ftp_test ftp_test目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建,
可以看到权限现在是对于ftp_test用户是可读可写可执行的,其他用户和组下面的都没有任何权限,现在为ftp_test用户创建密码:
passwd ftp_test
执行之后输入2次密码确认就设置好了密码
然后编辑vsftpd配置文件,位置是:vim /etc/vsftpd/vsftpdconf
找到anonymous_enable这个配置项,默认是YES,修改成NO,表示不允许匿名用户登录
现在直接保存配置文件,执行 systemctl start vsftpdservice 启动vsftp服务,然后可以通过命令: systemctl status vsftpdservice 查看ftp服务的运行状态,现在就可以用ftp客户端进行连接了,这里用FileZilla测试,连接正常
现在基本的ftp服务就部署完了,客户端可以正常上传,下载,修改文件;但是这样有个问题就是所有的目录都暴露给客户端了,虽然客户端不能随意修改删除其余的文件,但是因为目录可见,所以总会有一些风险,所以接下来还需要配置让ftp用户只在自己的家目录下面活动,而无法查看其它任何目录,同样是打开配置文件/etc/vsftpd/vsftpdconf,找到chroot_local_user=YES这个配置,默认是注释的,这里去掉注释,表示只让用户在自己的目录里面活动,如果只是保存这一个配置的话,用ftp连接客户端会返回500 OOPS: vsftpd: refusing to run with writable root inside chroot()的错误,即禁止运行在可写的家目录中,因为刚才ftp_test这个目录有w权限,而现在我们使用的vsftpd版本是302 属于比较新的版本,为了安全性做了一些限制,如果你此时想通过 chmod a-w /home/ftp_test 来去掉目录的写权限,那么连接成功是没问题的,但是无法上传文件了,所以网上很多说修改权限的方法是不可取的,正确的做法是应该在下面添加一行配置allow_writeable_chroot=YES表示允许对家目录的写权限,具体配置如下:
配置完这两项以后保存退出,然后执行 systemctl restart vsftpdservice 重启vsftpd服务,现在重新使用ftp连接就成功了,并且任何 *** 作也是没问题的
现在可以看到上面的路径是一个/,对于ftp用户来说也就是根目录了,只能在这个目录下 *** 作,而无法跳出这个目录
以上就是vsftpd服务的基本搭建过程,实际使用时可以分配多个用户
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)