vsftpd的简单使用

来源:互联网 发布:堵门游戏 知乎 编辑:程序博客网 时间:2024/05/22 03:07

简介

vsftpd 是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。一般操作系统默认的ftp软件就是vsftpd,今天会谈一下笔者的使用。

从百度上找了它的一些特点:

  1. vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;
  2. 任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;
  3. 所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;
  4. 此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。

使用

使用背景是hive中跑出的大数据文件需要传送到对应机器上处理,避免人工介入。内网使用,但是还是需要简单的安全措施。

vsftpd的配置

所有配置采用默认值,但是处于安全考虑,笔者为ftp的上传者创建了用户,上传时使用新建的用户。


chroot_local_user=YES
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list


简单解释下以上三个配置

chroot_local_user 设置成YES时意思为

              If set to YES, local users will be (by default) placed in a chroot() jail in their home directory after  login.   Warning:  This
              option  has security implications, especially if the users have upload permission, or shell access. Only enable if you know what
              you are doing.  Note that these security implications are not vsftpd specific. They apply to all FTP daemons which offer to  put
              local users in chroot() jails.

以上是使用man查看说明得到的,意思为使用local用户登录时,会使用chroot()方法,把登录的用户限制在他们的home下,这里使用了监狱的说法,其它的文件对于登录用户不可见。

chroot_local_user的比较严格,对于所有本地用户都使用这个策略,更多使用我们是把该值设为NO,然后添加chroot_list_enable,chroot_list_file配置。

chroot_local_user=NO

chroot_list_enable=YES(是否使用user_list文件)

chroot_list_file=/etc/vsftpd/chroot_list 这三个配置项配合就是只对chroot_list文件中的用户使用chroot。

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list 这三个配置项配合就是不对chroot_list文件中的用户使用chroot,其他local users都使用。

chroot_list_file指定的文件只有在chroot_list_enable=YES时才会被读取。


启动

service vsftpd start

service vsftpd restart (修改配置后,必须重启才会有效)


客户端使用

linux下

ftp host

输入帐号,密码,这个是刚刚专门为其创建的

yz-kvm-zp-01.dns.ganji.com接下来可以使用命令了

ls 列出远程机的当前目录
cd 在远程机上改变工作目录
lcd 在本地机上改变工作目录
ascii 设置文件传输方式为ASCII模式
binary 设置文件传输方式为二进制模式
close 终止当前的ftp会话
hash 每次传输完数据缓冲区中的数据后就显示一个#号
get(mget) 从远程机传送指定文件到本地机
put(mput) 从本地机传送指定文件到远程机
open 连接远程ftp站点

这里cd只能在登录的home目录活动,对于用户来说。home相当于根目录了。

0 0
原创粉丝点击