• ftp安裝部署文檔


    安装ftp客户端及ftp文件传输服务器

    FTP在OSI模型的第七层,TCP模型第四层,即应用层

    包含两个通道:控制通道,端口21;数据通道,端口20

    1. 主动模式(PORT模式)
    2. 客户端对服务器发送请求,连接的是服务器的21号端口,客户端口号N是大于1024的随机端口
    3. 服务器的21端口给予客户端响应数据流
    4. 服务器打开20号端口去连接客户端的N+1的端口
    5. 客户端给予响应,数据开始传输
    6. 被动模式(PASV模式)
    7. 客户端对服务器发起的请求连接的是服务器的21号端口,客户端的端口号N是大于1024的随机端口
    8. 服务器的21号端口给予客户端响应
    9. 服务端打开大于1024的随机端口,客户端使用N+1端口去连接服务器打开的端口
    10. 服务器给予响应,数据传输

    三种远程登录的方式:匿名登录、账号登录、虚拟用户

    服务端:

    1. yum install vsftpd -y
    2. vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=YES   开启匿名

    1. /etc/init.d/vsftpd start
    2. netstat -anlpt|grep vsftpd
    3. cd /var/ftp/   站点目录
    4. mkdir test    准备测试文件
    5. echo "gaigai" >> test/text.txt
    6. ftp://192.168.1.20/test/      windows下访问
    7. yum install -y ftp            linux客户端

    ftp 192.168.1.20

    10. vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO    不允许匿名用户

    11. /etc/init.d/vsftpd restart

    12. 建立一个ftp本地系统用户,此用户不能登陆系统,且只能访问自己主目录下的文件   

    useradd -d /var/ftp/test -g ftp -s /sbin/nologin ftpuser

    -d命令是指定用户主目录,-g是指定用户分组

    1. tail -1 /etc/passwd
    2. echo 123456|passwd --stdin ftpuser
    3. mkdir -p /var/ftp/test
    4. chown -R ftpuser:root /var/ftp/test/
    5. echo chegnye > /var/ftp/test/test.txt
    6. ftp://192.168.1.20/    windos登录查看(需下载)

    虚拟用户方式:

    多个用户同时访问某一个目录,同时对同一目录下有着不同的权限

    1. mkdir /var/www/mis
    2. useradd -d /var/www/mis mis
    3. chown mis.mis /var/www/mis/
    4. vim /etc/pam.d/vsftpd   最后添加两行

    auth       required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

    account    required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

    1. vim /etc/vsftpd/vuser_passwd.txt  创建名文密码

    gaigai      用户名

    211570xcy    密码

    gaigai       用户名

    123456       密码

    1. cd /etc/vsftpd/
    2. db_load -T -t hash -f vuser_passwd.txt vuser_passwd.db 生成密码db    (没db命令的可以先yum -y install db4-utils)
    3. chmod 600 /etc/vsftpd/vuser_passwd.db
    4. mkdir vuser_conf
    5. vim vuser_conf/gaigai      # 设置虚拟用户的权限

    local_root=/var/www/mis/gaigai  指定目录

    write_enable=YES             写权限

    anon_umask=022

    anon_world_readable_only=NO

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

    1. vim vuser_conf/gaigai

    anon_world_readable_only=NO   #关闭只可读

    anon_upload_enable=YES        #允许上传

    anon_mkdir_write_enable=NO    #允许新建目录

    anon_other_write_enable=NO    #允许修改目录/文件名称,删除

    local_root=/var/ftp/www/gaigai

    1. vim /etc/vsftpd/vsftpd.conf     去注释

    anonymous_enable=NO       #禁止匿名用户

    ascii_upload_enable=YES   上传

    ascii_download_enable=YES 下载

    chroot_local_user=YES   

    #是否将所有用户限制在主目录,YES为启用 NO禁用

    最后行加入

    guest_enable=YES         #开启虚拟账户功能

    guest_username=mis       #虚拟账号映射到本地哪个用户

    pam_service_name=vsftpd #加载pam.d中哪个文件的机制

    user_config_dir=/etc/vsftpd/vuser_conf  #虚拟用户的单个权限

    1. /etc/init.d/vsftpd restart

    #是否启动限制用户的名单 YES为启用  NO禁用

    chroot_list_file=/etc/vsftpd/chroot_list 

    #是否限制在主目录下的用户名单

    chroot_local_user=YES

    chroot_local_user=NO

    chroot_list_enable=YES

    1.所有用户都被限制在其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制

    1.所有用户都不被限制其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制

    chroot_list_enable=NO

    1.所有用户都被限制在其主目录下 2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户

    1.所有用户都不被限制其主目录下 2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户

    1. touch /etc/vsftpd/chroot_list
    2. echo "gaigai is a boy" >> /var/www/mis/gaigai/a.txt
    3. echo "gaigia is a boy" >> /var/www/mis/gaigai/a.txt
    4. chmod 777 -R /var/www/mis/gaigai/
    5. chmod 777 -R /var/www/mis/gaigai/
    6. /etc/init.d/vsftpd restart
    7. setenforce 0

    配置用户可登陆名单,并将新建用户添加进入ftp可登陆名单中

    1. cd /etc/vsftpd
    2. vim vsftpd.conf

    chroot_list_enable=YES

    chroot_list_file=/etc/vsftpd/chroot_list

    1. systemctl start vsftpd
    2. netstat -anlpt|grep vsftpd
    3. systemctl stop firewalld.service
    4. systemctl status firewalld.service

    linux客户端:

    1.rpm -Uvh ftp-0.17-54.el6.x86_64.rpm  yum install -y ftp

    2.ftp

    open ip(此ip的vsftpd服务要开)

    然后输入用户名及密码

    /root/yint下运行的ftp命令,则文件都下载到了/root/yint 下

    get下载get [remote-file] [local-file]

    put上传put local-file [remote-file]

    scp /home/a.tar.tz root@192.168.0.2:/home/tmp/

  • 相关阅读:
    JS实战 · 表单验证
    JS实战 · 仿css样式选择器
    JS实战 ·  收缩菜单表单布局
    cookie自动登录的实现
    redis 3.2.5单机版安装、使用、systemctl管理Redis启动、停止、开机启动
    yum问题解决
    配置yum镜像源
    shell笔记
    CCIE总结:路由器、交换机
    云主机如何挂在磁盘
  • 原文地址:https://www.cnblogs.com/guoxiaobao/p/9479301.html
Copyright © 2020-2023  润新知