Linux系统下FTP服务器的配置

FTP服务器的配置

 

FTP服务器的安装

1ftp服务器安装后生成的相关文件

/etc/logrotate.d/vsftpd  #实现日志滚动的程序
/etc/pam.d/vsftpd  #用户认证配置文件
/etc/rc.d/init.d/vsftpd  #服务脚本
/etc/vsftpd #配置文件所在目录
/etc/vsftpd/ftpusers  #控制哪些用户是否可登陆ftp
/etc/vsftpd/user_list  #控制哪些用户是否可登陆ftp
/etc/vsftpd/vsftpd.conf  #主配置文件
/var/ftp  #匿名用户(被映射为系统用户)共享资源位置

2)安装ftp服务器(安装前配置好yum源以及确保iptables关闭)

#yum install vsftpd –y
查看安装vsftp后生成的文件
#rpm -ql vsftpd
启动vsftpd服务,并查看21端口是否开启
# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
# ss -tnlp | grep 21
LISTEN     0     32                       *:21                       *:*      users:(("vsftpd",2933,3))

到此,我们的ftp服务器就安装好了!
测试连接访问ftp服务器,发现可以成功使用!
# ftp 192.168.3.130
lftp 192.168.3.130:~> ls             
drwxr-xr-x    2 0       0            4096 Aug 04  2014 pub

基于mysql存储用户信息认证的FTP服务器的配置

1.配置文件相关信息

# 是否允许匿名用户登录。默认值为YES。
anonymous=YES|NO
# 是否允许匿名用户上传文件(如果设置为YES,则write_enable也必须设置为YES)。默认值为NO。
anon_upload_enable=YES|NO
# 是否允许匿名用户创建目录(如果设置为YES,则write_enable也必须设置为YES)。默认值为NO。
anon_mkdir_write_enable=YES|NO
# 是否允许匿名用户删除和重命名文件(如果设置为YES,则write_enable也必须设置为YES)。默认值为NO。
anon_other_write_enable=YES|NO
# 具体解释请看我的另一篇博文。默认值为YES。
anon_world_readable_only=YES|NO
# 用于设置匿名用户上传文件的umask值。默认值为077。
anon_umask=077
 用户限制匿名用户的传输速度(单位:Byte/s)。默认值为0(表示无限制)。
anon_max_rate=0
# 是否允许匿名用户通过SSL连接(如果设置为YES,则ssl_enable也必须设置为YES)。默认值为NO。
allow_anon_ssl=YES|NO
# 是否改变匿名用户上传文件后文件的属主。默认值为NO。
chown_uploads=YES|NO
# 用于设置匿名用户上传文件后文件的属主(只有chown_uploads设置为YES时该参数才生效)。默认值为root。
chown_username=root
# 是否允许非匿名用户登录。默认值为NO。
local_enable=YES|NO
# 是否允许用户具有写权限。默认值为NO。
write_enable=YES|NO
# 是否允许用户下载文件。默认值为YES。
download_enable=YES|NO
# 用于设置非匿名用户上传文件的umask值。默认值为022。
local_umask=022
# 是否允许用户在登录到FTP服务器后使用ls -R等比较占用系统资源的命令。默认值为NO。
ls_recurse_enable=YES|NO
# 是否允许用户使用dir之类的列目录命令。默认值为YES。
dirlist_enable=YES|NO
# 是否启用用户列表。默认值为NO。
userlist_enable=YES|NO
# 如果设置为YES,则表示拒绝列表内的用户登录,否则表示只允许列表内的用户登录。默认值为YES。
userlist_deny=YES|NO
# 用于设置用户列表的路径。默认值为/etc/vsftpd/user_list。
userlist_file=/etc/vsftpd/user_list
# 是否将本地用户控制在家目录中。默认值为NO。
chroot_local_user=YES|NO
# 如果设置为YES,则chroot_local_user也必须为YES,表示只有在列表中的用户能离开家目录,如果设置为NO,则表示不启用列表。默认值为NO。
chroot_list_enable=YES|NO
 
# 用于设置列表的路径。默认值为/etc/vsftpd/chroot_list。
chroot_list_file=/etc/vsftpd/chroot_list
# 用于指定所有非匿名用户的根目录,默认情况,FTP会将各用户引导到各自的家目录,如果你希望所有用户登录到同一个根目录,那么你就需要用到该参数了。无默认值。
local_root
# 用于限制非匿名用户的传输速度(单位:Byte/s)。默认值为0(表示无限制)。
local_max_rate=0
# 是否允许客户端使用sync等命令。默认值为NO。
async_abor_enable=YES|NO
# 是否允许上传文件时使用ASCII传输模式。默认值为NO。
ascii_upload_enable=YES|NO
# 是否允许下载文件时使用ASCII传输模式。默认值为NO。
ascii_download_enable=YES|NO
# 用于设置回话超时时间(单位:秒)。默认值为300。
idle_session_timeout=300
# 用于设置数据传输的超时时间(单位:秒)。默认值为300。
data_connection_timeout=300
# 用于设置被动连接的超时时间(单位:秒)。默认值为60。
accept_timeout=60
# 用于设置主动连接的超时时间(单位:秒)。默认值为60。
connect_timeout=60
# 用于限制上传文件的类型,例如deny_file={*.mp3,*.exe}。无默认值。
deny_file
# 当vsftpd服务器连接多个网络时,如果只希望监听某个网络的请求时,就需要设置该参数了。无默认值。
listen_address
# 用于设置监听的端口。默认值为21。
listen_port=21
# 用于设置最大连接数。默认值为2000。
max_clients=2000
# 用于设置同一台主机的最大连接数。默认值为50。
max_per_ip=50
# 是否使用本地时间。默认值为NO。
use_localtime=YES|NO
# 是否启用standalone模式并通过ipv4监听。默认值为NO。
listen=YES|NO
# 是否启用standalone模式并通过ipv6监听。默认值为NO。
listen_ipv6=YES|NO
# 是否启用tcp_wrappers访问控制列表。默认值为NO。
tcp_wrappers=YES|NO
# 是否使用20端口来传输数据。默认值为NO。
connect_from_port_20=YES|NO
 
# 用于设置数据传输端口。默认值为20。
ftp_data_port=20
# 用于设置被动连接时,客户端的数据连接端口的最小值。默认值为0(表示采用随机端口)。
pasv_min_port
# 用于设置被动连接时,客户端的数据连接端口的最大值。默认值为0(表示采用随机端口)。
pasv_max_port
# 用于设置vsftpd服务的运行用户。默认值为nobody。
nopriv_user=nobody
# 是否启用日志记录用户的上传/下载。默认值为NO。
xferlog_enable=YES|NO
# 是否采用标准日志文件来记录日志。默认值为NO。
xferlog_std_format=YES|NO
# 用于设置日志文件的路径。默认值为/var/log/xferlog。
xferlog_file=/var/log/xferlog
# 指定登录到FTP时的欢迎信息。无默认值。
ftpd_banner
# 是否在用户切换目录时显示欢迎信息,如果设置为YES,则需要在每个需要显示欢迎信息的目录下创建名为.message的文件,并在里面输入欢迎信息才会显示。默认值为NO。
dirmessage_enable=YES|NO
# 用于设置保存欢迎信息的文件名。默认值为.message。
message_file=.message

2.配置流程

1).实验须知:

node1:192.168.3.11,作为ftp服务器

node2:192.168.3.12,作为mysql服务器

2).实验步骤:

一、安装所需要的程序

      1.在node1安装vsftpd 和连接mysql的模块pam_mysql
       #yum install vsftpd pam_mysql  -y
       2.在node2上安装mysql,并启动mysql服务
       #yum install mysql-servermysql-devel  -y
       # service mysqld start
       # ss -tnlp | grep 3306
LISTEN     0     50                       *:3306                     *:*      users:(("mysqld",2764,10))

    二、创建虚拟用户账号

    1.在node2上准备数据库及相关表
     #mysql
      >CREATE DATABASE vsftpd;
      >use vsftpd;
      >GRANT SELECT ON vsftpd.* [email protected]‘192.168.3.%‘ IDENTIFIED BY ‘tanjie123‘;
      >FLUSH PRIVILEGES;
 
  在node1主机上测试是否授权是否成功,能否成功连接
  # mysql -uvsftp -h192.168.3.12 -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
………………..
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
| vsftpd             |
+--------------------+
3 rows in set (0.00 sec)
 2.在node2上添加测试的虚拟用户
    在node2上创建用户表,并插入用户数据
      >CREATE TABLE users (
       id INT UNSIGNED NOT NULLAUTO_INCREMENT PRIMARY KEY,
         name VARCHAR(50) BINARY NOT NULL,
         password CHAR(48) BINARY NOTNULL);
      >DESC users;
 
    >INSERT INTO users(name,password) VALUES(‘tom‘,password(‘tanjie123‘)),(‘jerry‘,password(‘tanjie‘));
     >select * from  users;
+----+-------+-------------------------------------------+
| id | name  | password                                  |
+----+-------+-------------------------------------------+
|  1 | tom  | *DD9360964DF8A7220B7D9725AFE323C5587B635F |
|  2 | jerry |*D3D009DE1810BBFD11427A1BED30C9B22564DD4D |
+----+-------+-------------------------------------------+
2 rows in set(0.00 sec)

  三 配置vsftpd

  1.在node1建立pam认证所需文件
       #vim /etc/pam.d/vsftpd.mysql
       添加如下:
              auth required pam_mysql.souser=vsftp passwd=tanjie123 host=192.168.3.12 db=vsftpd table=users usercolumn=namepasswdcolumn=password crypt=2
              account required pam_mysql.souser=vsftp passwd=tanjie123 host=192.168.3.12 db=vsftpd table=usersusercolumn=name passwdcolumn=password crypt=2
 
       2.在node1修改配置文件
       先建立系统账号,用户名为vuser,家目录为/var/ftproot vuser
,并给予/var/ftproot目录其他用户可读、可执行权限
       #useradd -s /sbin/nologin  -d /var/ftproot vuser
       #chmod go+rx /var/ftproot
       #vim /etc/vsftpd/vsftp.conf
       在文件里添加如下2项,并修改pam_service_name为vsftpd.mysql:
              guest_enable=YES
              guest_username=vuser
              pam_service_name=vsftpd.mysql 
 
       #service vsftpd restart

在node2上测试访问,输入tom,密码tanjie123

#ftp 192.168.3.11

.配置虚拟用户具有不同的访问权限

1.在配置文件中添加vsftpd虚拟用户使用配置文件目录,然
       #vim vsftpd.conf
              添加一项:
              user_config_dir=/etc/vsftpd/vusers
创建虚拟用户使用配置文件目录,并在目录里面创建tom和jerry俩文件,更改配置,使得tom能上传、创建、删除文件,而jerry不能上传、创建、删除文件
       #mkdir /etc/vsftpd/vusers
       #cd vusers
       #vim tom
              anon_upload_enable=YES
              anon_mkdir_write_enable=YES
              anon_other_write_enable=YES
       #vim jerry
              anon_upload_enable=NO
              anon_mkdir_write_enable=NO
              anon_other_write_enable=NO
重启服务
       #service vsftpd restart

在node2上,用ftp登录192.168.3.11,选择tom和jerry登录,然后分别上传、创建文件,观察成功与否结果

时间: 2024-10-26 09:25:32

Linux系统下FTP服务器的配置的相关文章

使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理

http://www.ibm.com/developerworks/cn/linux/l-ipmi/ 1.简介 IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准.用户可以利用 IPMI 监视服务器的物理特征,如温度.电压.电扇工作状态.电源供应以及机箱入侵等.Ipmi 最大的优势在于它是独立于 CPU BIOS 和 OS 的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服

Linux下FTP服务器的配置及其应用

一.FTP简介: FTP: file transfer protocol (文件传输协议)是一个用于在两台或者多台不同的操作系统中传输文件的协议,从FPT的诞生至今已经40年了.今年是它的40年纪念.所以它理所当然的成为了这个世界上最古老的协议,没有之一. 二.FTP工作原理 FTP的工作基于TCP协议 我们最常见的也是最常用的端口: 21号端口:是实现命令控制的.(当我们验证之后,我们执行一些比如put get ls等命令都是通过这个端口进行传输的) 20号端口:实现数据传输的. 服务器有两种

详解Linux系统下PXE服务器的部署过程

在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量. 但是批量自动化安装服务器的基础是网络启动服务器(bootserver). 下面我们就介绍一下 网络启动服务器的 安装和配置方法,供大家实践之用!1. 本文用到的术语解释PXEPXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘.光驱等设备启动.现代的网卡,一般都内嵌支持PXE的ROM芯片.当计算机引导时,BIOS把PXE client调入内

Linux系统搭建FTP服务器

在Linux系统中搭建FTP服务器 一.搭建概述: 在Linux系统中搭建一台FTP服务器是很必要的,这个服务器只要你搭建成功以后就可以在这个服务器上存放一些你自己需要的一些软件.文档.手册等等.搭建好以后就可以直接使用这个服务器,提升了你自己的一个工作速度和一些工作的简便方法.下面就来具体的搭建一下.本问是自己一个人摸索搭建的,如有什么不妥的地方请多多指教.谢谢! 二.搭建步骤: 1.启动Linux虚拟机,并在命令终端上操作. 2.检测一下系统中是否安装FTP服务器 命令:rpm-qa | g

使用 ipmitool 实现 Linux 系统下对服务器的BMC管理

IPMI是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种工业标准,该标准由英特尔.惠普.NEC.美国戴尔电脑和SuperMicro等公司制定.用户可以利用IPMI监视服务器的物理健康特征,如温度.电压.风扇工作状态.电源状态等. IPMI工作原理: IPMI的核心是一个专用芯片/控制器(叫做服务器处理器或基板管理控制器(BMC)),其并不依赖于服务器的处理器.BIOS

Linux系统下Apache2.4.6配置虚拟主机

实验环境:一台Linux虚拟机:CentOS 7.6,Apache 2.4.6,IP地址为192.168.80.100:一台客户端:Windows XP,IP地址为192.168.80.200.虚拟主机:即可以在一台web服务器上运行多个网站.实现方法有3种:1.基于IP地址的虚拟主机,一台web服务器配置多个IP地址,一个IP地址对应一个网站.2.基于端口的虚拟主机,一台web服务器只用一个IP地址提供web服务,开放多个端口,客户端访问web服务器时,需要在网址的后边加上相应的端口号.3.基

linux系统下安装python3及其配置

Linux下安装Python3.6和第三方库 linux一般自带python2,不要动它,使用python3运行python脚本就好,部分linux系统命令依赖目前的python2环境, 比如yum! 不要动现有的python2环境! 一.安装python3.6 安装依赖环境 命令:# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdb

迅为iTOP-4412开发板Linux系统下如何配置wifi模块

精英版在 linux 下使用 wifi,需要进行下面的配置: 首先用户在拿到光盘资料以后查看下光盘里面的"linux"->"root_xxxxxxxx.tar.gz"文件,其中的 "xxxxxxxx" 代表linux系统的版本日期, 迅为提供的支持linux下wifi的系统版本是 "root_20150422.tar.gz" , 也就是 2015-04-22 以后的版本(包括 20150422)是支持 wifi 模块的.

linux下FTP服务器的安装与配置

FTP服务器安装与配置 1. 切换到root用户:  su root 2. 查看系统中是否安装了vsftpd,可以通过执行命令 :  rpm -qa | grep vsftpd 3. 如果没有安装 vsftpd,则安装 :  yum -y install vsftpd 4. 创建ftp用户,比如ftp_test.命令:   useradd -s /sbin/nologin -d /home/ftp_test ftp_test 5. 设置ftp_test用户密码.命令:  passwd ftp_t