ftp服务

部署ftp服务器

 在服务端(虚拟机)

 vim /etc/sysconfig/selinux    ### 编辑配置文件

 /etc/sysconfig/selinux是启动或终止SElinux的主要配置文件,也可以用来设定哪些政策需要在系统上被强制执行及如何强制执行


[root@localhost ~]# reboot                  

[root@localhost ~]# getenforce                 ###查看SElinux是否关闭

Disabled

 

 

 

 

 yum install vsftpd.x86_64 -y         ####安装vsftpd


systemctl start vsftpd               ####打开vsftpd

systemctl enable vsftpd             ####允许vsftpd自启

 firewall-cmd --permanent --add-service=ftp        ###ftp设为火墙白名单

 firewall-cmd --reload                           扫描启动火墙


firewall-cmd --list-all      列出火墙启动列表

 

 

 

在客户端


 

 当客户端在 /var/ftp/建立目录xiaohe


 

服务端可显示

创立之前


创立之后


 

 Ftb服务的基本信息

软件安装包  vsftpd

默认发布目录 /var/ftb

协议接口  21/tcp

服务配置文件 /etc/vsftpd/vsftpd.conf

 匿名用户

anonymous_enable=YES|NO 匿名用户是否可以登陆





<匿名用户上传本地文件>

匿名用户上传:必须自己在/var/ftp目录下建立一个目录,如pub。再给这个目录授予某个身份的满权限,这里将ftp匿名用户的登陆身份加入到这个/var/ftp/pub目录的组里。 
write_enable=YES

anon_upload_enable=YES



如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO

 vim /etc/vsftpd/vsftpd.conf

write_enable=YES      

anon_upload_enable=YES

Chgrp ftp /var/ftp/pub

Chmod 775 /var/ftp/pub

客户端建立连接并上传本地文件



服务端的/var/ftp/pub目录查看是否成功上传



anon_root=/目录名                                   <匿名用户家目录修改>

anon_root=/westos               #匿名用户修改家目录为westos


   anon_umask=xxx                                      <匿名用户上传文件默认权限修改>

anon_umask=022                    #修改匿名用户上传权限为022



   anon_mkdir_write_enable=YES            <匿名用户建立目录>


如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。


匿名用户下载

Anon_world_readable_only=YES|NO      设定为no表示可以下载


匿名用户删除

Anon_other_write_enable=YES|NO



本地用户

local_enable=YES|NO   本地用户是否可以登陆


write_enable=YES|NO     ftb是否对登陆用户可写

本地用户家目录修改

local_root=/westos


本地用户上传文件权限

local_umask=xxx


限制本地用户浏览/目录

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

chroot_local_user=YES

chmod u-w /home/*


用户黑名单建立

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftbd/chroot_list

用户白名单建立

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

限制本地用户登陆

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

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

用户白名单设定

userlist_deny=NO

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

报错id的解析

500     文件系统权限过大

530     用户认证失败

550     服务本身功能未开放

553     本地文件系统权限过小

Ftpusers   黑名单的优先级最高

 

 

 

 

 

 

 

Ftb虚拟用户的设定(创建虚拟用户身份)

设置前注意

anonymous_enable=NO

设定不允许匿名访问

local_enable=YES

设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为 NO 那么所有虚拟用户将无法访问

write_enable=YES

设定可以进行写操作

local_umask=022

设定上传后文件的权限掩码

anon_upload_enable=NO

禁止匿名用户上传

anon_mkdir_write_enable=NO
禁止匿名用户建立目录






 vim /etc/vsftpd/westosfile          文件名可随意设置

 

设置三个虚拟用户ftbuser1,2,3     密码为123



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

生成了一个 westosfile.db 文件 (hash 码型的数据库文件)

查看已生成


 

 

[root@localhost vsftpd]# vim /etc/pam.d/westos

 

  1 account    口令 帐号是否过期

     required  必须通过,如果没有通过 ,测底否定  ,而且还要看后续模块,如果通过 ,且还要看后续模块

     pam_userdb.so    后续模块

  db=/etc/vsftpd/westosfile


  2 auth        验证是否有该帐号 

  required     必须通过,如果没有通过 ,测底否定  ,而且还要看后续模块,如果通过 ,且还要看后续模块

   pam_userdb.so  后续模块

 db=/etc/vsftpd/westosfile


 

上传文件的权限配置

设置上传之后文件的权限,有两种情况:

  1. 如果使用 vsftp 的是本地用户,则要修改配置文件中的 local_umask 的值。
  2. 如果使用 vsftp 的是虚拟用户,则要修改配置文件中的 anon_umask 的值。

Vim /etc/vsftpd/vsftpd.conf

 

pam_service_name=westos      设置 PAM 使用的名称为westos

 guest_enable=YES                    启用虚拟用户。默认值为 NO

 guest_username=ftpuser         这里用来映射虚拟用户

[root@localhost vsftpd]# chmod u-w /home/ftpuser                 

 [root@localhost pam.d]# lftp 172.25.254.236 -u ftpuser1        用虚拟用户ftpuser1 链接


 

 


如何让虚拟用户登录时在自己的目录下

 

 

 [root@localhost ~]# mkdir /vftpdir                 建立用户登录路径

[root@localhost ~]# touch /vftpdir/vftpfile        建立用户登录文件


[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf                   在配置文件里设置用户登录路径

 

129 local_root=/vftpdir            用户登录路径

 

[root@localhost ~]# systemctl restart vsftpd.service                   重启服务

[root@localhost ~]# lftp 172.25.254.236 -u ftpuser1                   



[root@localhost vftpdir]# mkdir ftpuser{1..3}           建立三个用户目录


在用户目录下建立用户文件


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

 


129 local_root=/vftpdir/$USER           $ 表示根据 user 自动登陆到相应家目录中

130 user_sub_token=$USER                     使 ftp 服务识别 $USER5. 配置虚拟用户具备独立的家目录

 [root@localhost vftpdir]# systemctl restart vsftpd.service


重启之后可连接进行查看




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值