xml地图|网站地图|网站标签 [设为首页] [加入收藏]
构建基于虚拟用户的vsftpd服务器,实现windows命令
分类:操作系统

1:使用win+r打开 运行 控制台

安装:

在编程或是整理知识的时候一直苦于没有一款可以帮助理清思路的工具。

2:输入 regedit 打开注册表

[root@server ~]# yum install -y vsftpd

在网上苦寻良久,终于找到了一款可心可意的小软件 —— Graphviz。

3:进入

[root@server ~]# rpm -ql vsftpd

 

图片 1图片 2

/etc/logrotate.d/vsftpd

折腾了一番,终于可以凑合着用了。

  1 HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand ProcessorCompletionChar

/etc/pam.d/vsftpd

现将折腾的成果记录于此以作备忘,当然如果能够抛砖引玉那就再好不过了。

View Code

/etc/rc.d/init.d/vsftpd

因为本人主要使用 Windows 以下将用 Windows 环境为例进行介绍。

将值改为十进制的 9 ;点击确定

/etc/vsftpd

 

图片 3

/etc/vsftpd/ftpusers

First

4:以后运行CMD的时候 输入首字母按住 TAB键就能自动补全输入的命令了。    

/etc/vsftpd/user_list

  1. 于此处下载需要的版本:
  2. 将下载好的 msi 文件或 zip 文件安装或解压,记下安装路径。
  3. 将安装目录中的 bin 文件夹放入 path。

图片 4图片 5

/etc/vsftpd/vsftpd.conf

Sencond

  1 reg:
  2  Windows Registry Editor Version 5.00
  3 
  4 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor]
  5  "CompletionChar"=dword:00000009
  6 

/etc/vsftpd/vsftpd_conf_migrate.sh

  1. 于此处下载可以自动刷新的看图软件 JPEGView:
  2. 解压后把它放到你想放的地方

View Code

/usr/sbin/vsftpd 

Third

图片 6

.......

  1. 你应该已经安装 VIM 了吧,如果没有就去这里下载安装:
  2. 现在找到你的 .vimrc 文件,在其中添加如下内容:  

    1 autocmd BufWritePost .dot :silent !dot -Tpng -o %<.png % 2 3 autocmd BufWinEnter .dot nno g :!start “JPEGView 主程序的路径” %:p:r.png

 

[root@server ~]# /etc/init.d/vsftpd start

第一行里的 % 代表当前编辑文件的文件名而 %< 则表示去掉了扩展名的文件名,加上 .png 就构成了输出图像的文件名。所以这一句的意思是在保存当前 .dot 文件的时候同时生成相应的 .png 文件以方便查看。

网上说不行的,大概是说命令不能补全,文件名和目录是可以的, 确实在cmd里面无法tab补全, 不过我喜欢用powershell, powershell里面是可以实现命令补全的.

Starting vsftpd for vsftpd:                                [  OK  ]

第二行的意思是当用户按下 <leader>g 的时候用 JPEGView 打开上一步中生成的图片文件。其中 %:p:r 表示图片文件的绝对路径(不知为什么用 %<.png 的时候对在第二个标签页里打开的 .dot 文件不起作用。),:p 表示当前文件的路径,:r 表示去除扩展名,详情可在 VIM 中使用 filename-modifiers 进行查看。

图片 7

[root@server ~]# netstat -lntup|grep 21

 

tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      3419/vsftpd

现在就可以在 VIM 中编辑 .dot 文件并实时查看了。

[root@server ~]# cd /var/ftp/pub

就像这样:

[root@server pub]# ll

图片 8

total 0

 

[root@server pub]# cp /etc/fstab .

另外 VIM 有个 wmgraphviz 插件可以提供一些与 Graphviz 相关的功能,其中有个 GraphvizInteractive 命令按照官方的说法也可以实现实时预览,不过可能并不支持在 Windows 下使用。如果你感兴趣可以点击这个链接:

到浏览器测试:

图片 9

图片 10

 

####################################################################################################

1.建立虚拟FTP用户的帐号数据库文件

2.创建FTP根目录及虚拟用户映射的系统用户

3.建立支持虚拟用户的PAM认证文件

4.在vsftpd.conf文件中添加支持配置

5.为个别虚拟用户建立独立的配置文件

6.重新加载vsftpd配置

7.使用虚拟FTP账户访问测试

 

过程实例:

1.建立虚拟FTP用户的帐号数据库文件

  建立虚拟用户的账户名、密码列表(通过本地文件的方式)

[root@filesvr~]# vi /etc/vsftpd/vusers.list

fedora

123

gentoo

456

[root@filesvr~]# cd /etc/vsftpd/

[root@filesvrvsftpd]# db_load -T -t hash -f vusers.list   vusers.db

[root@filesvrvsftpd]# file vusers.db

vusers.db: Berkeley DB (Hash, version 8, native byte-order)

[root@filesvrvsftpd]# chmod 600/etc/vsftpd/vusers.*

2.创建FTP根目录及虚拟用户映射的系统用户

[root@filesvr~]# mkdir/var/ftproot

[root@filesvr~]# useradd -d /var/ftproot -s /sbin/nologin virtual

[root@filesvr~]# chmod 755 /var/ftproot/

3.建立支持虚拟用户的PAM认证文件

[root@filesvr~]# vi /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth       required     pam_userdb.so db=/etc/vsftpd/vusers

account    required     pam_userdb.so db=/etc/vsftpd/vusers

4.在vsftpd.conf文件中添加支持配置

[root@filesvr~]# vi  /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

anon_umask=022

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu

anon_upload_enable=YES   #允许匿名账号有上传功能

anon_mkdir_write_enable=YES   #允许匿名账号创建文件功能

anon_other_write_enable=YES  #允许匿名账号具有删除.更名权限

dirmessage_enable=YES

……

5.为个别虚拟用户建立独立的配置文件

在vsftpd.conf文件中添加用户配置目录支持

user_config_dir=/etc/vsftpd/vusers_dir

为用户fedora、gentoo建立独立的配置目录及文件

配置文件名与用户名同名

[root@filesvr~]# mkdir/etc/vsftpd/vusers_dir/

[root@filesvr~]# cd /etc/vsftpd/vusers_dir/

[root@filesvrvusers_dir]# touch fedora

[root@filesvrvusers_dir]# vi gentoo

anon_upload_enable=YES

anon_mkdir_write_enable=YES

6.重新加载vsftpd配置

service vsftpd reload

7.使用虚拟FTP账户访问测试

分别用fedora、gentoo用户登录FTP服务器进行下载、上传测试

fedora用户可以登录,并可以浏览、下载文件,但无法上传

gentoo用户可以登录,并可以浏览、下载文件,也可以上传

匿名用户或其他系统用户将不能登录

 

 

•在使用 db_load命令时,“-f”选项用于指定用户名/密码列表文件,“-T”选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据文件,“-t hash”选项指定读取数据文件的基本方法。关于db_load命令的详细说明可参阅/usr/share/doc/db4-utils-4.3.29/utility/db_load.html文件

•将帐号文件的权限设置为600,可以有效提高安全性

•vsftpd虚拟用户需要有一个对应的系统用户帐号(该帐号无需设置密码及登录Shell),该用户帐号的宿主目录作为所有虚拟用户登录后的共同FTP根目录

•PAM配置文件(名称可以自行定义)主要用于为程序提供用户认证控制,vsftpd服务使用的默认PAM配置文件为/etc/pam.d/vsftpd,可以参考该文件的格式建立新的PAM配置文件,用于虚拟用户认证控制

•在vsftpd.conf配置文件中添加guest_enable、guest_username配置项,将访问FTP服务的所有虚拟用户对应到同一系统用户帐号virtual。并修改pam_service_name配置项,指向上一步建立的PAM配置文件/etc/pam.d/vsftpd.vu

•在vsftpd服务中,虚拟用户帐户默认作为匿名用户处理以降低权限,因此对应的权限设置通常使用以anon_开头的配置项。例如,在设置虚拟用户所上传文件的默认权限掩码时应采用配置项anon_umask而不是local_umask

•此步骤实际上是可选的,如果不需要为个别用户设置单独的选项,则无需此步骤

•虽然不需要为fedora用户添加额外权限设置,但是也要建立一个空配置文件

•如果需要禁用或者仅允许一部分虚拟用户帐号,同样可以使用/etc/vsftpd/user_list列表文件,具体方法请参考2.2.3小节中的例2.13。需要注意的是,在/etc/vsftpd/ftpusers文件中加入虚拟用户名,并不能禁用对应的系统帐号

 

 

###########################动手实例##############################

[root@server pub]# cd /etc/vsftpd/

[root@server vsftpd]# vim vusers.list

mike

123

john

456

[root@server vsftpd]# db_load -T -t hash -f vusers.list vusers.db

[root@server vsftpd]# file vusers.db

vusers.db: Berkeley DB (Hash, version 9, native byte-order)

[root@server vsftpd]# chmod 600 ./vusers.*

[root@server vsftpd]# useradd -d /var/ftproot -s /sbin/nologin virtual             #-d 指定用户的家目录

[root@server vsftpd]# chmod 755 /var/ftproot/

[root@server vsftpd]# vi /etc/pam.d/vsftpd.vu

auth required pam_userdb.so db=/etc/vsftpd/vusers

account required pam_userdb.so db=/etc/vsftpd/vusers

[root@server vsftpd]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

anon_umask=022

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu

测试:

本文由澳门新葡亰手机版发布于操作系统,转载请注明出处:构建基于虚拟用户的vsftpd服务器,实现windows命令

上一篇:用AutoHotkey实现Excel从表B提取匹配数据到表A,li 下一篇:Win10系统桌面右键新建没有内容怎么恢复,老司机
猜你喜欢
热门排行
精彩图文