天天看点

linux_FTP

一,ftp概述

1,概念

file transfer protocol文件传输协议

2,传输模式

a,主动模式:由服务器主动连接客户端建立数据链路

b,被动模式:ftp服务器等待客户端建立数据链路

3,使用端口

21 用于与客户机建立命令链路

20 在主动模式下服务器使用20向客户机建立数据链路

4,常用的ftp软件

服务器

windows: iis serv-u

linux:  wu-ftpd proftpd vsftpd(rhel默认)

客户机

windows: cuteftp filezilla

linux:  gftp

二,配置vsftpd(very secure非常安全)

1,安装

vsftpd

主配置文件

/etc/vsftpd/vsftpd.conf  vsftpd服务器的主配置文件

/etc/vsftpd.ftpusers         黑名单

/etc/vsftpd.user_list  白/黑名单

当userlist_deny=yes被禁止

当userlist_deny=no被允许

/var/ftp/ 默认共享出来的目录  

匿名用户登陆用

ftp anonymous

2,配置

a,禁止匿名用户访问

 把anonymous_enable=yes改为anonymous_enable=no

b,允许匿名用户上传

 把anon_upload_enable=yes

     anon_mkdir_write_enable=yes

 在把上传目录的权限+上

 如你想让上传的匿名用户修改文件名的话在加上

 anon_other_write_enable=yes

c,禁锢普通用户在家目录

 chroot_local_user=yes

d,自定义用户访问文件夹

 local_root=路径 系统用户

 anon_root=路径 匿名用户

e,max_per_ip=每个客户机最大连接数

  local_max_rate=50000  本地用户下载50k

  anon_max_rate=30000 匿名用户下载30k

f,连接服务器的欢迎信息

 ftpd_banner=welcome to linux ftp server~!

 进入每个目录提示信息

 在每个目录下建立.message

g,虚拟用户

  a,建立虚拟用户口令库文件

#cat logins.txt

mike

123

john

321

口令库文件中奇数行设置用户名,偶数行设置口令

  b,生成vsftpd的认证文件(在第3张光盘中安装)

#rpm -ivh db4-utils*   

#db_load -t -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db  生成认证文件

  c, 设置认证文件只对用户可读可写

# chmod 600 /etc/vsftpd/vsftpd_login.db

  d,建立虚拟用户所需的pam配置文件

手工建立vsftpd.vu文件 在这里需要注意 小心写错了,最好看看书上面的

# cat /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login

account required  /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

e,建立虚拟用户及要访问的目录并设置相应的权限

建立所有ftp虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限

# useradd -d /home/ftpsite virtual

# chmod 700 /home/ftpsite

f,设置vsftpd.conf配置文件

在配置文件中添加虚拟用户的配置内容

guest_enable=yes

guest_username=virtual

pam_service_name=vsftpd.vu

重新启动vsftpd服务程序

g,对vsftpd.conf文件修改后需要重新启动vsftpd服务程序

# service vsftpd restart

现在就应该可以用虚拟帐号登陆了,但是什么权限都没的,只能登陆。。。

4,对虚拟用户设置不同的权限

设置主配置文件

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

user_config_dir=/etc/vsftpd_user_conf

建立用户配置文件目录

使用mkdir命令建立用户配置文件目录

# mkdir /etc/vsftpd_user_conf

为虚拟用户建立单独的配置文件

用户配置文件名称与用户名相同

/etc/vsftpd_user_conf/mike

/etc/vsftpd_user_conf/john

里面的内容如下:

anon_world_readable_only=no    表示用户可以浏览ftp目录和下载文件

anon_upload_enable=yes        表示用户可以上传文件 

anon_mkdir_write_enable=yes    表示用户具有建立和删除目录的权限

anon_other_write_enable=yes    表示用户具有文件改名和删除文件的权限

没有的配置项默认按照vsftpd.conf的配置内容 

5,ftp服务器的资源限制 这可以在vsftpd.conf中添加 这我就不演示了 大家看看  知道就可以了

在企业中用的很多的

  max_clients=100      允许最大的客户端连接数

  max_per_ip=5        同一ip最大客户端的连接数

  local_max_rate=5000000       设置本地用户最大传输数率

  anon_max_rate=2000000       匿名用户最大的传输数率

三,启动

#service vsftpd restart

/etc/init.d/vsftpd restart

四,常用ftp命令

? ! lcd pwd get put mget mput

继续阅读