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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

本文出自 “IT的摇篮” 博客,谢绝转载!

你可能感兴趣的:(linux,职场,休闲,服务+课程讲解)