首页 > 代码库 > 【初学菜鸟作--FTP的搭建与相关设置】

【初学菜鸟作--FTP的搭建与相关设置】

创建ftp服务器,设置并验证其控制参数



安装vsftp

ftp服务的安装

[root@localhost Server]# rpm -ivhvsftpd-2.0.5-28.el5.x86_64.rpm

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

主配置文件重要参数

anonymous_enable=YES匿名用户可否访问,为NO时匿名用户不可登陆

local_enable=YES                     是否启用本地用户

write_enable=YES                    是否启用本地用户

local_umask=022                      本地用户上传的权限掩码

 

 

添加条目:

listen_port=2121                      端口号默认为20 更改为2121

chroot_local_user=YES是否将用户禁锢在主目录

userlist_enable=YES白名单可用

listen_port=2121                      端口号2121

userlist_deny=NO                          允许白名单用户

write_enable=YES                          用户可写

local_root=/data/ftproot锁定本地用户家目录地址

Max_clients=20                              限制并发的客户端个数

max_per_ip=2                           限制每个客户机ip的并发连接数

local_max_rate=100000           本地用户最大传输速度(字节/秒)

 

 

1.     验证匿名用户的上传下载权限

在服务器/var/ftp/pub/ftp公共文件目录)目录下创建两个测试文件ceshi1ceshi2

服务器开启Vsftp

[root@localhost~]# servicevsftpd restart

[root@localhost ~]# chkconfigvsftpd on

进入客户机匿名登录(ftpanonymous。密码为空)

[root@localhost~]# ftp 192.168.1.1

Connectedto 192.168.1.1.

Name(192.168.1.1:root): ftp

331Please specify the password.

Password:

230Login successful.

上述登录成功,进入pub文件夹

ftp>cd pub 

250Directory successfully changed.

ftp>ls

227Entering Passive Mode (192,168,1,1,170,104)

150Here comes the directory listing.

-rw-r--r--  1 0   0     0 Jun 13 12:23 ceshi1

-rw-r--r--   1 0     0    0 Jun 13 12:23ceshi2

226 Directory send OK.

下载文件ceshi1

ftp>get ceshi1

226 File send OK.

查看下载的文件

ftp>!ls       ------带感叹号表示查看外部环境

anaconda-ks.cfg  ceshi1 Desktop  install.log  install.log.syslog

可以看到已将ftp服务器中的文件ceshi1下载到本地的/root下了

上传install.Log到服务器

           ftp>put install.log

local: install.log remote: install.log

227 Entering Passive Mode (192,168,1,1,119,36)

550 Permission denied.   -------显示没有权限

说明匿名用户登录只可下载不可上传

 

 

2.本地用户登录本地用户的家目录,可以上传下载

在用户yeyue的家目录下新建文件test1.txt

使用服务器创建的用户yeyue在客户端登录访问ftp

登录后查看位置可知道用户yeyue登录后在其家目录下

ftp>pwd

257 "/home/yeyue"

下载用户yeyeu家目录的test1.txt

ftp>get test1.txt

local:test1.txt remote: test1.txt

检查:

ftp> !ls

anaconda-ks.cfg Desktopinstall.log.syslog

ceshi1          install.log  test1.txt

上传install.log到服务器

ftp> put install.log

可在服务器上检查/home/yeyue

[root@localhost pub]# ls /home/yeyue

install.log test1.txt

可看到客户机通过用户yeyue上传进服务器的install.log

3.设置禁止匿名用户登录

在服务器将主配置文件中设置anonymous_enable=NO

重启服务后进入客户机测试

[root@localhost ~]# ftp 192.168.1.1

Connected to 192.168.1.1.

KERBEROS_V4 rejected as an authentication type

Name (192.168.1.1:root): ftp

331 Please specify the password.

Password:

530 Login incorrect.

Login failed.

可看到通过匿名用户访问不可访问

4.修改FTP端口号为2121

listen_port=2121     端口号默认为20 更改为2121

重启服务后进入客户端进行测试

[root@localhost ~]# ftp 192.168.1.1

ftp: connect: Connection refused

可看到通过默认端口不能进入

[root@localhost ~]# ftp 192.168.1.1 2121

Connected to 192.168.1.1.

……..

Name (192.168.1.1:root):

可得通过2121端口可进入

5.将本地用户禁锢在自己的家目录下

在主配置文件中添加chroot_local_user=YES

客户端通过本地用户访问

[root@localhost ~]# ftp 192.168.1.1 2121

Name (192.168.1.1:root): yeyue

331 Please specify the password.

Password:

230 Login successful.

ftp>pwd

257 "/"

可看到由实验2用户yeyue登录后锁定的家目录已更改为 / 目录,可得用户已被锁定

 

6.验证黑/白名单的生效范围

(黑:/etc/vsftpd/ftpusers白:/etc/vsftpd/user_list

yeyue加入黑名单配置文件,在客户机登录验证

[root@localhost pub]# vim /etc/vsftpd/ftpusers

[root@localhost ~]# ftp 192.168.1.1 2121

Login failed

进入后可输入密码,但登录失败,说明黑名单生效

 

新建用户updown。将黑名单中的yeyue删除,将yeyueup加入白名单并在主配置文件中加入userlist_deny=NO(白名单中的用户可允许登录)

[root@localhost ~]# ftp 192.168.1.1 2121

Name (192.168.1.1:root): down

530 Permission denied.

Login failed.

Down登录后不提示输入密码就已经不允许登录

[root@localhost ~]# ftp 192.168.1.1 2121

Connected to 192.168.1.1.

Name (192.168.1.1:root): up

331 Please specify the password.

Password:

230 Login successful.

白名单中的用户upyeyue可登入

注:白名单与黑名单同时添加用户时,拒绝生效

7.设置本地用户登录到/data/ftproot/up有上传下载的权限,down只有下载的权限(默认权限)

将用户updown加入白名单。

主配置文件修改

userlist_enable=YES             ---白名单可用

listen_port=2121                      端口号2121

chroot_local_user=YES                  锁定用户在家目录

userlist_deny=NO                          允许白名单用户

write_enable=YES                          用户可写

local_root=/data/ftproot锁定本地用户家目录地址

创建目录并在目录下新建测试文件1.txt2.txt且赋予用户up读写权限

[root@localhost pub]# mkdir -p /data/ftproot

[root@localhost pub]# setfacl -m u:up:rwx /data/ftproot

进入客户机验证

[root@localhost ~]# ftp 192.168.1.1 2121

Connected to 192.168.1.1.

Name (192.168.1.1:root): up

331 Please specify the password.

Password:

230 Login successful.

ftp>pwd

257 "/"

ftp>ls

227 Entering Passive Mode (192,168,1,1,250,64)

150 Here comes the directory listing.

-rw-r--r--    10        0               0 Jun 13 13:49 1.txt

226 Directory send OK.

上述结果可看到用户被锁定在家目录为/data/ftproot

测试下载上传

ftp> get 1.txt

local: 1.txt remote: 1.txt

227 Entering Passive Mode (192,168,1,1,86,190)

150 Opening BINARY mode data connection for 1.txt (0bytes).

226 File send OK.

ftp> !ls

1.txt2.txt   ceshi1  install.log         test1.txt

anaconda-ks.cfg Desktopinstall.log.syslog

下载成功

ftp> put ceshi1

ftp>ls

227 Entering Passive Mode (192,168,1,1,173,82)

150 Here comes the directory listing.

-rw-r--r--    10        0               0 Jun 13 13:49 1.txt

-rw-r--r--   1 502      502             0 Jun 13 13:56 ceshi1

226 Directory send OK.

上传成功,说明用户up拥有对ftp的上传下载权限

 

用户down登录

[root@localhost ~]# ftp 192.168.1.1 2121

KERBEROS_V4 rejected as an authentication type

Name (192.168.1.1:root): down

230 Login successful

下载

ftp> get 2.txt

ftp> !ls

1.txt anaconda-ks.cfg  Desktop      install.log.syslog

2.txt  ceshi1           install.log  test1.txt

上传

ftp> put test1.txt

553 Could not create file.

ftp>ls

-rw-r--r--    10        0               0 Jun 13 13:49 1.txt

-rw-r--r--    10        0               0 Jun 13 13:58 2.txt

-rw-r--r--    1502      502             0 Jun 13 13:56 ceshi1

可看到上传test1.txt文件不成功,说明down用户没有上传权限

 

8.设置除updown之外所有用户登录包括匿名用户不可登录

白名单中添加updown

主配置文件中设定

local_enable=NO               本地用户不启用

anonymous_enable=NO 匿名用户不可登录

 

9.设置最多二十个并发且每个ip地址最多两个并发

在主配置文件中添加:

Max_clients=20

max_per_ip=2

10.限制下载速度为100KB/S

主配置文件中添加:

local_max_rate=100000