架设FTP服务以及相关设置

1、安装vsftpd

1、以管理员(root)身份执行以下命令

yum install vsftpd

2、安装ftp客户端组件(用来验证是否vsftpd)

yum -y install ftp

2、设置开机启动vsftpd ftp服务

chkconfig vsftpd on

2. vsftpd状态设置与测试

3、启动vsftpd服务(默认ftp服务是没有启动的,用下面命令启动)

service vsftpd start
如果启动失败,可以先stop再start

管理vsftpd相关命令:

停止vsftpd:  service vsftpd stop
重启vsftpd:  service vsftpd restart
查看vsftpd状态: service vsftpd status

3. 设置信息

pam模块 -- 可插拔用户认证模块

/etc/pam.d/vsftpd 

	vsftpd使用PAM模块时的配置文件

	auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
	file后接的档案是【限制使用者无法使用vsftpd的意思
	
/etc/vsftpd/ftpusers

	与PAM模块里指定的无法登入的用户配置文件
	这个档案的设定很简单,你只要将『不想让他登入 FTP 的账号』写入这个档案即可。一行一个账号

用户帐号

/etc/vsftpd/user_list
这个档案是否生效与vsftpd.conf里两个参数有关,分别是 userlist_enable, userlist_deny。
/etc/vsftpd/ftpusers是PAM模块的禁止登入名单设置
/etc/vsftpd/user_list则是vsftpd自定义的名单设置,在预设的情况下,你可以将不希望登入vsftpd的帐号写入这里,不过这个文件的功能会依据vsftpd.conf配置文件内的userlist_deny=[YES/NO]不同 ?? 具体有何不同?

vsftpd.conf配件文件

listen_port=21

vsftpd使用的命令通道port,如果想要使用非正规的端口,在这里修改,不过这个设定只适合以standalone方式来启动

listen=YES (NO)

若设定为YES表示vsftpd是以standalone的方式来启动的,默认设置是NO,

pasv_enable=YES(NO)

支持数据流的被动式联机模式(passive mode),一定要设为YES

write_enable=YES (NO)

允许用户上传数据

local_enable=YES (NO)

这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以实体用户的方式 登入我们的 vsftpd 服务器喔!

userlist_enable=YES (NO)

是否藉助 vsftpd 的抵挡机制来处理某些不受欢迎的账号,与底下的参数设定有 关;

userlist_deny=YES (NO)

当 userlist_enable=YES 时才会生效的设定,若此设定值为 YES 时,则当使用 者账号被列入到某个档案时,在该档案内的使用者将无法登入 vsftpd 服务器! 该档案文件名与下列设定项目有关。

userlist_file=/etc/vsftpd/user_list

若上面 userlist_deny=YES 时,则这个档案就有用处了!在这个档案内的账号 都无法使用 vsftpd 喔!

Testing the Status of VSFTPD

You can always test whether the VSFTPD process is running by using the netstat -a command, which lists all the TCP and UDP ports on which the server is listening for traffic. This example shows the expected output:

[root@bigboy root]# netstat -a | grep ftp

[root@bigboy root]# tcp  0  0   *:ftp   *:*   LISTEN

If VSFTPD wasn’t running, there would be no output at all.

vsftpd配置主动模式和被动模式

配置文件:/etc/vsftpd/vsftpd.conf

主动模式配置方法:

#主动式连接使用的数据通道
	
	connect_from_port_20=YES

#支持数据流的被动式连接模式
	
	pasv_enable=NO

被动模式配置方法:

#主动式连接使用的数据通道
	
	connect_from_port_20=NO

pasv_enable=YES(默认为YES) #设置是否允许被动模式

	pasv_min_port=1024(default:0(use any port))
	pasv_max_port=65536(default:0(use any port))

执行命令尝试登录

ftp localhost

输入用户名ftp,密码随便(因为默认是允许匿名的)
登录成功,就代表ftp服务可用了。
但是,外网是访问不了的,所以还要继续配置。

增加用户 kk

sudo useradd -d /home/kk kk
sudo passwd kk

查看端口状态(以80为例df)

lsof -i:80 

端口

21用于TCP连接,另外一个用于数据传输
主动模式: 21 和 20
被动模式: 21 和一个大于 1024的端口

查看防火墙状态

/etc/init.d/iptables status

开启/停止防火墙

/etc/init.d/iptables start/stop

若出现 530 Login incorrect. 错误:

# 编辑文件
sudo vim /etc/pam.d/vsftpd
# 注释禁用以下内容
# auth    required pam_shells.so

登录阿里云FTP

ftp 47.94.99.92 21
name   : ftphaha 
passwd : xxxxxxx
posted @ 2017-10-31 11:28  云石海涯  阅读(277)  评论(0编辑  收藏  举报