zoukankan      html  css  js  c++  java
  • centos7.0之vsftpd随笔

    yum install vsftpd -f安装vsftpd软件

    systemctl start vsftpd

    默认ftp目录为/var/ftp/,该文件夹下有pub文件夹

    iptables -F 防火墙默认阻止ftp,所以清空防火墙

    vi /etc/vsftpd/ftpuser和userlist这两个文件,把root那行注释掉,从而允许ftp root用户远程登录

    ftp ip 远程连接ftp

    !ls显示本地文件列表

    ls 显示ftp服务器文件列表

    lcd /dir 进入本地根目录下的dir文件夹

    mget/mput  files 获取多个文件/上传多个文件

    get/put  filename  下载/获取单个文件


    示范使用shell脚本登录操作ftp

    #!/bin/bash
    ftp -n <<!
    open 192.168.1.66
    user root 123456
    #使用二进制进行传输
    binary
    #将文件下载到本机的downloads文件夹
    lcd /root/Downloads  
    prompt
    #上传downloads下的全部文件到ftp服务器文件夹
    mput  *
    close
    bye
    !
    


    匿名用户登录:

    vi /etc/vsftpd/vsftpd.conf如果存在以下项就修改,如果没有的话就增加上去

    anonymous_enable=YES

    anon_mkdir_write_enable=YES

    anon_umask=022

    anon_other_write_enable=YES

    anon_upload_enable=YES

    保存退出

    重启服务器,远程登录,输入用户名anonymous,密码为空,即可登录


    远程登录ftp后,发现无法创建文件,是因为ftp默认路径文件夹只允许root用户写入,所以chown -Rf  ftp  /var/ftp 修改文件夹拥有者,使得ftp用户有写入的权限,如果你selinux已经关闭,那么现在重启ftp服务器即可创建文件夹。如果selinux为开启状态,那么就需要使用getseboo命令查看关于ftp的设置了,现在就把它设置一下吧,setsebool -P ftpd_full_access=on。重启服务器就可以创建文件夹了。


    本地用户模式:

    首先关闭匿名登录,vi /etc/vsftpd/vsftpd.conf,使anonymous_enable=NO,并且修改下列值local_enable=YES,local_umask=022,write_enable=YES

    重启服务器,使用root用户登录提示未授权,修改vi /etc/vsftpd/ftpuser和userlist这两个文件,把root那行注释掉,从而允许ftp root用户远程登录。如果此时selinux为关闭状态,那么你就可以随意创建删除文件了。如果selinux没有关闭,就查看getsebool关于ftp的选项,设置setsebool -P  ftpd_full_access=on   (-P 永久生效)



    虚拟用户模式:

    首先创建一个用户useradd -d /var/ftproot -s /sbin/nologin virtual

    需要更改用户文件夹权限,否则,用户登录后可能会出现权限不足的情况,chmod -Rf  755   /var/ftproot

    创建一个用户列表 vi /etc/vsftpd/vuser.list,内容如下(奇数行为用户名,偶数行为密码)

    linux

    123456

    test

    test

    user1

    123456

    将用户列表转换为数据库文件,命令为:    db_load -T -t hash -f  vuser.list   vuser.db

    查看是否转换成功,使用命令file vuser.db,成功会显示该文件为数据库文件

    接下来修改该数据库文件权限chmod  600 vuser.db

    添加验证文件vi  /etc/pam.d/vsftpd.vu  内容如下:  

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

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

    接下来还需要创建用户文件    mkdir /etc/vsftpd/users_dir

    在users_dir 文件下创建用户文件(我还没高明白为什么要这么做,我这么做了之后,用户linux还是可以创建文件夹,有哪位大神知道原因的可以指导一下不),例如linux和test,其中linux可以是空文件,用touch创建即可,另一个test可以写入以下内容

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES  

    修改配置文件 vi /etc/vsftpd/vsftpd.conf,修改或增加以下内容

    anonymous_enable=NO

    guest_enable=YES 

    guest_username=virtual

    allow_writeable_chroot=YES

    pam_service_name=vsftpd.vu 

    user_config_dir=/etc/vsftpd/users_dir  

    最后的步骤就是配置selinux,我一直懒得搞,都是setenforce 0。如果想使用semanage的话,就是吧ftpdfullaccess那个权限开放,重启服务器就可以了



    扩展tftp

    安装yum install  tftp-server tftp -y

    因为tftp是xinetd服务器来管理的,所以我们需要配置xinetd文件, vi /etc/xinetd.d/tftp   修改里面的参数disable 的值为no

    重启xinetd服务器  systemctl restart xinetd

    然而我们还需要配置防火墙,让端口通过防火墙  firewall-cmd  --permanent  --add-port=69/udp   (--permanent永久生效)

    重新载入防火墙 firewall-cmd  --reload, 然后像下面那样执行

    [root@linuxprobe ~]# echo "i love linux" > /var/lib/tftpboot/readme.txt
    [root@linuxprobe ~]# tftp 192.168.10.10
    tftp> get readme.txt
    tftp> quit
    [root@linuxprobe ~]# ls
    anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures readme.txt Videos
    Desktop Downloads Music Public Templates
    [root@linuxprobe ~]# cat readme.txt 
    i love linux 
    
  • 相关阅读:
    Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)
    库管理系统-- 后台管理开源啦,源码大放送
    .NET Core R2
    Linux gdb调试
    webpack React+ES6
    绿卡排队
    ABP分层设计
    vscode编写插件
    控制台程序的参数解析类库 CommandLine
    Net Core MVC6 RC2 启动过程分析
  • 原文地址:https://www.cnblogs.com/biaopei/p/7730686.html
Copyright © 2011-2022 走看看