CentOS 6 系统 FTP 安装与配置

1、安装 vsftpd 服务,并启动服务。

yum install vsftpd

/sbin/service vsftpd start   //启动vsftpd服务
/sbin/service vsftpd stop   //关闭vsftpd服务
/sbin/service vsftpd restart   //重新启动vsftpd服务
CentOS 6 系统 FTP 安装与配置

2、服务器主目录

/etc/vsftpd/vsftpd.conf   //vsftpd 服务的配置文件
more /etc/passwd|grep ftp   //查看vsftpd服务的根目录,即FTP服务的主目录

如图所示,ftp 服务器的目录在 /var/ftp 处;如果你想修改服务器目录的路径,那么你只要修改 /var/ftp 到别处就行了。

CentOS 6 系统 FTP 安装与配置

3、添加本地用户

有的 ftp 服务器需要用户名和密码才能登录,就是因为设置了 ftp 用户和权限。ftp 用户一般是不能登录系统,只能进入自己的目录中,这是为了安全考虑。

/usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftp1

使用命令“adduser”添加名为“ftp1”的用户;
“-d /opt/ftp”指用户的目录在/opt/ftp中;
“-g ftp”指用户属于组ftp;
“-s /sbin/nologin”指用户不允许登录系统。

接着输入以下代码,为刚创建完成的用户“ftp1”设置密码。

passwd ftp1
CentOS 6 系统 FTP 安装与配置

4、配置文件

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO   //禁止匿名访问
local_enable=YES   //允许本地登录
write_enable=YES   //写入权限,如需上传则改为YES
local_umask=027   //将上传文件的权限设置为:777
#anon_upload_enable=YES  //允许匿名用户上传 
#anon_mkdir_write_enable=YES   //允许匿名用户上传,建立目录
dirmessage_enable=YES   //是否显示目录说明文件
xferlog_enable=YES   //记录使用者所有上传下载信息
connect_from_port_20=YES   //确保ftp-datad 数据传送使用port 20端口
#chown_uploads=YES   //开启匿名用户上传用户映射,和下面一行一起使用
#chown_username=whoever   //将匿名用户上传的文件的用户映射为whoever用户
#xferlog_file=/var/log/xferlog   //将上传下载信息记录到/var/log/vsftpd.log中
xferlog_std_format=YES   //标准日志格式
#idle_session_timeout=600   //如果使用者600秒没有动作,则强制离线
#data_connection_timeout=120   //如果Client与Server间的数据传送在120秒内都无法传送成功,那联机会被强制剔除
#nopriv_user=ftpsecure   //指定安全用户账号,用作完全隔离和没有特权的独立用户
#async_abor_enable=YES
#ascill_upload_enable=YES
#ascill_download_enable=YES
#ftpd_banner=Welcome to blah FTP service   //ftp的欢迎信息
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_local_user=YES
#chroot_list_enable=YES   //禁固宿主目录
#chroot_list_file=/etc/vsftpd/chroot_list   //设置要禁固宿主目录的用户的配置文件
#ls_recurse_enable=YES
listen=YES   //使用standalone启动vsftpd,而不是super daemon(xinetd)控制它)
#listen_ipv6=YES
pam_service_name=vsftpd   //PAM所使用的名称
userlist_enable=YES   //为yes时,/etc/vsftpd/user_list文件中的用户将不能访问vsftpd服务器
tcp_wrappers=YES   //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)

5、检查防火墙状态

如搭建完成后,无法正常访问 ftp 服务,请检查防火墙状态。

service iptables stop   //关闭防火墙
chkconfig iptables off   //永久关闭防火墙
service iptables status   //检查防火墙运行状态

6、匿名用户上传下载

配置 /etc/vsftpd/vsftpd.conf,修改以下项目,如果没有就自行添加。

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES   //允许匿名访问
anon_upload_enable=YES   //允许匿名用户上传
anon_mkdir_write_enable=YES   //允许匿名用户上传,建立目录
anon_umask=022   //将上传文件的权限设置为:755

mkdir /var/ftp/guest   //创建文件夹,并设置权限
chmod 777 /var/ftp/guest

7、实现虚拟路径

将某个目录挂载到 ftp 服务器下供用户使用,这叫做虚拟路径。比如将目录 /home/QQ 挂载到 ftp 服务器中,供 ftp 服务器的用户使用,使用如下命令即可。

mount –-bind /home/QQ /var/ftp/pub
ls /var/ftp/pub

8、行为限制

限制链接数,以及每个 IP 最大的链接数。修改配置文件,例如 vsftp 最大支持链接数 100 个,每个 IP 能支持 5 个链接。

max_client=100
max_per=5

限制传输速度。修改配置文件,例如让匿名用户和 vsftd 上的用户 (即虚拟用户) 都以 80KB=1024*80=81920 的速度下载。

anon_max_rate=81920
local_max_rate=81920

将用户 (一般指虚拟用户) 限制在自家目录。修改配置文件,这样用户就只能访问自己家的目录了。

chroot_local_user=yes

如果只想某些用户仅能访问自己的目录,其它用户不做这个限制,那么就需要在 chroot_list 文件 (此文件一般是在 /etc/vsftpd/ 中) 中添加此用户。编辑此文件,比如将 test 用户添加到此文件中,那么将其写入即可。一般的话,一个用户占一行。

[root@localhost vsftpd]# cat chroot_list
ftpuser

9、绑定 IP 地址

绑定某个 IP 到 vsFTPd,有时候要限制某些IP访问服务器,只允许某些IP访问,例如只允许192.168.0.33访问这个FTP,同样修改配置文件。

listen_address=192.168.0.33
本文为原创文章,著作权归作者所有:来自「KOBIN 技术随笔」作者的原创作品,转载请标明出处。
CentOS 6 系统 FTP 安装与配置
https://blog.kobin.cn/blog/system/s2/350.html
(0)

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

CAPTCHAis initialing...