怎么用linux搭建ftp服务器

怎么用linux搭建ftp服务器,第1张

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件
方法/步骤
1、用在线安装
yum install vsftpd pam db4-y
使用命令将vsftp配置为系统服务
chkconfig --level 35 vsftpd on
2、配置vsftpd服务的宿主
useradd vsftpdadmin -s /sbin/nologin -M
这个vsftpdadmin只是用来替换root的,并不需要登录
3、建立ftp虚拟宿主帐户
useradd vsftpuser -s /sbin/nologin -M
这ftpuser只个虚拟帐户的宿主,本身是不用登录的
4、配置vsftpdconf 配置之前要先备份一下原来的
vi /etc/vsftpd/vsftpdconf
anonymous_enable=YES --> anonymous_enable=NO //不允许匿名用户访问,默认是允许。
chroot_list_enable=YES --> chroot_list_enable=YES //不允许FTP用户离开自己主目录
增加
#设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。
user_config_dir=/etc/vsftpd/vconf/userlocal
#这一步非常重要,要记住这一步。一会要根据这个配置新建文件夹

#修改端口号
ftp_data_port=4040
reverse_lookup_enable=NO
pasv_enable=yes
pasv_min_port=48790
pasv_max_port=48800
listen_port=48796 #端口可以根据你自己实际情况配置,也可以用默认端口。但是为了安全考虑根据自己实际情况配置
5、建立虚拟用户文件
mkdir /etc/vsftpd/vconf
touch /etc/vsftpd/vonf/vir_user
6、建立虚拟用户
vi /etc/vsftpd/vonf/vir_user
virtualuser //用户名
12345678 //密码
7、生成数据库
db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_userdb
8、设置数据库文件访问权限
chmod 600 /etc/vsftpd/vconf/vir_user
chmod 600 /etc/vsftpd/vconf/vir_userdb
9、修改/etc/pamd/vsftpd
auth sufficient pam_userdbso db=/etc/vsftpd/vconf/vir_user
account sufficient pam_userdbso db=/etc/vsftpd/vconf/vir_user
(要想同时使用系统用户和虚拟用户,就需要把required改成sufficient)
10
根据第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal
新建userlocal文件夹
mkdir /etc/vsftpd/vconf/userlocal
11、根据第六步建立的用户名建立一个文件
例如第六步建立的帐号是virtualuser,则新建一个virtualuser文件
touch /etc/vsftpd/conf/userlocal/virtualuser
12、编辑该用户访问的文件路径
vi /etc/vsftpd/conf/userlocal/virtualuser
输入如下
local_root= //需要指定的网站根目录,例如>1、检查安装vsftpd软件使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,
如果没有安装,使用YUM命令进行安装。
2、启动服务
使用vsftpd软件,主要包括如下几个命令:
启动ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重启ftp命令#service vsftpd restart
3、vsftpd的配置
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
ftpusers 该文件用来指定那些用户不能访问ftp服务器。
user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
vsftpdconf vsftpd的主配置文件
4、以匿名用户为例,我们去掉配置文件vsftpdconf 里面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。
5、非匿名账户的创建与使用
vsftpd服务与系统用户是相互关联的,例如我们创建一个名为test 的系统用户,那么此用户在默认配置的情况下就可以实现登录,如图
登录后在页面创建名为“aa”的文件夹,同样我们在服务器test用户 的home目录里也可以看到相同的文件。

1启动FTP服务器 

/sbin/service vsftpd start 
为vsftpd启动vsftpd: [确定]

2在/var/ftp/pub目录下创建一个名为testtxt的文件,文件内容为“This is a test 
file”。 
3测试使用Linux下FTP
使用FTP客户端登录到本地服务器,然后以匿名身份(anonymous)登录: 

ftp 127001 
Connected to 127001 (127001) 
220 (vsFTPd 113) 
Name (127001:root): anonymous 
331 Please specify the password 
Password: 
230 Login successful Have fun 
Remote system type is UNIX 
Using binary mode to transfer files 
#这样就成功地登录到FTP服务器。

4可以显示服务器目录列表如下: 

ftp> ls 
227 Entering Passive Mode (127,0,0,1,63,15) 
drwxr-xr-x 2 0 0 4096 Dec 04 01:35 pub 
226 Directory send OK

5切换到pub目录下,并显示目录内容,可以找到刚才创建的文件testtxt: 

ftp> cd pub 
250 Directory successfully changed 
ftp> ls 
227 Entering Passive Mode (127,0,0,1,232,34) 
150 Here comes the directory listing 
-rw-r--r-- 1 0 0 21 Dec 04 01:35 testtxt 
226 Directory send OK

6下载testtxt文件: 

 ftp> mget testtxt 
mget testtxt  y 
227 Entering Passive Mode (127,0,0,1,186,210) 
150 Opening BINARY mode data connection for testtxt (21 bytes) 
226 File send OK 
21 bytes received in 00108 secs (19 Kbytes/sec)

7查看本机目录内容,可以看到testtxt已成功下载到本机。 

ftp> ls 
a EIO_Binders initrd mnt proc tftpboot lpftxt 
bin etc lib mymnt root tmp 
boot home lost+found myshare sbin usr 
dev id_dsaspub misc opt testtxt var

8退出FTP登录: 

 ftp> bye 
221 Goodbye


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10566689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存