Linux基础知识(FTP服务)

一、 FTP的部署

  1. 安装vsftpd
    在这里插入图片描述
    在这里插入图片描述

  2. 安装 lftp
    在这里插入图片描述
    在这里插入图片描述

  3. 开启vsftpd服务,并设置开机自启动
    在这里插入图片描述

  4. 查看火墙状态,当火墙关闭时开启火墙,并添加lftp服务到火墙白名单
    在这里插入图片描述

  5. 重新加载
    在这里插入图片描述

  6. 查看,ftp服务已经添加到火墙白名单中
    在这里插入图片描述

  7. 使用ftp访问主机(当ls有内容显示,则代表登录成功,否则表示不成功)
    在这里插入图片描述

  8. 关闭selinux
    编辑getenforce 当显示Enforcing,则代表没有关闭,需要关闭
    在这里插入图片描述
    编辑selinux配置文件
    在这里插入图片描述
    将selinux的状态改为disabled
    在这里插入图片描述
    重新启动虚拟机
    reboot
    编辑getenforce查看
    在这里插入图片描述

二、FTP服务的信息

  1. 软件安装包:vsftpd
    协议接口:21/tcp
    服务配置文件:/etc/vsftpd/vsftpd.conf
    默认发布目录:/var/ftp
  2. 报错id的解析:
    550 服务本身功能未开启
    553 本地文件系统权限过小
    530 用户认证失败
    500 文件系统权限过大

三、FTP命令运用

编辑/etc/vsftpd/vsftpd.conf 进行设置
在服务端新建一个用户,并设置密码
在这里插入图片描述

  1. 匿名用户
    anonymous_enable=YES|NO 匿名用户是否可以登陆
    编辑 vim /etc/vsftpd/vsftpd.cof
    编辑结束后重新启动服务
    在这里插入图片描述
    将YES 改成NO
    在这里插入图片描述
    测试:
    在这里插入图片描述

  2. 本地用户
    local_enable=YES|NO   本地用户是否可以登陆
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述

  3. write_enable=YES|NO   ftp是否对登陆用户可写
    在这里插入图片描述
    write_enable=YES 可写
    在这里插入图片描述
    若改为write_enable=NO,则不可写。
    测试:
    在这里插入图片描述
    在这里插入图片描述

  4. 匿名用户上传
    默认情况下,匿名用户是不能上传的
    在这里插入图片描述
    编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
    修改匿名用户目录的所有组并给组添加可写的权限
    在这里插入图片描述
    测试:
    在这里插入图片描述

  5. 匿名用户家目录修改
    anon_root=/目录
    新建一个目录/off
    在这里插入图片描述
    添加anon_root=/off
    在这里插入图片描述
    测试:
    在这里插入图片描述

  6. 匿名用户上传文件默认权限的修改
    anon_umask=xxx
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述

  7. 匿名用户建立目录
    anon_mkdir_write_enable=YES|NO
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述

  8. 匿名用户下载
    anon_world_readable_only=YES|NO NO表示匿名用户可以下载YES表示不可以下载
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述

  9. 匿名用户删除
    anon_other_write_enable=YES|NO
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述
    在这里插入图片描述

  10. 匿名用户使用的用户身份和权限的修改
    编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述

  11. 最大上传速率
    anon_max_rate=102400
    截取文件
    在这里插入图片描述
    编辑配置文件
    在这里插入图片描述
    添加(最大上传速率为102400)
    在这里插入图片描述
    测试:上传速率很慢
    在这里插入图片描述

  12. 最大链接数
    max_clients=2 表示最多有2个可以连接
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述

  13. 本地用户家目录修改
    local root=/directory
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述

  14. 本地用户上传文件权限
    local umask=xxx
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述

  15. 限制本地用户登陆
    vim  /etc/vsftpd/ftpusers   用户永久黑名单
    在这里插入图片描述
    测试:无法登录
    在这里插入图片描述

  16. 特殊情况下用户白名单设定
    在这里插入图片描述
    在这里插入图片描述
    编辑该文件
    在这里插入图片描述
    在这个文件内并且不在 /etc/vsftpd/ftpusers 文件内的用户为可登陆用户
    在这里插入图片描述
    测试:
    在这里插入图片描述

四、FTP虚拟用户的管理

一、ftp建立虚拟用户
建立虚拟用户的原因: 因为系统用户登陆ftp服务,同时也可以登陆系统,这样很不安全,所以我们要建立ftp虚拟用户,使这些用户只能登陆ftp

  1. 建立方式:
    vim /etc/vsftpd/loginusers
    在这里插入图片描述
    写入
    westos1 用户
    123 密码
    westos2 用户
    123 密码
    westos3 用户
    123 密码
    退出
    在这里插入图片描述
    注意:编辑的时候不要有空格
  2. 对文件进行hash加密
    执行 db_load -T -t hash -f loginusers loginusers.db
    在这里插入图片描述
  3. 编辑文件(验证密码与用户是否一致的文件) 文件名称任意
    vim /etc/pam.d/ftpauth
    在这里插入图片描述
    写入
    account required pam_userdb.so db=/etc/vsftpd/loginusers
    auth required pam_userdb.so db=/etc/vsftpd/loginusers
    退出
    在这里插入图片描述
  4. 编辑配置文件 vim /etc/vsftpd/vsftpd.conf退出后重新启动服务
    在这里插入图片描述
    修改 pam_service_name=ftpauth
    添加 guest_enable=YES
    在这里插入图片描述
  5. 在另一台主机进行测试:可以看到虚拟用户创建成功,可以登录
    在这里插入图片描述
  6. 创建虚拟用户后,本地用户就不能正常登陆了,但是仍然可以指定本地用户身份登陆
    再次编辑配置文件vim /etc/vsftpd/vsftpd.conf
    在这里插入图片描述
    添加guest_username=tom退出tom用户必须存在
    在这里插入图片描述
    查看tom用户家目录下的东西,如果虚拟用户登录时可以看到以下文件,则证明虚拟用户登录身份修改成功
    在这里插入图片描述
    cd /home/
    执行 chmod 555 tom/减小权限
    在这里插入图片描述
  7. 在另一台主机测试:
    在这里插入图片描述

二、虚拟用户独立家目录设置

  1. 首先在这三个家目录中分别建立文件
    mkdir -p /ftphome/westos{1…3}
    mkdir -p /ftphome/westos1/westos1date
    mkdir -p /ftphome/westos2/westos2date
    mkdir -p /ftphome/westos3/westos3date
    在这里插入图片描述

  2. 编辑配置文件vim /etc/vsftpd/vsftpd.conf退出后重新启动服务
    在这里插入图片描述
    添加:
    在这里插入图片描述
    注意:
    $ USER 相当于c语言中的变量,给不同的值,输出不同的值
    user_sub_token=$ USER (将shell中$USER的用法移到ftp服务中来用)
    重新启动服务systemctl restart vsftpd
    给该文件满权限chmod 777 /ftphome/westos*/*
    在这里插入图片描述

  3. 在令外一台主机测试:
    在这里插入图片描述

三、虚拟用户权限单独设置
原理:虚拟用户使用的是匿名用户的参数控制,如果我们想让不同的虚拟用户有不同的权利,就必须给每个虚拟用户设置自己的次配置文件。

  1. 首先建立虚拟用户的次目录和次配置文件
    mkdir /etc/vsftpd/user_conf
    touch /etc/vsftpd/user_conf/westos1
    在这里插入图片描述
  2. 编辑次配置文件 vim /etc/vsftpd/user_conf/westos1
    在这里插入图片描述
    写入允许虚拟用户执行的动作anon_upload_enable=YES退出保存(注意:虚拟用户的上传参数为NO,或默认)
    在这里插入图片描述
  3. 编辑配置文件vim /etc/vsftpd/vsftpd.conf
    在这里插入图片描述
    写入user_config_dir=/etc/vsftpd/user_conf
    在这里插入图片描述
    重新启动服务systemctl restart vsftpd
    在这里插入图片描述
  4. 在另一台主机测试:
    虚拟用户westos1可以实现上传功能,而westos2和westos3不行
    在这里插入图片描述
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/excellent_L/article/details/83594430
今日推荐