zoukankan      html  css  js  c++  java
  • vsftp

    1 yum install vsftpd -y
    2 iptables -I INPUT 1 -p tcp --dport 20:21 -j ACCEPT
    3 service iptables save

     1 vim /etc/vsftpd/vsftpd.conf 
     1 anonymous_enable=YES       // 匿名帐户可登陆
     2 anon_root=/var/ftp/       // 匿名用户登录目录 默认为 /var/ftp/
     3 local_enable=YES         // 本地帐户可以登陆
     4 write_enable=YES         //用户通过ftp在服务器上是否有写权限
     5 local_umask=022          // 创建时默认权限。文件夹=777-umask,文件=666-umask
     6 anon_upload_enable=YES      // 允许匿名帐户上传
     7 anon_mkdir_write_enable=YES   // 允许匿名帐户创建文件夹
     8 dirmessage_enable=YES      // 是否开启 .message 文件信息描述
     9 xferlog_enable=YES        // 是否启用日志
    10 connect_from_port_20=YES    // 默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由ftp_data_port指定。
    11 ftp_data_port=20            //设置PORT方式下FTP数据连接所使用的端口,默认值为20。
    12 chown_uploads=YES         // 开启匿名帐户上传自动更改所属功能
    13 chown_username=bob        // 属主改为bob
    14 xferlog_file=/var/log/xferlog // 日志存储位置
    15 idle_session_timeout=600     //空闲会话超时时间
    16 data_connection_timeout=120   // 设置ftp 连接超时时间
    17 ascii_upload_enable=YES     //以ASCII方式上传
    18 ftpd_banner=Welcome to blah FTP service. //欢迎界面
    19 chroot_list_enable=YES      //开启用户更改根目录功能,默认为禁用更改根
    20 chroot_list_file=/etc/vsftpd.chroot_list //该文件中所有用户启用chroot
    21 anon_other_write_enable=YES   // 允许匿名帐户删除、重命名
    22 anon_root=/ftp            // 更改匿名帐户根目录,默认为"/var/ftp"
    23 local_root=/local         // 更改本地帐户根目录为/local,默认为用户主目录
    24 userlist_enable=YES        // 开启用户列表功能
    25 userlist_deny=YES         // 用户列表文件中所有帐户全拒绝。NO时,只有列表中用户能登陆
    26 deny_file={*.xxx}         //限制用户上传的文件类型
    27 userlist_file=/etc/vsftpd.user_list // 用户列表文件
    28 anon_max_rate=0           // 匿名用户最大传输速率,0为无限
    29 local_max_rate=0           // 本地用户最大传输速率,0为无限
    30 max_clients=0             // 最大客户端连接数,0为无限
    31 max_per_ip=5             //每个ip的最大客户端数目
    32 pasv_max_port=0           // 客户端端口最大限制,0为无限制
    33 pasv_min_port=0           // 客户端端口最小限制,0为无限制
    34 connect_from_port20=YES       //使用标准的20端口来连接ftp
    35 listen_address=192.168.10.14   //绑定到某个ip,其它ip不能访问
    36 anon_upload_enable=YES       // 允许上传
    37 anon_world_readable_only=YES    //允许下载
    38 anon_mkdir_write_enable=YES     //允许新建目录
    39 anon_other_write_enable=YES     //拥有其它权限
    40 local_root=/var/ftp/ziji       //用户的文件夹
    41 pasv_enable=YES //开启被动传输模式
    42 listen_port=5021 //命令通道端口,默认为21
    43 ftp_data_port=5021 //数据通道端口,默认为20

      


     

    anon_world_readable_only
     
        默认情况下,匿名用户所有上传下载,所使用的用户都是ftp用户的权限,若要上传文件,则需要ftp用户有写的权限,若要下载,则需要ftp用户有读的权限,也就是说一般情况下,ftp用户对文件有读权限就对文件有下载权限了
      文件有三种权限,文件所有人,文件所有组,文件的其他人,这个anon_world_readable_only参数意思是,当他为YES时候,文件的其他人必须有读的权限才允许下载,单单所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载,这是为安全性的一方面考虑,若为NO则只要ftp用户对文件有读权限即可下载
     

     

    1.在linux centos6.5 中 允许本地用户登录后 却不能登录解决方法
    方法一:将setenforce 设置为0
    方法二:修改布尔值
    setsebool -P ftp_home_dir on
     
    2.上传文件的方式
    bin模式 一般为一些不可编辑的文件
    ascii 模式 一般为一些可以编辑的文件
    上传命令 put 文件路径
     
    使用匿名用户是登录到/var/ftp/ 这个文件夹的,因为对这个目录没有权限,所以不能上传文件。解决方法:
    mkdir /var/ftp/ceshi //创建一个目录
    chown ftp:ftp ceshi //更改文件的所有人和所有组
    然后修改布尔值:
    setsebool -P allow_ftpd_anon_write on
    setsebool -P allow_ftpd_full_access on
     
    3.对本地用户进行chroot处理
    当只启用 chroot_local_user=YES 时,则对所有用户进行chroot处理
    当只启用 chroot_list_enable=YES 时,只对list文件用户进行chroot处理
    当同时启用这两个文件时,则除了list文件用户外,剩下的进行chroot处理
     
    4.限制用户登录方法:
    启用pam_service_name=vsftpd userlist_enable=YES
    方法一: echo 用户名 > ftpusers
    方法二: echo 用户名 > user_list
     
    5.添加虚拟用户
    ① 添加虚拟用户口令文件: touch vsftpd_login.txt
    文件里奇数行写用户名 偶数行 写密码
    ② 生成vsftpd的认证文件:使用db_load -T -t hash命令生成认证文件,“-f”命令选项设置的值是虚拟用户的口令库文件,即vsftpd_login.txt,命令的参数设置为需要生成的认证文件名vsftpd_login.db,该文件必须和口令文件放在一个文件夹下。注意:db_load 在centos6.5中自带,centos5.5总必须安装db4_utils这个软件包才支持。最好对这个文件进行权限更改
    ③建立虚拟用户所需的PAM配置文件:修改/etc/pam.d/vsftpd文件
    将默认配置全部用“#”注释在最后添加
    auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login (文件的路径可以到文件夹下面查看)
    ④建立虚拟用户所对应的本地账户:useradd -d /var/ftp/user1 user1
    ⑤在配置文件里添加 user_config_dir=用户配置文件目录
    在目录下建立虚拟用户文件 进行配置相应的权限,需要注意的是 需要启用本地用户的登录,这样虚拟用户才可以登录
     
    6.基于ip的虚拟vsftp服务
    ①添加ip地址: ip addr add 192.168.10.141/24 dev eth0 label eth0:1
    ②配置文件 cp -p ifcfg-eth0 ifcfg-eth0:1
    ③对配置文件修改 并重启网卡
    ④cp -p vsftpd.conf vsftpd2.conf 在配置文件中添加listen_address=IP地址
     
    7.给指定网段用户不同权限
    1 vim /etc/hosts.allow
    2       vsftpd 192.168.10.*:setenv VSFTPD_LAOD_CONF /etc/vsftpd/a.conf
    3 vim /etc/vsftpd/a.conf
  • 相关阅读:
    Java 过滤器的作用
    TreeView的绑定
    设计模式(一)工厂模式Factory(创建型)
    【剑指offer】员工年龄排序
    Spring3.0 AOP 具体解释
    IT行业新名词--透明手机/OCR(光学字符识别)/夹背电池
    MYSQL C API 记录
    Hibernate的介绍
    数据绑定(八)使用Binding的RelativeSource
    一、ExtJS下载使用
  • 原文地址:https://www.cnblogs.com/sangmu/p/6421516.html
Copyright © 2011-2022 走看看