设为首页 收藏本站
查看: 1118|回复: 0

linux 下ftp的上传与下载

[复制链接]

尚未签到

发表于 2015-5-28 12:58:37 | 显示全部楼层 |阅读模式
  FTP服务器
  From: http://dev.firnow.com/course/6_system/linux/Linuxjs/20100124/193849.html

  • 概述
  FTP服务器,则是互联网上提供存储空间的计算机,它们依照FTP协议提供服务。FTP全称是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
Linux下实现FTP服务的软件很多,最常见 又VSFTPD,WU-FTP和Proftp等。Red Hat Linux中默认安装的是vsftpd.
通常,访问FTP服务器需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文本,VSFTPD提供3中登陆形式:
[iyunv@localhost root]#rpm –qa|grep vsftpd
//查看vsftpd是否安装,如果没有安装,在“主菜单”—“系统设置”—“添加/删除应用程序”—找到“FTP服务器”在前面打勾—“更新”根据系统的提示点击“CD-ROM进行切换linux的镜像”
Vsftpd-1.1.3-8
[root @localhost root]#service vsftpd start
//在系统终端启动vsftpd服务,也可以用
[iyunv@localhost root]#/etc/rc.d/init.d/vsftpd start

  • 配置vsftpd
  在Red hat linux 9.0中,关于vsftpd服务的配置的文件有三个:
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
其中vsftpd.conf是主配置文件,vsftpd.ftpusers指定了有那些用户不能访问FTP服务器。 Vsftpd.user_list指定了可能访问FTP服务器的用户,其中的用户在默认情况下不能访问FTP服务器,仅当在vsftpd.conf中设定userlist_enable=No是才能访问。

  • 下面关于vsftpd服务器的配置文件vsftpd.conf的部分内容及其解释(忽略了以#号开头的内容)。用户可以用cat显示内容,用vi文本编辑工具编辑它。
  [root @localhost root]#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
//在配置前可以先备份,以便错了可以恢复原始配置
[root @localhost root]# vi /etc/vsftpd/vsftpd.conf
//#号开头的省略,进入vsftpd.conf的配置文件,
Anonymous_enable=YES //允许匿名用户登陆
No_anon_password=YES //匿名用户登陆不用密码
Local_enable=YES //允许本地用户登陆
Wirte_enable=YES //开放本地用户写的权限
Local_umask=022 //将本地用户的上传文件的掩码(umask)设为022
Dirmessage_enable=YES //允许为目录显示信息,显示每个目录下面message_file文件的内容
Xferlog_enable=YES //启用记录上传/下载活动日志功能
Connect_from_prot_20=YES //设置启用FTP服务器数据端口的连接请求
Xferlog_std_fromat=YES //设置使用标准的xferlog日志格式
Pam_service_name=vsftpd //设置PAM认证服务的配置文件名,存放在/etc/pam.d目录下。
Userlist_enable=YES //设定在vsftpd.user_list文件中的列出的用户不能访问这个FTP服务器
Listen=YES //设置服务器采用独立启动方式
Tcp_wrappers=YES //设置使用tcp_wrappers作为主机访问控制方式
//在没有设置前系统是默认匿名用户是没有上传,创建文件的权限,接下来是一下。
按ESC键
:q!
不保存退出

  • Vsftpd.ftpuser文件的说明
  vsftpd.ftpusers指定了下列用户不能访问FTP服务器,root用户默认是不允许登陆FTP服务器,但允许添加不允许登陆的用户到vsftpd.ftpusers里面来,每个用户一行。
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
~

  • Vsftpd.user_list文件的说明
  Vsftpd.user_list指定了可能访问FTP服务器的用户,其中的用户在默认情况下不能访问FTP服务器,仅当在vsftpd.conf中设定userlist_enable=No是才能访问
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

  • 连接ftp,匿名用户实现下载
  [iyunv@localhost root]#cd /var/ftp/pub
//默认下载的文件目录在/var/ftp/pub目录,切换到pub目录,创建一个文本,提供下载。
[root @localhost pub]#vi test.txt
//创建test.txt文件,并输入helloworld,按ESC,
:wq //保存退出
[root @localhost root]# cd
//切换到root目录下
[root @localhsot root]#ftp localhost
//ftp 后面跟的是主机IP或主机名
Connected to localhost (127.0.0.1).
220 (vsFTPd 1.1.3)
Name (localhost:root):anonymous //匿名用户anonymous
331 Please specify the password.
Password: //匿名用户登陆不需要密码,直接回车,
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls //显示文件,看到默认上传下载目录。
227 Entering Passive Mode (127,0,0,1,79,16)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Feb 28 2003 pub
226 Directory send OK.
ftp> cd pub //进入pub目录
250 Directory successfully changed.
ftp> ls //显示文件,可以看到刚才创建的test.txt
227 Entering Passive Mode (127,0,0,1,212,160)
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 10 Jan 02 06:35 test.txt
226 Directory send OK.
ftp> mget test.txt
mget test.txt? //直接回车
227 Entering Passive Mode (127,0,0,1,65,220)
150 Opening BINARY mode data connection for test.txt (10 bytes).
226 File send OK.
10 bytes received in 4.9e-05 secs (2e+02 Kbytes/sec)
ftp> !ls //显示test.txt下载到当前root目录下
anaconda-ks.cfg install.log install.log.syslog test.txt
ftp> mkdir test //没有给匿名用户创建目录权限,是不能创目录的
550 Permission denied.
ftp> put install.log //没有给匿名用户上传权限,也不能上传
local: install.log remote: install.log
227 Entering Passive Mode (127,0,0,1,29,70)
550 Permission denied.
ftp> bye
221 Goodbye.

  • 连接ftp,匿名用户实现上传
  [iyunv@localhost root]#vi /etc/vsftpd/vsftpd.conf
//下面修改匿名用户的,找到
#anon_upload_enable=YES //允许匿名用户上传文件
#anon_mkdir_write_enable=YES //开放匿名用户的创建目录和写权限
//按ESC,保存退出
[root @localhost root]#service vsftpd restart
//重启vsftpd服务
当配置文件修改后,还是不能在pub目录下创建目录,但可以上传,默认情况下,pub的权限是目录所属的用户有执行、读写权限,组用户和其他用户,只有执行、读的权限
[iyunv@localhost root]#cd /var/ftp
//切换到ftp目录下,查看赋给pub目录的属性
[root @localhost ftp]# ls –l
总用量 4
drwxr-xr-x 2 root root 4096 1月 2 15:02 pub
[root @localhost ftp]#chmod o+w pub
//给其他用户加上读的权限,组用户可以添加权限,可以实现anonymous用户的上传目的。因为anonymous用户属于其他用户。
[iyunv@localhost ftp]# chmod o+w pub
[iyunv@localhost ftp]# ls -l
总用量 4
drwxr-xrwx 2 root root 4096 1月 2 15:02 pub
[root @localhost ftp]#cd
//回到root目录下
[iyunv@localhost root]# ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 1.1.3)
Name (localhost:root): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,209,189)
150 Here comes the directory listing.
drwxr-xrwx 2 0 0 4096 Jan 02 07:02 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (127,0,0,1,79,120)
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 10 Jan 02 06:35 test.txt
226 Directory send OK.
ftp> mkdir test
257 "/pub/test" created //在pub目录下创建test目录
ftp> ls
227 Entering Passive Mode (127,0,0,1,87,79)
150 Here comes the directory listing.
drwx------ 2 14 50 4096 Jan 02 07:04 test //说明创建成功
-rw-r--r-- 1 0 0 10 Jan 02 06:35 test.txt
226 Directory send OK.t
ftp>bye
221 Goodbye.
[iyunv@localhost root]#mkdir /var/ftp/income
//创建一个负责装上传文件的目录income
[root @localhost root]#chmod a+wrx /var/ftp/income
//给所以用户给income目录执行、读、写权限
[root @localhost root]#chown ftp:ftp /var/ftp/income
//把income目录赋给ftp组和用户
[root @localhost root]#cd /var/ftp
//切换到/var/ftp目录下
[iyunv@localhost ftp]# ll
//显示所以可见文件
总用量 8
drwxrwxrwx 2 ftp ftp 4096 1月 2 15:17 income
drwxr-xrwx 2 root root 4096 1月 2 15:04 pub
[root @localhost ftp]#cd
//切换到root目录测试一下
[iyunv@localhost root]# ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 1.1.3)
Name (localhost:root): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,85,23)
150 Here comes the directory listing.
drwxrwxrwx 2 14 50 4096 Jan 02 07:17 income
drwxr-xrwx 2 0 0 4096 Jan 02 07:04 pub
//显示目录相关信息
  
  226 Directory send OK.
ftp> cd income //切换到income目录
250 Directory successfully changed.
ftp> ls //显示income目录为空
227 Entering Passive Mode (127,0,0,1,109,195)
150 Here comes the directory listing.
226 Directory send OK.
ftp> !ls //查看文件
anaconda-ks.cfg install.log install.log.syslog test.txt
ftp> put install.log //上传install.log文件
local: install.log remote: install.log
227 Entering Passive Mode (127,0,0,1,152,59)
150 Ok to send data.
226 File receive OK.
29187 bytes sent in 0.000236 secs (1.2e+05 Kbytes/sec)
ftp> ls
227 Entering Passive Mode (127,0,0,1,184,110)
150 Here comes the directory listing.
-rw------- 1 14 50 29187 Jan 02 07:29 install.log
226 Directory send OK.
ftp> bye
221 Goodbye.
[iyunv@localhost root]#vi /etc/vsftpd/vsftpd.conf
设置连接服务器的最在并发连接数和用户的最在线程数
作为FTP服务器,必然要为多用户担任服务,如果在同一段登陆FTP服务器的用户过多或下载的数据过量,则会影响服务器的性能。因此,在建立FTP服务器

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-71524-1-1.html 上篇帖子: TCP/IP FTP/TFTP 下篇帖子: IIS7设置FTP的技巧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表