Linux下安装配置VSFTP服务器

1、安装vsftpd软件包#yum -y install vsftpd db4 db4-utils安装完成后先关闭SELinux及iptables防火墙

2、启动vsfptd服务器#service vsftpd start现在就可以用匿名用户登录了。默认的匿名用户为'ftp',密码为空。根目录为'/var/ftp'现在匿名用户只能从服务器上下载文件,没有上转及建立文件夹等等权限。

3、vsftpd配置(/etc/vsftpd/vsftpd.conf)

a:设置使匿名用户能够上传文件下载文件以建立文件夹等。

anon_upload_enable=YES #设置匿名用户有上转文件的权限anon_mkdir_write_enable=YES #设置匿名用户新建文件夹及文件权限anon_other_write_enable=YES #设置匿名用户有重命名及删除等权限改完上面的备置后重启vsftpd服务

登录vsftp服务器后发现还是不能上转文件等,这里是因为/var/ftp的目录所属权为root。不过,即使你改了/var/ftp的属性权为ftp能达到效果,不过你再次登录时你会发现登不了vsftp服务器了。所在,所以我们改ftp里的面的文件夹才可生效。#chown ftp /var/ftp/pub

好了,完成上面这步后,我们的匿名用就可以正常登录并可以上传下载,及创建删除文件夹等。

b:设置使本地用户能够上传文件下载文件以建立文件夹等。首先我们要先创建一个本地用户,因为vsftpd为了安全默认的情况下是不允许root等拥有高级权限的用户登录的。且体是哪些用户可以查看(/etc/vsftpd/ftpusers)

#useradd -s /sbin/nologin micxp  #这里用 -s /sbin/nologin使该用户不登录系统。#passwd micxp    #这里为给micxp用户设置密码为123Changing password for user micxp.New password:123BAD PASSWORD: it is WAY too shortBAD PASSWORD: is too simpleRetype new password:123passwd: all authentication tokens updated successfully.

好了,在vspftd.conf默认的置设置就可以用本地用户登录ftp服务器了。并且也有上转与下载删除与创建文件夹等权限,不过,你会发这个用户可以切换到系统的根目录下。这样是很不安装的,所以我们要设置配置文件,把本地用户限制在自己的家目录下。也就是/home/micxp

chroot_local_user=YES  #这里开启把所有的本地用户限制在自己的家目录下(下面的设置将无效)

如需限制部份用户把上面的配置设为NO,并把下面的两个启用。chroot_list_enable=YES #这里开启是把需要限制的用户限制在家目。需要限制的用户须写入下面的chroot_list文件中。# (default follows)chroot_list_file=/etc/vsftpd/chroot_list  #这个与chroot_list_enable配对使用。

现在我对本地用户的配置己基本完成。对于一些如果限速及客户端链接数的设置在后面介绍。

下面是控制本地用户是否可登录配置第一种方法userlist_enable=YESuserlist_deny=YES #则 /etc/vsftpd/user_list文件中的用户禁止登录第二种方法userlist_enable=YESuserlist_deny=NO  #则 /etc/vsftpd/user_list文件中的用户可以登录

说明:"/etc/vsftpd/user_list"是默认存在的,还有一个文件"/etc/vsftpd/ftpusers"这个文件中的用户是禁止登录。

c:设置使用虚拟用户能够上传文件下载文件以建立文件夹等。

首先建立一个虚拟用户口令的文本文件,格式为单数行为用户名,偶数行为口令如下:vi /etc/vsftpd/vuser.txt输入以下内容vmicxp  #虚拟用启名456     #用户口令

保存,并用db_load生成用户口令库文件。如下:#db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db#chmod 600 /etc/vsftpd/vuser.db  #为了安全设为只读。

现在编辑/etc/vsftpd/vsftpd.conf 查看是有否有 pam_service_name=vsftpd 确保开启。如果没有自行添加。

pam_service_name=vsftpdguest_enable=YES  #这个是开启虚拟用户guest_username=vsftp  #虚拟用户所映射的本地用户

现在来创建一下这个"vsftp"用户#useradd vsftp上面那个vsftpd是在/etc/pam.d/vsftpd 这个文,打开这个文件用#号注释掉所有内容。并添加以下两行。

auth required pam_userdb.so db=/etc/vsftpd/vuseraccount required pam_userdb.so db=/etc/vsftpd/vuser

需要注意的是,上面那个db所指的vuser这个文件不需要加".db"不然会登录不了的。

好了,现在就可以用vmicxp这个用户登录vsftp服务器了,不过你会发现能登录但什么也看不到。是因为虚拟用的默认权限为匿名用权限,需在主配置文件中设置"virtual_use_local_privs=YES"使虚拟用户拥有和本地用户一样的权限。

virtual_use_local_privs 这个参数具体用法如下。

当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

注你也可以用user_config_dir=/etc/vsftpd/vsftpd_user_conf来为每个虚拟用设置当独的权限

#mkdir /etc/vsftpd/vsftpd_user_conf#vi /etc/vsftpd/vsftpd_user_conf/vmicxp  #vmicxp 这个文件名对应于你每一个虚拟用户。

#如为这个用设置他的家目录。

local_root=/home/vmicxp

好了现在也完成了虚拟用户的设置了。

(0)

相关推荐

  • 在Red Hat Linux下安装配置Samba

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.通过Samba也可以快速实现Linux与Windows传输文件.下面由小编为大家演示在Red Hat L ...

  • Linux 下安装配置go语言环境

    linux下安装go 操作方法 01 下载最新版本的Go语言二进制档案包,下载地址http://golang.org/dl/(官网) 或http://golangtc.com/download,注意选 ...

  • win7系统下安装配置IIS服务器的方法

    熟悉的朋友会知道,IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传 输、新闻服务和邮件发送等方面,它使得在网络上发布信息成了一件 ...

  • 如何在Linux下安装Sendmail服务器软件的方法

    如何在Linux下安装Sendmail服务器软件的方法

  • linux下安装jira详细步骤

    linux下安装jira 第一步:安装jdk 1.从官网下载jdk的安装包 2.将jdk的安装包上传到虚拟机或者服务器:scp 文件名(jdk-7u17-linux-x64.tar.gz) root@ ...

  • linux下安装apache详解

    下载httpd-2.2.6.tar.bz2 把httpd-2.2.6.tar.bz2放到/soft 下 [root@localhost ~]#cd /soft [root@localhost soft ...

  • Linux下安装Cobbler以建立Linux网络安装环境

    Linux下使用cobbler可以快速建立Linux网络安装环境,大大降低了Linux网络安装的技术门槛,那么Linux系统要如何安装Cobbler呢?一起来学习下吧。 cobbler的简介 cobb ...

  • linux下安装jira

    linux下安装jira 第一步:安装jdk 1.从官网下载jdk的安装包 2.将jdk的安装包上传到虚拟机或者服务器:scp 文件名(jdk-7u17-linux-x64.tar.gz) root@ ...

  • CentOS下安装配置Tomcat环境

    CentOS下安装配置Tomcat 演示环境 系统:Linux CentOS 6.3 32位 环境:无安装apache、php、mysql 账号:Root 一、下载相关安装包 注:可以先进入 #cd ...