多语言展示
当前在线:1414今日阅读:103今日分享:49

Linux ftp服务器搭建

Linux ftp服务器搭建    Linux ftp服务器一般和Linux http 服务器搭建在同一台,前者是主要提供下载后者是提供访问。    默认情况下,存储通过挂载到http默认访问路径/var/www/html目录中。那么其目录下的文件如何通过ftp下载呢?    Linux下有很多可用的FTP服务器,其中rhel默认为VSFTP    vsftp中VS的意思是“Very Secure”   vsftp提供3种远程的登录方式:   (1)匿名登录方式           就是不需要用户名,密码。就能登录到服务器下载目录   (2)本地用户方式           需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统 里面,已经有的用户。   (3)虚拟用户方式           同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)在这里只介绍前面两种登录方式ftp服务器部署步骤:(1)准备步骤1、安装ftp程序2、启动、重启、停止 ftp服务3、设置ftp开机自启动(2)匿名登录方式1、在/var/ftp/pub目录下创建一个名为test.txt的文件2、更改默认下载路径方法(3)本地用户方式1、取消匿名登录方式2、创建专门用户ftp服务的本地用户3、设置创建的用户可用于ftp4、更改默认下载路径方法(4)详细了解ftp相关设置1、ftp不常见使用方法2、相关配置文件3、vsftpd.conf参数详解
(1)准备步骤
1

1、安装ftp程序rpm -qa | grep vsftpd 检测系统是否安装ftp程序如果没有安装,使用yum 安装或者使用rpm -Uvh rpm包名yum配置详细步骤参考我的经验:rhel6.4 yum本地yum源配置

3

3、设置ftp开机自启动chkconfig vsftpd on

(2)匿名登录方式
1

1、在/var/ftp/pub目录下创建一个名为test.txt的文件可以看到,在没有更改ftp默认配置时候,ftp服务器默认下载位置是/var/ftp/pub。如果想更改这个默认下载路径有两种方法:1、更改/etc/passwd文件2、在/etc/vsftpd/vsftpd.conf文件添加一行local_root=/var/www/html

2

更改默认下载路径方法每种方法更改之后都需要重启ftp服务service vsftpd restart注意:此时ftp能够提供下载的同时,http同样能够提供访问注意:使用这种服务必须将selinux关闭。编辑/etc/selinux/config文件修改SELINUX为disabled,并执行执行setenforce 0 命令这样无需重启服务器。

(3)本地用户方式
1

1、取消匿名登录方式anonymous_enable=YES 修改成NO

2

2、创建专门用户ftp服务的本地用户useradd sa   创建用户passwd sa     设置密码

3

3、设置创建的用户可用于ftp首先将vsftpd.conf文件中的#chroot_list_enable=YES  # (default follows)  #chroot_list_file=/etc/vsftpd.chroot_list   将其改为:   chroot_list_enable=YES  # (default follows)  chroot_list_file=/etc/vsftpd/chroot_list  然后新增一个文件/etc/vsftpd/chroot_list,文件内容为之前刚创建的用户:   sa注意: chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list 这两行的意思就是chroot_list文件中用户列表可以用户访问ftp#chroot_local_user=YES    是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下chroot_local_user默认为NO,设置指定用户能够chroot

4

4、更改默认下载路径方法在/etc/vsftpd/vsftpd.conf文件添加一行local_root=/var/www/htmlsa登录之后默认下载路径是/home/sa注意:此时ftp能够提供下载的同时,http同样能够提供访问注意:使用这种服务必须将selinux关闭。编辑/etc/selinux/config文件修改SELINUX为disabled,并执行执行setenforce 0 命令这样无需重启服务器。最后重启:service vsftpd restart

(4)详细了解ftp相关设置
1

1、ftp不常见使用方法1、限制IP 访问FTP:#vi /etc/hosts.allowvsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务2、FTP 访问时间限制:#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd#vi /etc/xinetd.d/vsftpd/修改 disable = noaccess_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp3、针对不同的使用者限制不同的速度。假设用户sa所能使用的最高速度为500Kb/s第一:在/etc/vsftpd/vsftpd.conf文件尾部新增以下一行: user_config_dir=/etc/vsftpd/userconf 增加一个名为/etc/vsftpd/userconf的目录: #mkdir /etc/vsftpd/userconf 第二: 在/etc/vsftpd/userconf下新增一个名为sa的文件,其内容如下所示: local_max_rate=500000 4、对于每一个联机用户,都以独立的进程来运行。一般情况下,在启动VSFTP时,只会看到一个名为vsftpd的进程在运行。但若是读者希望每一个联机用户都能以独立的进程来呈现,则可通过在/etc/vsftpd/vsftpd.conf文件中增加以下一行来实现: setproctitle_enable=YES

2

2、相关配置文件vsftp.conf:  /etc/vsftpd/vsftpd.conf,包含了FTP服务的基本配置参数。指令格式为option=value,每条指令独占一行并且指令之前不能有空格,而且在option、value和=之间不能有空格。/etc/vsftpd/ftpusers:  这个文件是用来记录'不允许'登录到FTP服务器的用户,通常是一些系统默认的用户./etc/vsftpd/user_list:  其实它的内容跟上面那个文件内容一样,只是在系统对文件vsftpd.conf 进行检测时,会检测到'userlist_deny=YES',因此这个文件必须存在.

3

3、vsftpd.conf配置参数详解(1)ftpd_banner=welcome to ftp service  设置连接服务器后的欢迎信息(2)idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)(3)data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间(4)accept_timeout=60 设置在多长时间后自动建立连接(5)connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;(6)max_clients=200 指明服务器总的客户并发连接数为200(7)max_per_ip=3 指明每个客户机的最大连接数为3(8)local_max_rate=50000(50kbytes/sec)  本地用户最大传输速率限制(9)anon_max_rate=30000匿名用户的最大传输速率限制(10)pasv_min_port=端口(11)pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;(12)listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;(13)listen_port=端口号 设置FTP工作的端口号,默认的为21(14)chroot_local_user=YES 设置所有的本地用户可以chroot(15)chroot_local_user=NO 设置指定用户能够chroot(16)chroot_list_enable=YES(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用户才能执行 )(18)local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;(19)chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;(20)chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;(21)userlist_enable=YES/NO 是否加载用户列表文件;(22)userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;(23)userlist_file=/etc/vsftpd/user_list 列表文件

注意事项

使用这种服务必须将selinux关闭。编辑/etc/selinux/config文件修改SELINUX为disabled,并执行执行setenforce 0 命令这样无需重启服务器。

推荐信息