目录
1、在windows下创建一个用户账户(用于FTP登录操作)
4、测试FTP服务器是否搭建承购,能否实现文件的下载与上传。
一,在物理机上搭建FTP服务器
1、在windows下创建一个用户账户(用于FTP登录操作)
(1)右击此电脑选择“管理”,进入“计算机管理(本地)→系统工具→本地用户和组→用户”
(2)、右击“用户”,在下拉菜单中选择“新用户”,然后在弹出的小窗口创建用户,输入用户名及密码,其余默认就行然后点击创建,结果如下:
2、为计算机添加IIS程序服务
(1)、打开电脑的“开始菜单→控制面板→程序→打开或关闭windows功能”
(2)在弹出的“windows功能”小窗口中找到“Interent 信息服务”,点击“FTP服务器”展开,将FTP服务和FTP扩展性全部打√, 同时点击“Web管理工具”和“万维网服务”(注意这两个不用展开,点击即可),等待几分钟就OK了,结果看下:
3、创建本地网站并进行相关设置
(1)、右击“计算机”,点击“管理”进入到“计算机管理”,如果IIS程序服务添加成功就会在“服务和应用管理”下面出现Internet 信息管理(IIS)管理器,点击可以看到右边出现了一个连接框。
(2)、右击连接窗口下面的“网站”,选择“添加网站”,输入网站名称,物理路径可以自行配置,主机名可以自己设置,其余默认,完成后点击“确认”。
(3)、新建完成我们的FTP之后,我们可以看到网站的下方多出了一个我们刚刚建立的网,右键点击网站名称,选择添加FTP站点发布,然后右击选择“添加FTP发布”,开始绑定和SSL设置,端口号选择2121,IP地址填写本机IP地址。
(4)、在弹出的“绑定和 SSL 设置”窗口,输入本机的IP地址,端口设置为2121,远程管理“SSL”选择允许,其余默认,然后点击“下一步”。(注意下面图中出现错误,将21改为2121)
(5)、在“添加FTP站点发布”窗口下,授权选择允许访问“所有用户”,权限选择“读取”、“写入”,其余选项默认,然后点击“完成”。
4、测试FTP服务器是否搭建承购,能否实现文件的下载与上传。
(1)、打开电脑的浏览器在上方的地址栏里面输入FTP://IP地址:2121点击回车,输入用户名和密码,点击“登录”,就可以看到我们的FTP服务器已经添加成功了,里面正是在FTP服务器的根目录下放置的一些文件及文件夹。右击链接另存为就可以下载里面的文件了。
(2)、如果想要实现文件的上传,就打开“计算机”,在工具栏中输入ftp://IP:2121,在弹出的窗口输入账号和密码,将要上传的文件直接拖进去,就完成文件的上传了。
(3)、需要注意一点,每次开发这个账号和密码之后,可以过一段时间重新设置密码,以免所有的用户都能随便修改FTP服务器根目录下的所有的文件。修改密码的过程:右击“计算机”→“管理”→“本地用户和组”→“用户”,选择你所创建的用户名称,右击“设置密码”,重新进行修改,这样只有你将用户密码告诉别人才能再次登录。
就这样,ftp小型服务器就创建完成了,你可以随意进行文件的上传和下载喽!!!
二,在Linux虚拟主机上配置FTP
1.检查vsftpd是否安装
先要检查要做FTP服务器的主机上有没有安装vsftpd,如果没有安装的话,需要先进行vsftpd服务的安装。
[root@wanghan ~]# yum -y install vsftpd
2.建立vsftpd虚拟用户
2.1、添加虚拟用户口令文件
[root@wanghan ~]# vim /etc/vsftpd/vftpuser.txt
[root@wanghan ~]# cat /etc/vsftpd/vftpuser.txt
ftpuser #用户名
123456 #密码
2.2、生成虚拟用户口令认证文件
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件,首先查看系统有没有安装生成口令认证文件所需的软件db4-utils,如果没有安装进行安装之后再生成口令认证文件。
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
2.3、编辑vsftpd的PAM认证文件
[root@localhost ~]# cd /etc/pam.d
[root@localhost ~]# cp vsftpd vsftpd.YYYYMMDD #YYYYMMDD代表年月日
[root@localhost ~]# vim vsftpd
可以把原文件里面的内容都注释掉,添加以下2行内容:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
2.4、建立本地映射用户
所有的FTP虚拟用户需要使用一个系统用户,但这个系统用户不需要密码和登录权限
[root@localhost ~]# useradd -d /home/ftpuser -s /sbin/nologin ftpuser
3、配置vsftpd
3.1、配置vsftpd.conf
[root@localhost ~]# cd /etc/vsftpd
[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.YYYYMMDD
YYYYMMDD代表年月日
[root@localhost ~]# vi vsftpd.conf
找到如下内容进行修改:
anonymous_enable=NO
local_enable=YES
local_umask=022
#dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
#chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
chroot_local_user=YES
ftpd_banner=Welcome to FTP service. #此参数可用可不用,就是一个登录ftp服务时的一句欢迎语。
anon_world_readable_only=NO
guest_enable=YES
guest_username=vftpuser
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/userconf #代表对虚拟用户分配不能根目录的配置目录,需要在vsftpd目录创建此目录。
3.2、创建虚拟用户权限目录
[root@localhost ~]# cd /etc/vsftpd
[root@localhost ~]# mkdir userconf
3.3、对虚拟用户设置上传下载根目录
[root@localhost ~]# cd /etc/vsftpd/userconf
[root@localhost ~]# vi ftpuser #此文件一定要和你的虚拟用户名保持一致。
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftpuser/ftpdir #此目录是虚拟用户设置的根目录,上传下载的文件都会锁定到此目录下。
[root@localhost ~]# chown -R ftpuser.ftpuser /home/ftpuser/ftpdir #设置目录权限为虚拟用户,防止没有权限上传或下载。
3.4、重启vsftp服务
[root@localhost ~]# service vsftpd restart
4、测试虚拟用户登录FTP
4.1、虚拟用户登陆FTP测试
[root@localhost ~]# ftp 192.168.10.2
Connected to 192.168.10.2.
220 Welcome to FTP service.
Name (192.168.10.2:root):ftpuser
331 Please specify the password.
Password: #输入虚拟账号的密码。
230 Login sucessful. #代表虚拟用户已经成功的登录到了FTP服务器上。
4.2、测试上传或下载
[root@localhost ~]# ftp 192.168.10.2
Connected to 192.168.10.2.
220 Welcome to FTP service.
Name (192.168.10.2:root):ftpuser
331 Please specify the password.
Password: #输入虚拟账号的密码。
230 Login sucessful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>put 1.txt
local:1.txt remote:1.txt
150 Ok to send data.
226 Transfer complete. #上传成功。
ftp>get 2.txt
local:2.txt remote:2.txt
150 Opening BINARY mode data connection for t (1140 bytes).
226 Transfer complete. #上传成功。