码迷,mamicode.com
首页 > 其他好文 > 详细

ftp服务

时间:2017-08-06 19:20:22      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:ftp   服务   

1.ftp工作原理

       FTP是一个客户机/服务系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机

2.安装ftp服务

yum install vsftpd  -y              ##安装服务

技术分享

systemctl start vsftpd              ##启动服务

systemctl enable vsftpd             ##开机自动启动

setenforce 0                        ##关闭selinux或者设置selinux不然会对试验造成影响

lftp ip                             ##能登陆并且显示,表示安装成功

vsftpd文件信息

/var/ftp                            ##默认发布目录

/etc/vsftpd                         ##配置目录

配置火墙策略

farewall-config                      ##使用图形界面配置

 @@配置的步骤为:先选中permannent,勾上ftp,点击options,选择reload完成配置

 

技术分享

技术分享

查看火墙是否配置成功

技术分享

改selinux的状态为disabled,因为selinux是内核级的加强型防火墙,如果他处于强制状态,系统很多功能将不被允许。

技术分享

@@更改完以后一定要记得重启,因为它是内核级的,必须重启才能重新加载

 vsftpd服务的配置参数

1)匿名用户设定

anonymous_enable=YES|NO                ##匿名用户登陆限制,设置为NO时匿名不能登录

 技术分享

2)匿名用户上传

vim /etc/vsftpd/vsftpd.conf

write_enable=YES                       ##设为YES匿名用户可以上传技术分享anon_upload_enable=YES

chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub                 ##修改权限

 

3)匿名用户家目录修改

anon_root=/direcotry                   ##修改以后,登陆进入以后都在修改的家目录下

 技术分享

技术分享

在westos下建立三个目录

技术分享

lftp连接以后,使用ls命令会看到刚刚创建的三个目录

 

4)匿名用户上传文件默认权限修改

anon_umask=xxx

 技术分享

@@设置完以后,lftp 172.25.254.150连接上主机,进入pub/目录下,使用put命令上传/etc/passwd,就会显示出上传结果

5)匿名用户建立目录

anon_mkdir_write_enable=YES|NO          ##设置为YES表示可以建立

技术分享

@@lftp 172.25.254.150连接上主机,进入pub/目录下,mkdir westos,结果显示mkdir ok

 

6)匿名用户下载

anon_world_readable_only=YES|NO         ##设定参数值为no表示匿名用户可以下载

 技术分享

@@lftp 172.25.254.150连接上主机,进入pub/目录下,使用get命令,get passwd会立马显示下载情况

7)匿名用户删除

anon_other_write_enable=YES|NO            ##设置为YES表示可以删除

技术分享

@@lftp 172.25.254.150连接上主机,进入pub/目录下,rm passwd,会出现rm ok,passwd就被删除了

 

8)匿名用户使用的用户身份修改

chown_uploads=YES

chown_username=student

技术分享

 

 @@lftp 172.25.254.150连接上主机,进入pub/目录下,put /etc/passwd,然后执行ll /var/ftp/pub/,会看到passwd用户变成了student

9)最大上传速率

anon_max_rate=102400                     ##单位为kb,102400表示100M

 

10)最大链接数

max_clients=2                             ##最多允许两台主机接入

 

11)本地用户设定

local_enable=YES|NO                        ##本地用户登陆限制

write_enable=YES|NO                        ##本地用户写权限限制

 技术分享

@@本地用户lftp 172.25.254.150连接上主机,使用ls命令,会出现x秒后重新连接,也就是本地用户也无法登录主机了

 

12)本地用户上传文件权限

local_umask=xxx

@@系统默认umask=022,修改umask=002,本地用户的权限将变为664

 

13)限制本地用户浏览/目录

所有用户被锁定到自己的家目录中

chroot_local_user=YES                       ##设置为YES将被锁在家目录下

chmod u-w /home/*

 @@lftp 172.25.254.150连接上主机,执行ls,看到的是自己的家目录,cd /,再次执行ls,依然自己能看到自己的家目录

 

14)用户黑名单建立

chroot_local_user=NO                        ##无法浏览

chroot_list_enable=YES                      ##启用名单

chroot_list_file=/etc/vsftpd/chroot_list    ##写入名单的用户无法浏览

 

15)用户白名单建立

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list    ##用户白名单建立后,只有在名单中出现的用户才能登录ftp

技术分享

##注意:白名单的权限更大,会覆盖黑名单,一旦设置,只有出现在白名单的用户才能够登录ftp,即使一个用户它不仅在白名单,也在黑名单,他依然能登录

 

 

限制本地用户登陆

vim /etc/vsftpd/ftpusers                     ##用户黑名单

vim /etc/vsftpd/user_list                    ##用户临时黑名单

添加westos用户到/etc/vsftpd/ftpusers 

技术分享

@@lftp 172.25.254.150 -u westos,会出现login failed,登录失败

 

用户白名单设定

userlist_deny=NO

/etc/vsftpd/user_list                        ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

添加westos用户到白名单中

 技术分享

@@westos用户同时在两个名单中,但是westos用户可以登录,这就说明了白名单权限大于黑名单,不在白名单的用户都登陆不了

ftp虚拟用户的设定

(创建虚拟帐号身份)

vim /etc/vsftpd/xxx                           ##文件名称任意

ftpuser1                                      ##用户名

123                                           ##密码

ftpuser2

123

ftpuser3

123

 

db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db

                                               ##hash加密

技术分享

vim /etc/pam.d/xxx                             ##文件名称任意

技术分享

@@第一行是检测是否有这个用户,第二行检测密码是否匹配

accountrequiredpam_userdb.sodb=/etc/vsftpd/loginusers

authrequiredpam_userdb.sodb=/etc/vsftpd/loginusers

 

vim /etc/vsftpd/vsftpd.conf

pam_service_name=ckvsftpd

guest_enable=YES

 

虚拟帐号身份指定)

guest_username=ftpuser

chmod u-w /home/ftpuser

 技术分享

##必须指定为已经存在可以登录的用户

虚拟帐号家目录独立设定

vim /etc/vsftpd/vsftpd.conf

local_root=/ftpuserhome/$USER

user_sub_token=$USER

 

mkdir /ftpuserhome

chgrp ftpuser /ftpuserhome

chmod g+s /ftpuserhome

mkdir /ftpuserhome/ftpuser{1..3}

技术分享

 

 

虚拟帐号配置独立)

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/userconf

mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/ftpuser1

技术分享

@@这里设置的用户是ftpuser{1..3},因此可以使用¥USER,我第一次实验时设置的为nice,good,clever三个用户,那么他们独立配置就和这个不同了,只需将$USER改为你的用户就可以了,格式为local_root=/vuserdir/nice\user_sub_token=nice,记住,三个都要写,否则他们进去都会在第三个里面

 

ftp服务

标签:ftp   服务   

原文地址:http://12971521.blog.51cto.com/12961521/1953984

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!