Linux下安装配置VSFTP服务器

19 篇文章 0 订阅
5 篇文章 0 订阅

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用户设置密码为123
Changing password for user micxp.
New password:123
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is too simple
Retype new password:123
passwd: 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=YES
userlist_deny=YES #则 /etc/vsftpd/user_list文件中的用户禁止登录
第二种方法
userlist_enable=YES
userlist_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=vsftpd
guest_enable=YES  #这个是开启虚拟用户
guest_username=vsftp  #虚拟用户所映射的本地用户

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

auth required pam_userdb.so db=/etc/vsftpd/vuser
account 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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值