一、在Ubuntu搭建ftp服务器
1. 安装vsftpd
打开终端,输入
- sudo apt-get install vsftpd
2. 安装完毕后会自动生成一个帐户"ftp",/srv下也会增加一个ftp文件夹。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间
注意:1) 不同的ubuntu版本。这里生成的文件夹可能不一样。其他生成路径:/home/ftp
2) 不要修改/srv/ftp的权限为777.权限设置为755,匿名访问才可以。
3. 建立上传文件夹,这里设置为myftpfile
更改/srv/ftp/myftpfile目录权限。这一步很重要。否则不能创建文件和上传文件。
- sudo chmod 777 /srv/ftp/myftpfile
4. 修改配置文件
通过sudo vi /etc/vsftpd.conf修改。
简单的配置文件如下
- #独立模式启动
- listen=YES
- #允许匿名用户访问
- anonymous_enable=YES
- #允许匿名用户创建目录
- anon_mkdir_write_enable=YES
- #允许匿名用户上传
- anon_upload_enalbe=YES
- #除了上传和创建目录外,还可以重命名,删除文件
- anon_other_write_enable=YES
-
-
- #允许本地(系统)用户登录
- local_enable=YES
- write_enable=NO
-
- #是否采用端口20进行数据传输
- connect_from_port_20=YES
-
- #生成日志
- xferlog_enable=YES
-
- #指定本地(系统)用户登录转向目录
- #这里如果不指定路径,初始将会进入到用户的"/"目录下。
- local_root=/srv/ftp
5. 更改配置文件后,重启ftp服务
- sudo /etc/init.d/vsftpd restart
到此为止,一个简易的ftp服务器就搭建好了。 你可以尝试登陆一下。是不是很简单呢。
二、在Centos中搭建ftp服务器
第一步:安装vsftpd,在终端允许
没什么问题就直接安装好啦
第二步:编辑vsftpd的配置文件
- # vi /etc/vsftpd/vsftpd.conf
第三步:清空文件, 然后添加如下内容:
- listen=YES
- background=YES
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- local_umask=022
- anon_upload_enable=NO
- anon_mkdir_write_enable=NO
- dirmessage_enable=YES
- xferlog_enable=YES
- connect_from_port_20=YES
- chown_uploads=NO
- xferlog_file=/var/log/vsftpd.log
- xferlog_std_format=YES
- async_abor_enable=YES
- ascii_upload_enable=YES
- ascii_download_enable=YES
- ftpd_banner=Welcome to hao32 FTP servers
- pam_service_name=vsftpd
- chroot_local_user=NO
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
第四步:终端运行下面命令
- # touch /etc/vsftpd/vsftpd.chroot_list
- # service vsftpd start
如果出现下面这句话:
- Starting vsftpd for vsftpd: [ OK ]
则表示成功,如果不行则用这个语句:
- /etc/rc.d/init.d/xinetd restart
ftp默认我们使用系统用户, 现在我们来添加用户hao32, 指向目录/home/hao32, 权限是nologin, 就是没给shell权限, 不影响ftp的
- # useradd hao32 -d /home/hao32 -s /sbin/nologin
如果显示:
- useradd: warning: the home directory already exists.
- Not copying any file from skel directory into it.
不用理会, 只是告诉你, 你指向的目录已经存在了, 这不影响
设置目录及其文件的属组, 你也可以使用别的分组方式
- # chown -R hao32.hao32 /home/hao32
设置一下用户hao32的密码, 自定义啦
把用户hao32加到/etc/vsftpd/vsftpd.chroot_list里, 这样用户就可以正常登陆并且不能跳出自己的目录
- # echo ‘hao32′ >> /etc/vsftpd/vsftpd.chroot_list
- # service vsftpd restart
完毕! 测试登陆吧
ftp主机: 服务器IP地址
ftp用户: hao32
ftp密码: 你自己刚才设置的