ftp服务器搭建linux
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、配置vsftpd.conf 配置之前要先备份一下原来的
vi /etc/vsftpd/vsftpd.conf
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_user.db
8、设置数据库文件访问权限
chmod 600 /etc/vsftpd/vconf/vir_user
chmod 600 /etc/vsftpd/vconf/vir_user.db
9、修改/etc/pam.d/vsftpd
auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
account sufficient pam_userdb.so 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= //需要指定的网站根目录,例如www..com所在文件夹为/www/
anonymous_enable=NO #禁止匿名用户访问
write_enable=YES #开启写权限
local_umask=022 #上传后文悉差件的权限掩码
anon_upload_enable=NO #关闭匿名下载
anon_mkdir_write_enable=NO #关闭匿名创建文件夹
idle_session_timeout=60 #会话自动关闭时间 60是因分钟
data_connection_timeout=120 #数据延迟时间
max_clients=10 #最大连接数
max_per_ip=5 #同一个ip同时允许5个IP联机
local_max_rate=1048576 #实体用户传输速度限制,单位B/s。0代表不限制
13、配置就此完成,重启vsftpd服务:service vsftpd restart。
查看系统端口状态:netstas -tulnp。如果能看到48796端口正在被vsftpd调用说明启动成功。
Ⅱ linux系统下FTP服务器配置方法
1、 安装vsftp
rhel4系统中包括了vsftp服务器的rpm安装包,包名称是vsftpd-2.0.1-5.i386.rpm
#rpm –ivh vsftpd-2.0.1-5.i386.rpm
2、 vsftpd服务器的基本配置
vsftpd服务器的配置文件保存在“/etc”目录和它的子目录中。
(1) vsftpd.conf文件中的配置项
vsftpd.conf文件中所有的配置记录都包括配置项和配置值两部分内容,中间用等号连接。
anonymous_enable=YES
(2) vsftpd服务器的默认配置
vsftpd.conf文件中的默认配置使用于最常用的FTP服务器配置需求,去除注释行后的配置文件中包括如下配置内容:
#grep –v ‘#’ vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
l vsftpd.conf文件中的默认配置的含义如下:
l anonymous_enable=YES,表示FTP可以允许匿名登陆
l local_enable=YES,表示允许本地用户登陆
l write_enable=YES,表示FTP服务器开放对本地用户的写权限
l local_umask=022,设置本地用户的文件生成掩码
l dirmessage_enable=YES,当切换到FTP服务器中的某个目录时,将显示该目录下的“.message”隐含文件了内容
l xferlog_enable=YES,FTP将启用上传和下载日志
l connect_from_port_20=YES,ftp将启用ftp数据端口的连接请求
l xferlog_std_format=YES,ftp将使用标准的ftpd xferlog日志格式
l pam_service_name=vsftpd,设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下。
l userlist_enable=YES,ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
l listen=YES,ftp服务器将处于独立启动模式
l tcp_wrappers=YES,ftp服务器将使用tcp_wrappers作为主机访问控制模式。
3、 vsftpd.ftpusers文件
vsftpd.ftpusers文件位于“/etc”目录中,用于保存不允许进行ftp登陆的本地用户帐号,这些帐号(包括root用户在内)通常不是普通用户帐号,而是在系统中具有较高权限的帐号。禁止这些用户可以提高系统的安全性
4、 vsftpd.user_list文件
vsftpd.user_list文件位于“/etc”目录中,具有与vsftpd.ftpusers文件类似的访问控制功能,但是使用起来更加灵活。
(1) 设置登陆的用户帐号
当vsftpd.conf配置文件中包括以下设置时,vsftpd.user_list文件中的用户帐号被禁止进行ftp登陆。
userlist_enable=YES
userlist_deny=YES
userlist_deny设置项设置使用vsftpd.user_list文件,userlist_deny设置为YES表示vsftpd.user_list文件用于设置禁止登陆的用户帐号。
(2) 设置只允许登陆的用户帐号
当vsftpd.conf配置文件中包括以下设置时,只有vsftpd.user_list文件中的用户帐号能够进行ftp登陆
userlist_enable=YES
userlist_deny=YES
userlist_enable设置项设置使用vsftpd.user_list文件,userlist_deny设置为NO表示vsftpd.user_list文件用于设置只允许登陆的用户帐号,文件中未包括的用户帐号被禁止ftp登陆
5、 匿名用户登陆目录
当用户匿名登陆ftp服务器时,将进入“/var/ftp”目录,并且将该目录作为根目录,即匿名用户不能离开该目录,只能进入该目录的子目录
6、 启动vsftpd服务
#service vsftpd restart
7、测试ftp服务器