linux 下ftp的上传与下载 由Linux系统中文网(Linux521.com)编辑收集整理,除Linux521注明原创文章外,其版权归原作者所有。如果您在学习中遇到问题欢迎在下面的评论中留言,我们会尽全力解答您的问题。
|
FTP服务器
我要评论: linux 下ftp的上传与下载
概述 FTP服务器,则是互联网上提供存储空间的计算机,它们依照FTP协议提供服务。FTP全称是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。 Linux下实现FTP服务的软件很多,最常见 又VSFTPD,WU-FTP和Proftp等。Red Hat Linux中默认安装的是vsftpd. 通常,访问FTP服务器需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文本,VSFTPD提供3中登陆形式: [root@localhost root]#rpm –qa|grep vsftpd //查看vsftpd是否安装,如果没有安装,在“主菜单”—“系统设置”—“添加/删除应用程序”—找到“FTP服务器”在前面打勾—“更新”根据系统的提示点击“CD-ROM进行切换linux的镜像” Vsftpd-1.1.3-8 [root @localhost root]#service vsftpd start //在系统终端启动vsftpd服务,也可以用 [root@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 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 news uucp operator games nobody [root@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. [root@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的权限是目录所属的用户有执行、读写权限,组用户和其他用户,只有执行、读的权限 [root@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用户属于其他用户。 [root@localhost ftp]# chmod o w pub [root@localhost ftp]# ls -l 总用量 4 drwxr-xrwx 2 root root 4096 1月 2 15:02 pub [root @localhost ftp]#cd //回到root目录下 [root@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. [root@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目录下 [root@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目录测试一下 [root@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 //显示目录相关信息 内容来自 Linux系统中文网 Linux521.com 《Linux系统中文网》欢迎原创作者投稿,请先注册成为会员,然后在后台 相应的栏目里提交你的文章,注意填写好相关信息点“保存”。我们将在24小时之内审核完毕。
请务必尊重网上道德,遵守中华人民共和国的各项法律法规,承担一切因您的行为而直接或间接导致的法律责任。本站管理人员有权删除留言中的任意内容。
热门
相关
|
