自己搭建一个ftp服务器,感觉还是不错的。现在linux选修课,白老师让我们搭建三个服务器作为期末成绩。呵呵,你懂的~
一:我的电脑是Ubuntu 12.04系统,没有在虚拟机环境下搭建,直接在操作系统下搭建服务器~
首先让我介绍一下FTP服务器
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件
(1)检查sftpd软件是否安装
ubuntu是否安装了vsftpd服务器
#rpm - qa|grep vsftp
若没有显示信息,则表明你的电脑没有安装这个服务器,接下来要使用
#sudo apt-get install vsftpd
一会就安装完了
vsftp的卸载也很简单
使用以下命令
sudo apt-get autoremove vsftp
(2) vsftp软件的使用
启动ftp:service vstfpd start
关闭ftp:service vsftpd stop
重启ftp: service vsftp restart
(3)配置 FTP服务器
我的电脑配置文件在 /etc/vsftpd.conf 下
FTP服务器使用/etc/vsftpd.conf作为他的主配置文件。如果改变了这个配置文件,那么改变将在重启之后生效
下面我使用gedit编辑器来编辑配置文件,由于本人一开始就用习惯了gedit,老师一直用的是vi,我对vi用的不是很熟
用户登录控制:
anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。
local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
banned_email_file=/etc/vsftpd/banned_emails,保存电子邮件黑名单的目录(默认)
用户权限控制:
write_enable=YES,开启全局上传
local_umask=022,本地文件上传的umask设置为022,系统默认。
anon_upload_enable=YES,允许匿名用户上传,当然要在write_enable=YES的情况下。同时必须建立一个允许ftp用户读写的目录。
anon_mkdir_write_enable=YES,允许匿名用花创建目录
chown_uploads=YES,匿名用户上传的文件属主转换为别的用户,一般建议为root。
chown_username=whoever,改此处的whoever为要转换的属主,建议root
chroot_list_enable=YES,用一个列表来限定哪些用户只能在自己目录下活动。
chroot_list_enable=/etc/vsftpd/chroot_list,指定用户列表文件
nopriv_user=ftpsecure,指定一个安全账户,让ftp完全隔离和没有特权的账户
其他的建议不要配置。
用户连接和超时设置:
idle_session_timeout=600,默认的超时时间
data_connection_timeout=120,设置默认数据连接的超时时间
(4)服务器日志和欢迎信息
dirmessage_enable=YES,允许为配置目录显示信息
ftpd_banner=Welcome to blah FTP service. ftp的欢迎信息
xferlog_enable=YES 打开日志记录功能
xferlog_file=/var/log/xferlog 日志记录文件的位置
我们可以更改以上的各个设置,然后重启ftp服务就可以实现对ftp的配置了。