Linux中FTP服务配置管理

FTP简述:

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至 远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

一.ftp的启动

安装ftp服务之前

更改selinux配置(后边会说到),将状态改为disabled,配置文件为/etc/sysconfig/selinux重启生效!!!

配置好yum源(见前文)

yum install vsftpd				##安装vsftpd服务
systemctl start vsftpd				##启动vsftp服务
systemctl enable vsftpd				##开机自启动vsftpd服务
firewall-cmd --permanent --add-service=ftp	##设置防火墙
firewall-cmd --reload				##防火墙重新加载

安装ftp服务:

搭建ftp环境

测试:

使用一台客户机连接服务端

客户机需要提前安装lftp服务

二.ftp的基本信息

访问数据端口:21
数据传输端口:>1024随机端口

默认发布目录:  /var/ftp

访问方式
    lftp 172.25.254.100                     匿名登陆
    lftp 172.25.254.100 -u student      用户登陆

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

登陆报错原因:

500表示文件系统权限过大
530表示认证失败
550服务本身设置不允许
553服务器上文件权限过小
      基本都是selinux设置有问题

三.ftp的安全部署

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

匿名用户

anonymous_enable=YES|NO		     ##匿名用户是否可以登陆
anon_upload_enable=YES|NO            ##匿名用户可上传
anon_world_readable_only=YES|NO      ##匿名用户可下载
anon_mkdir_write_enable=YES|NO       ##匿名用户可写
anon_other_write_enable=YES|NO       ##匿名用户是否可删除和重命名
anon_root=/目录                  ##设定匿名用户家目录
anon_umask=xxx                  ##匿名用户上传文件默认权限修改
anon_max_rate=102400 (默认以k为单位)    ##最大上传速率

chown_uploads=YES|NO
chown_username=student          ##匿名用户使用的用户身份修改

1)设置匿名用户无法登录

2)设置匿名用户可以上传

3)设置匿名用户可以下载

4)匿名用户可写

5)匿名用户是否可删除和重命名

本地用户

local_root=/目录                    ##本地用户家目录修改
local_umask=xxx                    ##本地用户上传文件权限

chroot_local_user=YES
chmod u-w /home/*                  ##限制本地用户浏览/(根)目录,所有用户被锁定到自己家目录中

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list    ##用户黑名单建立

没有/etc/vsftpd/chroot_list文件时须自己建立

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list    ##用户白名单建立

1)本地用户家目录建立

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

3)限制本地用户浏览/(根)目录

四.ftp虚拟用户的设置

安装好pam服务

1.创建虚拟帐号身份

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

帐号    user1
密码    xxxxx

            user2
            xxxxx

            ............
            ............

 

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

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

account        required    pam_userdb.so    db=etc/vsftpd/account
auth               required    pam_userdb.so    db=etc/vsftpd/account

vim /etc/vsftpd/vsftpd.conf            

pam_service_name=westos         (指向/etc/pam.d/westos pam在什么地方就在pam.d下建立什么)
guest_enable=YES

2.虚拟帐号身份指定

guest_username=ftpuser
chmod u-w /home/ftpuser 
  

猜你喜欢

转载自blog.csdn.net/weixin_41179709/article/details/81505565