ftp服务器搭建过程
1. 搭建前的一些准备工作
(1)给服务器创建一个目录
$ mkdir /qj/ftp
(2)为ftp文件增加读写权限
cd /qj/
chomd a+rw ftp
在ftp目录下创建一个普通文件,用来做下载测试,如test(假如其内容为:HelloWorld):
touch test11
2. 安装ftp服务器
sudo apt-get install vsftpd
3. 配置vsftpd.conf文件,要有root权限:
sudo vi /etc/vsftpd.conf
修改以下设置,允许匿名用户(如果嫌找代码麻烦,可以直接在最后添加):
anonymous_enable=YES
anon_root=/home/……/ftp
no_anon_password=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
保存退出
4. 重启服务器,重新加载/etc/vsftpd.conf 配置文件
sudo /etc/init.d/vsftpd restart
5. 完成
创建登录用户
#添加用户
$ sudo useradd -d /qj/ftp -s /bin/bash ftpuser
#设置用户密码
$ sudo passwd ftpuser
#设置ftp目录用户权限
$ sudo chown ftpuser:ftpuser /qj/ftp
添加vsftpd 登录用户
#新建文件/etc/vsftpd.user_list,用于存放允许访问ftp的用户:
$ sudo touch /etc/vsftpd.user_list
$ sudo vim /etc/vsftpd.user_list
在/etc/vsftpd.user_list中添加允许登录ftp 的用户
ftpuser
添加vsftpd登录用户对目录树的权限
#新建文件/etc/vsftpd.chroot_list,设置可列出、切换目录的用户:
$ sudo touch /etc/vsftpd.chroot_list
$ sudo vim /etc/vsftpd.chroot_list
测试:
- 我先建一个testdir目录,里面有一个test2文件,文件内容为:
I am test2。 - 进入到testdir目录,登录ftp服务器,ftp IP:
xqkang@xqkang:~/ftp$ ftp 192.168.10.187
Connected to 192.168.10.187.
220 (vsFTPd 3.0.3)
- 输入用户名密码:
Name (192.168.10.187:xqkang): gds
331 Please specify the password.
Password:
230 Login successful.
- 设置本地上传下载目录:
ftp> lcd /home/xqkang/testdir/
Local directory now /home/xqkang/testdir
- 下载文件:
ftp> get test11
local: test11 remote: test11
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test11 (12 bytes).
226 Transfer complete.
12 bytes received in 0.00 secs (21.4629 kB/s)
- 上传文件:
ftp> put test2
local: test2 remote: test2
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
11 bytes sent in 0.00 secs (206.5805 kB/s)
- 查看文件是否上传到ftp:
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Jan 09 11:25 anonymous
-rw-r--r-- 1 0 0 12 Jan 09 11:27 test11
-rw------- 1 1005 1005 11 Jan 09 14:07 test2
- 退出ftp:
bye 或Ctrl+D
- 查看是否从ftp下载成功:
xqkang@xqkang:~/testdir$ ls
test test11 test2
xqkang@xqkang:~/testdir$ cat test11
helloworld