加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 系统 > 正文

实战:用Linux构建高效FTP服务器

发布时间:2018-04-23 00:33:48 所属栏目:系统 来源:IT168
导读:副标题#e# 在众多网络应用中,FTP(文件传输协议)有着非常重要的地位。Internet中一个十分重要的资源就是软件资源,而各种各样的软件资源大多数都放在FTP服务器中。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客

5.生成一个测试文件。先切换至virtual_user用户身份,然后在/ftpsite目录下创建一个文件:

#su -virtual_user

$vi /ftpsite/mytest

This is a test file.

$su - root

6.编辑/etc/vsftpd/vsftpd.conf文件,使其整个文件内容如下所示(去掉了注释内容):

anonymous_enable=NO

local_enable=YES

local_umask=022

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

one_process_model=NO

chroot_local_user=YES

ftpd_banner=Welcom to my FTP server.

anon_world_readable_only=NO

guest_enable=YES

guest_username=virtual_user

pam_service_name=vsftp.vu

上面代码中,guest_enable=YES表示启用虚拟用户;guest_username=virtual则是将虚拟用户映射为本地用户,这样虚拟用户登录后才能进入本地用户virtual的目录/ftpsite;pam_service_name=vsftp.vu指定PAM的配置文件为vsftp.vu。

7.重新启动VSFTP

#service vsftpd restart

8.以虚拟用户gou(Linux中并无该账号)进行测试:

# ftp 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1)。

220 Welcom to my FTP server.

Name (127.0.0.1:root): gou

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

测试下载服务器目录中的一个文件mytest:

ftp》 get mytest

local: mytest remote: mytest

227 Entering Passive Mode (127,0,0,1,159,19)

150 Opening BINARY mode data connection for mytest (21 bytes)。

226 File send OK.

21 bytes received in 0.00038 secs (54 Kbytes/sec)

测试上传本机目录中的文件vsftpd.conf:

ftp》 !ls

account.db chroot_list k mytest userconf vsftpd.conf

ftp》 put vsftpd.conf

local: vsftpd.conf remote: vsftpd.conf

227 Entering Passive Mode (127,0,0,1,117,203)

150 Ok to send data.

226 File receive OK.

4229 bytes sent in 0.00195 secs (2.1e+03 Kbytes/sec)

可以看到,使用没有系统账号的虚拟用户可以成功完成上传、下载的工作。但该FTP虚拟服务器只允许虚拟用户登录,其它系统用户无法登录,如系统用户user1不是虚拟用户,则不能登录该虚拟服务器。

# ftp 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1)。

220 Welcom to my FTP server.

Name (127.0.0.1:root): user1

331 Please specify the password.

Password:

530 Login incorrect.

Login failed.

在虚拟FTP服务器中,也可以对各个用户的权限进行设置。方法是在/etc/vsftpd.conf文件中添加如下一行:

user_config_dir=用户配置文件目录

然后在用户配置文件目录下创建相应的用户配置文件,比如为上述名为gou的用户创建一个配置文件(假设配置文件目录为/etc/user_config_dir):

#vi /etc/user_config_dir/gou

write_enable=NO

anono_upload_enable=NO

重启FTP服务器,这时再使用账号gou来登录,就已经没有上传的权限

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读