Linux搭建FTP服务器(虚拟用户配置文件)
linuxFTP创建虚拟用户

新建虚拟用户登录ftp第一步,在服务器上安装软件包如图(1)(1)第二步,建立虚拟用户口令库文件,创建文件logins.txt,在其内写入用户名和密码,奇数行为用户名,偶数行为密码如图(2)(在/root下创建)(2)第三步,生成vsftpd的认证文件在命令行输入db_load –T –t hash –f login.txt /etc/vsftpd/login.db如图(3)(3)第四步,建立虚拟用户所需要的pam配置文件进入/etc/pam.d目录,创建ts118的文件(不是目录)在里面写入内容如图(4)(4)第五步,建立虚拟用户所要访问的目录并设置权限创建用户,并且指定其宿主目录如图(5)(5)进入/home/ftpsite目录,创建目录,目录名称要与logins.txt 的用户名称相同如图(6)(6)要更改其所属主和所数组如图(7)(7)第六步,修改主配置文件打开/etc/vsftpd/vsftpd.conf文件,在里面添加命令如图(8)(8)第七步,启动服务输入service vsftpd start(或者是restart)如图(10)(10)第八步,使用客户机做测试客户机登陆到ftp服务器,使用虚拟用户如图(11)(11)想设置虚拟用户的权限,需要在主配置文件中添加命令如图(12)(12)创建用户配置文件目录如图(13)为虚拟用户创建单独的配置文件如图(14)运行用户进行上传,在配置文件中写入local_root=/home/ftpsite/bob,并开启允许上传的权限如图(15)(15)启动服务如图(16)(16)使用bob登陆,就可以上传文件补充要在logins.txt中添加用户,需要在转换一下。
linux创建ftp用户命令

linux创建ftp用户命令在linux系统下我们需要学会添加ftp用户并设置相应的权限。
下面由店铺为大家整理了linux添加ftp用户的命令的相关知识,希望大家喜欢!linux添加ftp用户命令方法1、环境:ftp为vsftp。
被限制用户名为test。
被限制路径为/home/test2、建用户:在root用户下:useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/testpasswd test //为test设置密码补充:linux设置ftp用户权限方法3、更改用户相应的权限设置:usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftpusermod -s /sbin/bash test //用户test恢复正常usermod -d /test test //更改用户test的主目录为/test4、限制用户只能访问/home/test,不能访问其他路径修改/etc/vsftpd/vsftpd.conf如下:chroot_list_enable=YES //限制访问自身目录# (default follows)chroot_list_file=/etc/vsftpd/vsftpd.chroot_list编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行改完配置文件,不要忘记重启vsFTPd服务器[root@linuxsir001 root]# /etc/init.d/vsftpd restart5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面。
Linux下FTP服务器的安装和配置(详细)

Linux下FTP服务器的安装和配置(详细)Linux下FTP服务器的安装和配置在Internet上FTP(File Transfer Protocol,⽂件传输协议)扮演着⼗分重要的⾓⾊。
我们可以通过FTP与远程机器传输交换⽂件数据,下载或上传最新的软件。
基本的FTP服务器根据服务的对象可以分为两种,⼀种是Unix(当然也包括Linux)系统基本的FTP服务器,使⽤者是服务器上合法的⽤户;⽽另⼀种是匿名FTP服务器(Anonmous FTP Service),任何⼈只要使⽤anonmous 或ftp帐号并提供电⼦邮件地址作为⼝令就可以使⽤FTP服务。
对于系统中合法的⽤户,其登录⽬录为他们的home⽬录;如果是匿名⽤户登录的话,登录后会到/home/ftp这个⽬录中,该除⾮我们在该⽬录中存放下载⽂件,否则匿名FTP使⽤者将不能做任何事情。
在本章,我们将详细地介绍FTP 服务器的安装、配置以及服务器的维护。
安装FTP服务器在Linux的发⾏套件中都有FTP服务器的软件包wu-ftpd(Washington University FTP server),这是⽬前最流⾏的⼀种免费FTP服务器软件,⽬前绝⼤多数的FTP站点都是由wu-ftpd来架设的,⽽wu-ftp如此流⾏的原因是因为它强⼤的功能,例如:·可控制不同⽹域的机器对 FTP服务器的存取权限和访问时段。
·使⽤者在下载⽂件时,可⾃动对⽂件进⾏压缩或解压缩⼯作。
·可以记录⽂件上传或下载的过程。
·可以限制最⾼访问⼈数,以维持系统的最佳运⾏效率。
·可显⽰相关的信息,以便⽤户了解当前的接收状态。
·可暂时关闭FTP服务器,以便系统维护。
在安装系统时如果选择了wu-ftpd软件包,就会⾃动安装。
但如果我们想要使⽤最新的FTP软件包的话,可以到全世界各⼤FTP站点下载。
⽬前最新的版本是wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,请按照我们下⾯的步骤进⾏安装。
linux下配置FTP服务器步骤

一、创建匿名FTP服务器的方法1。
增加新用户ftp,设置其主目录对任何用户都无写权限;2。
新建立一个组anonymou,它只能被匿名ftp使用;3.在ftp用户的主目录下创建一个bin目录,它属于root用户,而且对任何用户都不能写;4。
在ftp用户主目录下创建一个etc目录,它属于root用户,而且对任何用户都不能写;5.在ftp用户主目录下创建一个public目录,它属于ftp用户,而且对任何用户都能写。
如果由于安全等原因,您不允许其他用户在您的计算机上具有存储能力,那么您可以将其权限设置成555;6.将ls程序放到已创建的bin目录下,并将其修改成111方式,即对任何用户只能执行;7。
在已创建的etc目录下,创建passwd和group两个文件,并将它们设置成444方式(只读)。
二、创建匿名FTP---—在Unix下用root登录,然后按下列步骤逐步建立FTP服务器.1.建立新组anonymou----#mkgroupanonymou2.建立新用户ftp,且ftp用户属于anonymou组—--—#mkuserpgrp=‘nonymou'home=‘ /u/anonymou’ftp3。
在用户目录下建立相关的目录#cd/u/anonymou#mkdiretc#mkdirbin#mkdirpublic4。
将ls拷贝到/usr/anonymou/bin下,并设置其读写属性#cp/bin/ls./bin#chmod111。
/bin/ls5.创建/u/anonymou/etc/group文件————在该文件中增加一行:anonymou:!:201:6.创建/u/anonymou/etc/passwd文件--—-在该文件中增加一行:ftp:*:213:201::/u/anonymou:/bin/ksh7。
修改/u/anonymou/etc/group文件和/u/anonymou/etc/passwd文件的属性#chmod444/u/anonymou/etc/passwd—--—#chmod444/u/anonymou/etc/group8。
在Linux上搭建FTP服务器的步骤

在Linux上搭建FTP服务器的步骤FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。
在Linux操作系统中,我们可以轻松地搭建自己的FTP 服务器,以便与他人共享文件或进行文件的远程传输。
本文将介绍在Linux上搭建FTP服务器的详细步骤,以帮助您快速搭建自己的FTP服务器。
步骤1:准备工作在开始搭建FTP服务器之前,我们需要先确保系统已经安装了vsftpd软件包。
您可以通过运行以下命令来检查是否已安装:```sudo apt-get install vsftpd```如果vsftpd未安装,您可以使用相应的包管理器来安装它。
步骤2:配置FTP服务器一旦确保vsftpd已经安装,我们可以进行FTP服务器的配置。
首先,我们需要编辑vsftpd的配置文件。
运行以下命令来打开配置文件:```sudo nano /etc/vsftpd.conf```在该文件中,您可以找到各种不同的配置选项。
按需求进行修改,例如:- 匿名用户访问:如果您希望允许匿名用户访问FTP服务器,确保以下行的开头没有注释符号“#”:```anonymous_enable=YES```- 本地用户访问:如果您希望允许本地用户访问FTP服务器,确保以下行的开头没有注释符号“#”:```local_enable=YES```- 限制用户的主目录:如果您希望限制用户仅能访问其主目录,确保以下行的开头没有注释符号“#”:```chroot_local_user=YES```- 传输模式:您可以选择启用被动模式或主动模式的传输。
在配置文件中找到以下行,并根据您的需求进行调整:```#pasv_enable=YES#pasv_min_port=xxxxx#pasv_max_port=xxxxx```完成配置后,按下"Ctrl + X",然后按下"Y"来保存对配置文件的更改。
Linux从入门到提高-第章 FTP服务器配置

14.3.5 配置Vsftp服务器在非标准 端口工作
在使用FTP服务的过程中,可以使该服务在非标准端口 (非21端口)工作。要完成这项工作,需要使Vsftp服务 器运行在独立启动方式下,同时修改/添加主配置文件中 的listen_port选项,然后重启守护进程。
第22页,共30页。
shutdown、overwrite、upload、alias
ftphosts
allow rose 140.0.0/8
deny jack 140.123.0.0:255.255.0.0
ftpservers
ftpusers
ftpgroups
ftpconvertions
第28页,共30页。
user
= root
server
= /usr/sbin/in.ftpd
server_args
= -l -a
log_on_success += DURATION USERID
log_on_failure
+= USERID
nice
= 10
disable
= no
}
# service xinetd restart
第19页,共30页。
14.3.3 虚拟用户使用Vsftp服务器
虚拟用户是指在FTP服务器上拥有账号,并且该账号只 能用于文件传输服务的用户,也称为guest用户。这类用 户可以通过输入账号和口令来进行授权登录,其登录目 录为指定的目录。一般情况下,这类用户既可以下载文 件,也可以上传文件。
配置步骤:
第7页,共30页。
14.1.5 FTP常用命令
PASV:要求服务器将监听数据连接的端口号发送给客户端 PORT:在参数中将客户端监听数据连接的端口号发送给服务器 PWD:显示服务器端的当前工作目录名 QUIT:退出登录并断开连接 RETR:从远程系统取回一个文件 RMD:删除一个目录 STAT:状态信息
Linux下ftp的安装配置

FTP,file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。
读者在使用RedHat9 的时候,可能会感受到ftp server 有一些改变:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都没放入﹔第二,就是vsftp 从XINET D 中独立出来,并将设定档从/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。
社区论坛为什么做这样的改变?可以想见的是vsftp 已有独立运作的能力,不需要XINET D 来做更进一步的管控,并且类似sendmail、httpd、ssh、samba 等,将设定文件的放入/etc 下独立的目录。
FTP 分为两类,一种为PORT FTP,也就是一般的FTP﹔另一类是PASVFTP,分述如下:PORT FTP这是一般形式的FTP,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。
第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20 建立联机,并透过port20作数据的传输。
PASV FTP跟PORT FTP 类似,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。
第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。
这两者的差异为何?PORT FTP 当中的数据传输port是由FTP server 指定,而PASV FTP 的数据传输port 是由FTP client 决定。
通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。
一:安装一般系统在安装的时候都已经自带了ftp功能,所以对于linux9.0以上的版本系统自动安装了vsftpd,对于linux9.0一下的低版本系统自带的是wu-ftp,如果系统没有安装的话,可以下载软件包安装。
Linux下配置 FTP服务

Vsftpd 配置
用户 特性
登录名 密码 映射系统用户 ftp登陆目录 ftp 下载 上传 建文件夹 删除、改名
匿名用户 本地用户 anonymous、ftp 本地用户名 Email、空密码 本地密码 ftp ftp=/var/ftp/ OK NO NO NO 本地用户 用户的主目录 OK OK OK OK
ftp的欢迎语
1 在FTP的主目录下建立.message文件 写入内容,欢迎语句,support Chinese 2 在ftp的主配置文件中最后加入 ftpd_banner=welcome ….. 3 banner_file=路径加文件名
Vsftpd 配置
• • • • Lcd 命令查看本地路径 Pwd 命令查看服务器端的目录 Status 查看状态 ACSII 或是binary是二进制传输
ftp工作的模式
• • • • • pasv_enable=yes/no yes=pash&port no=port pasv模式:服务器被动开启连接 port模式:服务器主动开启连接 是否开启pasv模式,在默认的情况下 是开启的,vsftpd支持两种传输模式:
设置客户端连接的端口范围
• • • • pasv_enable=yes pasv_min_port=50000 pasv_max_port=51213 使客户连接时的端口范围在50000 和51213之间。 • 客户端使用命令passive来改变数据传 输的模式,这是个开关命令
Linux下配置 FTP服务 Linux下配置 FTP服务
Linux下配置 FTP服务
FTP简介: FTP即文件传输协议(file transport protocol), protocol),是基于TCP/IP协议的一个网 TCP/IP 络应用协议。负责在互联网上提供文件 传输应用,是ARPANet最早的网络服务 之一。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux搭建FTP服务器(虚拟用户配置文件)
先行关闭防火墙,或者打开端口
1、建立虚拟用户口令库文件
口令库文件中奇数行设置用户名,偶数行设置口令
# vi /etc/vsftpd/logins.tx t
zhangwenbo -用户名
123 --密码
test --用户名
123 --密码
ftp
123
2、生成vsftpd的认证文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
注:如果没有db_load命令,请安装db4*相关rpm包。
# chmod 600 /etc/vsftpd/vsftpd_login.db --设置认证文件只对用户可读可写
3、建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd 添加一下内容
auth required /lib(32位的)/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib(32位的)/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致!
4、建立虚拟用户所要访问的目录并设置相应权限
# mkdir /var/ftp/pub/FTP--创建FTP工作目录
# useradd -d /var/ftp/pub/FTP -s /sbin/nolog virtual (用户名) --用于映射到本地的用户
# chown virtual:virtual/var/ftp/pub/FTP --FTP文件夹所属virtual用户
# chmod 700 /var/ftp/pub/FTP --权限可读可写
5、设置vi /etc/vsftpd/vsftpd.conf 配置文件
首先关闭匿名用户anonymous_enable=YE改为NO 或者在前边加#,在末尾添加:
guest_enable=YES --开启虚拟用户
guest_username=virtual --本地虚拟用户名(映射到本地的用户名)
user_config_dir=/etc/vsftpd_user_conf --用户配置文件目录设置
# systemctl restart vsftpd --重启服务
6、建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf--使用mkdir命令建立用户配置文件目录
为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同(我自己新建了三个用户)
当然你也可以建N个虚拟用户
为每个FTP虚拟用户都可以独立设置其权限(例如zhangwenbo用户) 添加以下配置文件,当然,其他的虚拟用户配置文件可以模仿一下的自行配置
#vi /etc/vsftpd_user_conf/zhangwenbo--虚拟用户zhangwenbo
local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)
anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)
#vi /etc/vsftpd_user_conf/test --虚拟用户test
local_root=/home/ftp
anon_world_readable_only=NO --可读可下载
write_enable=YES (写权限)
anon_mkdir_write_enable=YES --可创建和删除文件夹
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)
#vi /etc/vsftpd_user_conf/ftp--虚拟用户ftp
local_root=/var/ftp/pub/FTP --自己的目录名FTP
anon_world_readable_only=NO
anon_umask=022 (由于web页面的特殊性,故单独设置上传文件权限为755,此掩码值可根据具体情况更改)
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)
然后重启服务
#systemctl stop vsftpd
#systemctl start vsftpd
---------测试成功----------
7、乱码补丁:
其它发行版本则要手动安装:
下载源码-解压-把补丁复制到源码目录
命令:
#patch -p0 < vsftpd-2.0.5-encoding.patch
#patch -p0 < chinese_log.patch
#.configure
#make
#make install
方法二( 帐号写入MySQL数据库):
8、安装Mysql:
#apt-get install mysql-server mysql-client
为了安全,请给Mysql设置密码:
#mysqladmin password ***** (****就是你新设的Mysql的密码)
9、将虚拟用户帐号和密码保存在Mysql数据库中:
我们建立数据库vsftpdvu,表users,字段name和passwd用于保存虚拟用户的用户名和口令,同时增加三个虚拟用户download、admin 、web。
#mysql –p
mysql>create database vsftpd;
mysql>use vsftpd;
mysql>create table users(name char(16) binary,passwd char(16) binary);
mysql>insert into users (name,passwd) values ("zhangwenbo",password("123"));
mysql>insert into users (name,passwd) values ("test",password("123"));
mysql>insert into users (name,passwd) values ("ftp",password("123"));
mysql>quit
10、授权virtual可以读vsftpdvu数据库的users表。
#mysql -u root mysql -p
mysql>grant select on ers to virtual@localhost identified by "*****"; ((****并非步骤8中的密码)
mysql>quit
如果要验证刚才的操作是否成功可以执行下面命令:
#mysql -u virtual –p**** vsftpdvu (****是步骤10中设的密码)
mysql>select * from users;
如果成功,将会列出download、web、apollo和加密后的密码。
11、安装MySQL的PAM验证
#apt-get install libpam-mysql
12、我们要设置vsftpd的PAM验证文件。
新建开/etc/pam.d/ftp.vu文件,加入以下内容:
auth required pam_mysql.so user=virtual passwd=**** host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2
(****是步骤10中设的密码)
account required pam_mysql.so user=virtual passwd=**** host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2
(****是步骤10中设的密码)
crypt表示口令字段中口令的加密方式:
crypt=0,口令以明文方式(不加密)保存在数据库中;
crypt=1,口令使用UNIX系统的DES加密方式加密后保存在数据库中;
crypt=2,口令经过MySQL的password()函数加密后保存。
最后,重新启动VSFTPD。