FTP服务器配置过程的具体命令

网络 网络管理
下面我们主要介绍一下FTP服务器配置过程。首先我们需要进行监理口令库文件,之后再对其进行修改权限,然后生成PAM文件……

这篇文章我们主要介绍一下FTP服务器配置过程。在前面的文章中,我们对于FTP服务器的创建步骤进行了具体的讲解。那么从中大家也应该发现了一些问题。那么从前面文章的内容发现:FTP服务器的用户本身也是系统用户。这显然是一个安全隐患,因为这些用户不仅能够访问FTP,也能够访问其它的系统资源。如何解决这个问题呢?答案就是创建一个虚拟用户的FTP服务器。虚拟用户的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。在VSFTP中,认证这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证。使用这种方式更加安全,并且配置更加灵活。

下面介绍FTP服务器配置过程。

FTP服务器配置过程1.生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单数行为用户名,偶数行为口令:

  1. #vi account.txt  
  2. ylg  
  3. 1234  
  4. zhanghong  
  5. 4321  
  6. gou  
  7. 5678  

FTP服务器配置过程2.生成口令库文件,并修改其权限:

  1. #db_load -T -t hash -f ./account.txt /etc/vsftpd/account.db  
  2. #chmod 600 /etc/vsftpd/account.db  

FTP服务器配置过程3.新建一个虚拟用户的PAM文件。加上如下两行内容:

  1. #vi /etc/pam.d/vsftp.vu  
  2. auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account  
  3. account required /lib/security/pam_userdb.so db=/etc/vsftpd/account  

FTP服务器配置过程4.建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限:

  1. #useradd -d /ftpsite virtual_user  
  2. #chmod 700 /ftpsite  

经过该步骤的设置,/ftpsite就是virtual_user用户的主目录,该用户也是/ftpsite目录的拥有者。除root用户之外,只有该用户具有对该目录的读、写和执行的权限。

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

  1. #su -virtual_user  
  2. $vi /ftpsite/mytest  
  3. This is a test file.  
  4. $su - root  

FTP服务器配置过程6.编辑/etc/vsftpd/vsftpd.conf文件,使其整个文件内容如下所示(去掉了注释内容):

  1. anonymous_enable=NO 
  2. local_enable=YES 
  3. local_umask=022 
  4. xferlog_enable=YES 
  5. connect_from_port_20=YES 
  6. xferlog_std_format=YES 
  7. listen=YES 
  8. write_enable=YES 
  9. anon_upload_enable=YES 
  10. anon_mkdir_write_enable=YES 
  11. anon_other_write_enable=YES 
  12. one_process_model=NO 
  13. chroot_local_user=YES 
  14. ftpd_banner=Welcom to my FTP server.  
  15. anon_world_readable_only=NO 
  16. guest_enable=YES 
  17. guest_username=virtual_user 
  18. pam_service_name=vsftp.vu  

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

FTP服务器配置过程7.重新启动VSFTP

  1. #service vsftpd restart  

#p#FTP服务器配置过程8.以虚拟用户gou(Linux中并无该账号)进行测试:

  1. # ftp 127.0.0.1  
  2. Connected to 127.0.0.1 (127.0.0.1).  
  3. 220 Welcom to my FTP server.  
  4. Name (127.0.0.1:root): gou  
  5. 331 Please specify the password.  
  6. Password:  
  7. 230 Login successful. Have fun.  
  8. Remote system type is UNIX.  
  9. Using binary mode to transfer files.  

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

  1. ftp> get mytest  
  2. local: mytest remote: mytest  
  3. 227 Entering Passive Mode (127,0,0,1,159,19)  
  4. 150 Opening BINARY mode data connection for mytest (21 bytes).  
  5. 226 File send OK.  
  6. 21 bytes received in 0.00038 secs (54 Kbytes/sec)  

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

  1. ftp> !ls  
  2. account.db  chroot_list  k  mytest  userconf  vsftpd.conf  
  3. ftp> put vsftpd.conf  
  4. local: vsftpd.conf remote: vsftpd.conf  
  5. 227 Entering Passive Mode (127,0,0,1,117,203)  
  6. 150 Ok to send data.  
  7. 226 File receive OK.  
  8. 4229 bytes sent in 0.00195 secs (2.1e+03 Kbytes/sec)  

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

  1. # ftp 127.0.0.1  
  2. Connected to 127.0.0.1 (127.0.0.1).  
  3. 220 Welcom to my FTP server.  
  4. Name (127.0.0.1:root): user1  
  5. 331 Please specify the password.  
  6. Password:  
  7. 530 Login incorrect.  
  8. Login failed.  

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

  1. user_config_dir=用户配置文件目录  

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

  1. #vi /etc/user_config_dir/gou  
  2. write_enable=NO 
  3. anono_upload_enable=NO  

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

责任编辑:佟健 来源: 比特网
相关推荐

2010-06-30 15:40:11

IISWEB FTP服务器

2010-06-30 13:56:32

构建FTP服务器

2010-07-01 13:09:46

FTP服务器

2010-06-30 15:11:51

创建FTP服务器

2010-07-01 12:22:40

ftp命令FTP协议

2011-03-04 10:03:44

VSFTPD虚拟服务器

2010-09-01 09:38:29

设置DHCP服务器

2010-09-25 15:04:07

LinuxDHCP服务器测试

2010-07-02 10:26:56

连接FTP服务器

2010-06-30 14:36:03

2010-07-01 14:22:02

配置FTP服务器

2010-03-24 15:53:09

2011-01-20 10:03:10

FTP服务器高级配置

2011-03-03 09:40:58

2011-02-23 10:18:51

CentosProFTPD

2010-07-27 10:46:31

Linux NFS服务

2011-02-23 09:01:37

2010-07-15 15:01:14

telnet服务配置Kerberos

2011-03-07 17:04:02

ProftpdFTP

2010-07-06 10:44:22

FTP服务器
点赞
收藏

51CTO技术栈公众号