ftp服务

一、ftp:文件传输协议
匿名用户默认的登陆目录为/var/pub/
本地用户默认的登陆目录为/home。家目录
服务端安装vstftp服务和lftp服务,客户端安装lftp服务
yum install vsftpd lftp -y    
systemctl  start vsftpd     打开服务

systemctl  enable vsftpd    开机启动服务


vstftp用于服务端
lftp用于客户端
打开防火墙:systemctl start firewalld
firewall-cmd --get-services 查看防火墙可以允许的服务
 firewall-cmd --permanent --add-service=ftp      给防火墙加ftp

firewall-cmd --reload      更改防火墙加载

firewall-cmd --list-all    查看防火状态


在客户端lftp 服务端ip                        连接服务端查看能否连接成功

二、vsftpd配置文件的修改

vim /etc/vsftpd/vsftpd.conf(更改后需要重置服务)

12 anonymous_enable=YES|NO          是否允许匿名用户连接(更改为NO后尝试用客户端登陆)
 

 16 local_enable=YES|NO               是否允许本地用户连接(更改为NO后本地用户无法登陆)


 19 #write_enable=NO              是否允许本地用户读写

 20 write_enable=YES


 29 anon_upload_enable=YES        是否允许匿名用户上传(修改完,上传时会有553报错,提示目录权限太小,需要修改目录权限和所属组)


 33 #anon_mkdir_write_enable=YES      是否允许匿名用户可以新建目录
 34 anon_mkdir_write_enable=YES

 35 anon_other_write_enable=YES       是否允许匿名用户删除


 36 anon_world_readable_only=NO          是否允许匿名用户下载不属于自己的文件,默认YES不允许,如果需要改为NO
 50 chown_uploads=YES                匿名用户使用的用户身份修改

 51 chown_username=westos            修改为student


 52 anon_max_rate=102400             允许匿名用户上传的速度
 53 max_clients=2                    允许同时连接的用户数

 54 anon_root=/westos                设定匿名用户的家目录


 23 local_umask=077             修改本地用户创建文件的mask值
 21 local_root=/westos               设定本地用户的家目录
106 chroot_local_user=NO         是否用户访问上层目录,默认为NO,改为YES的话表示不允许所有本地用户访问上层目录
107 chroot_list_enable=YES           开启这一行表示开启白名单,所有本地用户将不能访问上层目录
108 # (default follows)
109 chroot_list_file=/etc/vsftpd/chroot_list   白名单所在目录
用户登陆的黑白名单
ls /etc/vsftpd/
ftpusers                本地用户永久黑名单
user_list                  本地用户临时黑名单,当修改配置文件后会变成白名单
131 pam_service_name=vsftpd
132 userlist_enable=YES
133 userlist_deny=NO                    加入这条参数后临时黑名单将变成白名单
134 tcp_wrappers=YES

三、虚拟用户的建立

    1  cd /etc/vsftpd/

    2  vim users                                   在/etc/vsftpd/下面新建一个文件user,user里包含需要建立的虚拟用户的名称和密码



    3  db_load -T -t hash -f users users.db             将这个文件加密曾db文件


    4  cd /etc/pam.d/                    ftp配置文件的默认认证方式为pam方式,在此文件下查看该认证方式的规则


    5  vim vsftpd                        系统认证文件


    6  vim usercheck                    我们自己编写一个认证文件在/etc/oam.d/中
####account         required        pam_userdb.so   db=/etc/vsftpd/users#####    

####auth            required        pam_userdb.so   db=/etc/vsftpd/users#####  


             认证文件规则

    7  vim /etc/vsftpd/vsftpd.conf                      修改配置文件      

         

    8  systemctl restart vsftpd.service                 重启服务

虚拟用户家目录分别指定

131 pam_service_name=usercheck                指定pam认证的文件
132 guest_enable=YES
133 guest_username=westos                虚拟用户登陆位置
134 userlist_enable=YES
135 local_root=/var/ftpdir/$USER            指定每个虚拟用户登陆所在目录为单独的属于自己的目录(需要给虚拟用户建立目录mkdir /var/ftpdir/user1 -p)
136 user_sub_token=$USER                                告诉配置文件规则
137 #userlist_deny=NO
138 tcp_wrappers=YES
设置虚拟用户权限
####在配置文件中修改
129 pam_service_name=usercheck
130 guest_enable=YES
131 guest_username=westos
132 userlist_enable=YES
133 local_root=/var/ftpdir/$USER
134 user_sub_token=$USER
135 user_config_dir=/etc/vsftpd/user_conf        虚拟用户权限配置文件在/etc/vsftpd/user_conf目录下
136 #userlist_deny=NO
137 tcp_wrappers=YES
在/etc/vsftpd/user_conf目录下vim一个user1文件。里面给到上传权限anon_upload_enable=YES
关闭配置文件中给匿名用户的读写执行权限

修改匿名用户目录的权限为775,修改所在组为ftp

测试



4.虚拟用户分开管理(VIP)

     将匿名用户所有的权限关闭

     修改配置文件,给指定虚拟用户特殊权限

     user_config_dir=/etc/vsftpd/user_conf              ##user_conf 目录中的文件相当于“VIP名单”

     在/etc/vsftpd/user_conf目录下建立文件,以虚拟用户名命名

  

     修改虚拟用户登陆家目录权限

     chmod   755   /var/ftpdir/test1/test1dir              ##家目录权限改为755

     更改虚拟用户登陆家目录组

     chgrp   student   /var/ftpdir/test2/test2dir           ##家目录指定组为student


猜你喜欢

转载自blog.csdn.net/weixin_41789003/article/details/80056918